On synchronous use and filtering styles

One feature I've considered trying to embed in juice is the ability to filter and replace some of the style tags. For example taking all <style type="text/less"> tags, compiling them with less, and updating the content and type of the tag. Or filtering css through PostCSS.
Initially I thought it would be as simple as a patch like this. Which should work. But only for synchronous things, which is a problem since some notable css transpilers like less are async.
This brought up some more issues/points that merit discussion:

In some situations like an @import in LESS that was included through a <link> rather than an inline <style> tag the transpiler should know the original filename. This can be fixed either with another internal data- tag or by doing the filtering in web-resource-inliner (however the latter would mean filters cannot be applied to <style> tags, implementation would also be messier).
Is there still value in keeping the sync/async hybrid approach in juice if it makes the internal code more complex?
Rather than a styleFilter function, perhaps a plugin archatecture similar to what babel, broserify, and other packages have would be better. So pulgins can be written for things like less and sass.

Thoughts?

In the most basic implementation, I think that LESS and others could be handled in the methods that also use web-resource-inliner. The other method signatures are basically for content that is ready to be directly inlined from the <style> contents into the document.
Since it is really web-resource-inliner that is handling pulling in stylsheets and making all the transforms outside just inlining CSS, I think handling external LESS docs probably belongs on web-resource-inliner instead of directly on Juice. The process of pulling in those resources happens in web-resource-inliner, juice doesn't look at particular external resources itself.
The processing/filtering of non-css <style> tag contents also seems useful, but it would be better to see that as an external dependency that just does a round of preprocessing on the <style> tags before Juice inlines the CSS. That could be used from within Juice similarly to how web-resource-inliner works I suppose, where the config just gets passed along.
A plugin architecture seems like an appropriate solution for attaching processors to files that are being pulled in and for transforming <style> content.

I understand the difference between sync and async methods in what would be inlined. The difficulty in implementing it in juice was that getStylesData is where the processing is done and it's a sync function. From that point to continue the hybrid approach of sync and async methods it's conceivable that a bunch of the internal methods might need to be duplicated to cover sync and async separately.
Doing it in web-resource-inliner (WRI) would be alright. The access to file context is better there. It would be a little disappointing not being able to <style type="text/less">...</style> but understandable.
The caveat is that there's a messy level of difficulty in doing it in WRI. Juice uses cheerio and so passing off an attributes object to a filter function or plugin and then manipulating parts of the element is easy. But WRI uses regular expressions to "parse" out the tags that need to be modified and does string replacements.
Either each of tag's attributes needs to be custom parsed in WRI so attribute data can be provided. Or WRI would need to be rewritten to use cheerio as well.

I was more suggesting doing the processing of any LESS, etc. before anything gets to getStylesData, so that shouldn't need to change. So as an example transform pipeline:
WRI -> LESS and other transfoms -> Juice inlining with get StylesData
This assumes WRI will inline LESS which I don't remember at the moment, but would be a simple change if it doesn't. Using this approach, you could make a new npm module to handle the  LESS and transforms, which could be useful on its own and would easily plug into Juice, similar to WRI. The 2nd stage could simply transform LESS or whatever in-place to CSS.
Sorry about my earlier explanation being unclear.
Do you think that would work?

Yeah, that idea might work.

On second pass of that idea. The transforms in that pipeline run after WRI has turned <link> into <style>. So we still need a way to keep filename information for the transforms.
I actually ran into this exact problem in my workaround to this issue. My workaround was to run WRI myself, create my own cheerio document, do my processing on the nodes in that document, then juice.juiceDocument the cheerio document and return the html.
But since WRI already inlined the <link> tags I have no context of where the styles were sourced from and I cannot set the correct paths option for less to allow the correct imports. I also cannot eaily pre-process those <link> tags with cheerio because WRI expects a string. So my workarounds are either regular expressions or the performance hit of parsing html and turning it back to text twice.
To handle this need for context in that pipeline which of these options do you like?

A data-filename (or other name) attribute (perhaps using resolved filenames if non-urls are used; since I'm not sure if the pipelines would know the right relative context)
data-link-* attributes for any attribute that WRI removes from a <link>, meaning the dropped href would become data-link-href. (May need to pass some of WRI's context data to the pipeline, but that's just relativeTo rather than context for each individual link)
A pre-WRI part of the pipeline "Pre-WRI transforms -> WRI -> Post-WRI transforms -> Juice inlining". Plugins like less that really need info from the  could mess with things here. The caveat is this might be a bit of a mess when multiple plugins are basically trying to add pre-WRI transforms all to do the exact same thing. (This one requires WRI to use cheerio)

Another option would be that WRI support transforming content in it's processing. That could maybe work by supplying a map of file types or content types to transforms. So, if WRI finds a *.less file or a tag with a type of text/less and has been configured with transforms then it will run the transform either before inserting the CSS into the document <style> (or transformed JS into <script>) or as a replacement when defined by the content type. That should I think make it unnecessary to track the prior states using attributes.
So that pipeline would then be
WRI [ run transforms internally ] -> Juice inlining with get StylesData
That would have the benefit then of WRI doing more of what it should be doing, which is inlining content in-place into HTML docs, and Juice continuing to focus on taking CSS and inlining it into <style> tags. It seems cleaner to me.
Some psuedo config for WRI might be like this, though this likely needs some more thought to get the details of this right.
transforms: [
  {
    extensions: [ "less" ]
    types: [ "text/less" ],
    transforms: ( doc, done ) => require( "less" ).render( doc, (e, output) => done( e, output.css ) )
  },
  ...
]

transforms in the above is just a function, so at long as the final callback includes the end result, you can do whatever you want. I have not fully through through what doc is here, maybe the file path and contents are properties? WRI may need to be changed a bit to accommodate all this, but if that requires breaking changes and a new major release, that could be ok. WRI could potentially have some transform presets as well so users don't have to always figure out how to write the LESS transform.
Is this something you'd considered or see problems with? Thanks for thinking through this with me.

@dantman I was wondering if you are working on this. I've been thinking about a 2.0 to change some of the weird default values but if this was to require any breaking changes I'd like to fit them into the same release.

@jrit No, I've been making due with my workaround.

WRI has a linkTransform and scriptTransform on it now, which should be able to handle transforming LESS files and other such things. Hope that is enough to close this without really missing anything.


Every time I restart Touchdesigner, Mediapipe becomes unusable and an error message appears.

I am using Windows 11, and Touchdesigner is 202411280. Every time I restart TD, Mediapipe will not work and report an error. I need to reload a plug-in to use it normally. And I want to enter mediapipe to see what the error is, but there is nothing in it.

@Alexxxxxi Hey this issue only shows up when you try to open the project while you're still inside the .zip folder. Make sure you extract the content and then open the project


Manage rule approval requirements for tape sites

Fixes #10104
Status
not-tested
Description
Adds requireApproval method to Rucio wrapper. This method returns whether a site needs rule approval according to site attributes. RucioInjector this new method during the container rule creation process to add the --ask-approval flag to according to site needs.
Is it backward compatible (if not, which system it affects?)
YES
Related PRs
Builds upon #10006
External dependencies / deployment changes

@amaltaro Is there a problem with automatic testing?

Those RSEs don't exist in the Rucio Integration server, yet. You need to append _Test to them...
Review is coming soon.

@amaltaro I think I have addressed your concerns. Also, I tested this with Tier0 agent and seems ti be working as expected. I think this is ready to be merged. Do you (or @todor-ivanov ) have additional comments?


Sink is clearing destination when using If-Modified-Since and 304 response

Hi,
I'm using guzzle to conditionally download files by sending the If-Modified-Since header with the local modification time of the file.
The server is answering 304 (without body) when the file has not been changed. In this case, it seems that the destination file of the sink option is wiped out.
I find this quite surprising.
I guess I can work around this by using on_headers and reject the request in case of 304, but it feels strange.
Super minimal reproduction:
$client = new Client();
$client->get(
  $url,
  [
    'file' => '/tmp/file.txt',
    'headers' => [
      'If-Modified-Since' => 'Thu, 30 Mar 2017 01:35:35 GMT'
    ]
);

Thanks!

Well, to be honest, it's quite logical to me: the body of the response (which is empty) gets written to the sink.
I am not sure at the moment if this should be considered as a bug or a potential feature.
I would like to minimize the builtin logic inside Guzzle, because this kind of change would affect the handlers themselves. I'll do some investigation.

@sagikazarmark
Hi sagikazarmark,
I get the similar problem too.
// get a empty file if return 304 response
(new GuzzleHttp\Client)->get('http://example.com', [
    'headers' => [
          'If-None-Match' => 'ETag',
      ],
      'sink' => 'path/saveTo',
 ]);

so, I modify the code to reach my aim.
$response = (new GuzzleHttp\Client)->get($url, [
    'headers' => [
        'If-None-Match' => 'ETag',
    ],
]);

if ($response->getStatusCode() === 304) {
    // do not write
} elseif ($response->getStatusCode() === 200 && $response->getBody()->getSize() > 0) {
    file_put_contents('path/saveTo', $response->getBody()->getContents(), LOCK_EX);
}

Ran into this too. Personally I find it a bug.

It's expected behaviour. You can not sink empty body to the file and work on the file later.
Sinking to file means give me the file I want to download without checking if it's modified.

If it's expected behaviour, please mention it in the readme.


Resolve clippy warnings and use correct types in bindings

bindings were using i8 instead of c_char for C string pointers, but the types are defined as c_char in libkrun.
There were a lot of unnecessary casts from i8 to c_char according to clippy because on x86_64 they are the same type.
(The casts were necessary on ARM, because c_char is unsigned on ARM).

LGTM, thanks!


fix: for Zig-0.11.0+dev3859, Cast directives accept one argument

As of Zig 0.11.0+dev3859, since zig: #16163 has been merged, @Cast directives take one argument. I made the changes sort of naïvely, by running zig fmt and then manually deleting things from @alignCast to make the compiler happy. For the tests I had to include an @as directive.

Thanks for working on this! Looks like there is one small issue causing the tests to fail.
It also looks like some of the @as() calls could be removed (or replaced with : Type syntax), but I can do that later


rename an Animat

on modeller, we want to change the animat name

addressed  by https://github.com/ReMobidyc/ReMobidyc/pull/71


Options which have category Diagnostics.Advanced_Options do not work with --init

TypeScript Version:  2.7.2
Code
tsc.js --init --declaration --declarationDir lib

Expected behavior:
tsconfig.json
 "compilerOptions": {
     ...
    "declaration": true,
    "declarationDir": "lib",
    ...
 }

Actual behavior:
tsconfig.json
 "compilerOptions": {
    ...
    "declaration": true
    ...
 }

declarationDir - has category Diagnostics.Advanced_Options

@mhegazy thank you so much for your assistance!


added some missing files extensions

also found .po, .pot and Caddyfile doesn't have icons but I don"t know if seti have them
don't merge before my next commit pls, I'll add 3d models using the same icon as svg maybe with another color

@wyze this PR is ready ;) you object about what i've done

Why is PHP purple? shouldn't it be blue ? (the same blue as Dockerfile I think)

The icons here just mirror what is in the original theme: https://github.com/jesseweed/seti-ui
If you'd like to get these added, I suggest making the request there and then it will get published in this package.

created PR on seti for the original modifications of this one (https://github.com/jesseweed/seti-ui/pull/497)

you can already merge this on I'll create a second one when seti-ui merge the one there


Feature: Selective version filtering for helm-update

Command

[ ] check-image-updates
[ ] delete
[ ] deploy
[ ] diff
[ ] helm-pull
[X] helm-update
[ ] list-images
[ ] list-targets
[ ] poke-images
[ ] prune
[ ] render
[ ] seal
[ ] validate
[ ] version

Who are you?
DevOps Engineer
What do you want to do?
Similar to how I can dynamically pull updates for images with complex filtering / semver requirements, I'd like to be able to do the same for Helm chart versions. EG, I can do the following to pull the latest Elastic Logstash 8.x image:
image: {{ images.get_image('docker.elastic.co/logstash/logstash', version.regex('8\.\d+\.\d+')) }}

I'd like to be able to do something similar for Helm charts. EG (hypothetical example, not currently supported):
helmChart:
  repo: https://charts.bitnami.com/bitnami
  chartName: postgresql
  chartVersion: charts.get_chart(version.regex('11\.\d+\.\d+'))
  releaseName: psql
  output: chart-rendered.yaml

In the case above, it already knows the repo and chartname from the other values in the helm-chart.yaml, charts.get_chart would return just the version (11.9.13 in this case). This actually leads into something I'd like to see from images.get_image and would help unify these two features; there are times when I'd like images.get_image to give me just the tag of the image (EG, 8.5.1) instead of the full image location (docker.elastic.co/logstash/logstash:8.5.1).
Why do you need that?
This is related to an issue discussed in a comment on another ticker -- https://github.com/kluctl/kluctl/issues/26#issuecomment-1298244432
In the case of the PostgreSQL example above, there's a 12.x.x version of the chart, but it upgrades PostgreSQL from 14.x.x to 15.x.x which requires a manual data migration -- not something I want to happen right now, but I still want to keep upgrading along the latest 11.x.x charts.

It's not just helm, it's Semantic Versioning, it has many aspects such as alpha/beta versions and metadata/patch-version, different seletors.
Also, as I said in other thread - your implementation of pulling already supports the specification, check:
`
[tw@arch-ng klu]$ kluctl helm-pull
✓ Your kluctl version is up-to-date
✓ klu/umbrella/frontend: Pulling Chart aplan with version ~2
[tw@arch-ng klu]$ cat umbrella/frontend/charts/aplan/Chart.yaml | grep version
version: 8.15.*
version: 2.6.1+build.356
[tw@arch-ng klu]$ kluctl helm-pull
✓ Your kluctl version is up-to-date
✓ klu/umbrella/frontend: Pulling Chart aplan with version ~2.4
[tw@arch-ng klu]$ cat umbrella/frontend/charts/aplan/Chart.yaml | grep version
version: 8.15.*
version: 2.4.0+build.350
[tw@arch-ng klu]$ kluctl helm-pull
✓ Your kluctl version is up-to-date
✓ klu/umbrella/frontend: Pulling Chart aplan with version <=2.5
[tw@arch-ng klu]$ cat umbrella/frontend/charts/aplan/Chart.yaml | grep version
version: 8.15.*
version: 2.5.0+build.353
but it can't be deployedrendering helm chart aplan for release frontend has failed: pre-pulled Helm Chart aplan need to be pulled (call 'kluctl helm-pull'). Desired version is <=2.5 while pre-pulled version is 2.5.0+build.353`.

Reproduce a alpha/beta/rc (with dash) versions is hard for me now, but this feature is also important.


Skill Tree Generator Broken

I know you're super busy, and I doubt many people use this feature, but the skill tree generator is broken in several ways. I'm sure it's tempting to remove it, but for those of us that use it, it's awesome to find optimal and overlooked pathing routes.
Firstly, and probably most importantly, it returns invalid trees. It seems to do this the majority of times, at least if you add multiple points to path to.

Secondly, it doesn't respect the 'current tree as initial solution' option.
Thirdly, if you try to open the generator after you've already generated a skill it says that the window is already open, preventing you from running it again or tweaking results / weights.

Are you using any attribute or pseudo attribute constraints? If no, this is a known bug but not really relevant because using "Skill Tagged Nodes" does exactly the same thing and doesn't have that bug.
I will look into that.
That bug is fixed, the fix is just not yet released.

For 1, no I wasn't. Good to know there's an alternative, and thanks for the quick response.

I'm sure it's tempting to remove it
Not gonna happen, both brather1ing and me joined this project specifically to create it :)

For 2, it does work from what I can see. It may not work in combination with 1, as those invalid tree may influence it.
As 1 is neither easy to fix nor really relevant, I'll close this. It has to be fixed at some point anyway, as it is caused by the interaction of the reductions (that are currently not used when constraints are present) and the final hill climbing step (which is not used when no constraints are present).
If I'm mistaken and you do find a situation where 2 occurs, feel free to reopen this.


Improve User Guide

Codecov Report

Merging #236 (ebcb08a) into master (f0b541d) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #236   +/-   ##
=========================================
  Coverage     33.84%   33.84%
  Complexity      400      400
=========================================
  Files           141      141
  Lines          2907     2907
  Branches        340      340
=========================================
  Hits            984      984
  Misses         1869     1869
  Partials         54       54

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 f0b541d...ebcb08a. Read the comment docs.


Present plugin's stderr user.

Command
e.g. cf myplugin somethig-that-doesnt-work
CLI Version
6.21.0+dff2cf8-2016-07-27
Error
Command does not output stderr message myplugin
Platform Details
e.g. Mac OS X 10.11.6
Shell
iTerm 2

Hi @squeedee
Would you mind trying it out with the latest to see if the issue is resolved?
Cheers,
Dies Koper
CF CLI PM

Thanks again for bringing this up. We have addressed it in the current release.
https://github.com/cloudfoundry/cli#downloads
Cheers,
Dies Koper
CF CLI PM


Enable to set ports to be opened as inputs

Hi,
Would it be possible to specify a port range as well?
Best regards,
Sebastian

Would it be possible to specify a port range as well?

Yes you can set:
22, 9000:9100, ...

That's great, thanks!


Add device plugin doc under concepts/cluster-administration.

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
For 1.8 Features: set Milestone to 1.8 and Base Branch to release-1.8
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
NOTE: Please check the “Allow edits from maintainers” box (see image below) to
allow reviewers to fix problems on your patch and speed up the review process.
Please delete this note before submitting the pull request.

This change is

/milestone 1.8

/assign @vishh

Who is the audience of this document? Device plugin vendors? Cluster administrators? Users?

Code is not rendered correctly: https://deploy-preview-5261--kubernetes-io-vnext-staging.netlify.com/docs/concepts/cluster-administration/device-plugins/

@jiayingz, It would be nice if I could do an edit pass on this topic. Is the Allow edits by maintainers checkbox available in the right column? If so, could you check it. Thanks.

@jiayingz, See https://github.com/kubernetes/kubernetes.github.io/pull/5261/commits/f509e166f8ddd380c182ff42049b9368d609bc35 for suggested edits.
Next I need to adjust the Alpha notice to say 1.8 instead of 1.7.

@jiayingz, Is DaemonSet vs. Bare Metal the correct distinction? Here's how I see it: Regardless of whether you're on bare metal or a VM, you can deploy your device plugin as a DaemonSet (or not). Maybe we should say something like, "A device plugin can run as a DaemonSet or as a manually deployed component."

I am fine with changing "bare metal" to "as a manually deployed component". Agree it is more clear.

@jiayingz, See https://github.com/kubernetes/kubernetes.github.io/pull/5261/commits/cedc291ef86f1319acb07ddd62c64be1864ca780 and https://github.com/kubernetes/kubernetes.github.io/pull/5261/commits/1561b1751104c7ca60b5602bc8a7ed5ae8878204 for a few more edits.
After https://github.com/kubernetes/kubernetes.github.io/pull/5341 is merged, the alpha notice should change from 1.7 to 1.8.
Let me know when you're ready for me to merge this.

lgtm


bad error reporting if environment variables are not set

[Google internal issue: b/79633878]
Original report for DLP samples from @fhinkel:
This command work (use your project ID and key):
GCLOUD_PROJECT=long-door-651 GOOGLE_APPLICATION_CREDENTIALS=~/keys/dlp.json node deid.js deidMask "My SSN is 372819127"
My SSN is *******

This command does not:
node deid.js deidMask "My SSN is 372819127" -m x -n 5

/tmp/dlp/nodejs-dlp/samples/node_modules/yargs/yargs.js:1100
else throw err
^

Basically, our code requires GOOGLE_APPLICATION_CREDENTIALS environment variable to be set (it can be traced deep to gRPC internals https://github.com/grpc/grpc/blob/356d491245aebd12295c418f4ef1a1451b35203a/include/grpc/grpc_security_constants.h#L43), and we never report any good error if this variable is unset.
We also require GCLOUD_PROJECT to be set (used in google-auth-library-nodejs: https://github.com/google/google-auth-library-nodejs/blob/ccec6248bb260b73c29f47178679cddcb71a1263/src/auth/googleauth.ts#L566) but I'm not sure if it's required or optional.
Do you think the client library should check for GOOGLE_APPLICATION_CREDENTIALS and/or GCLOUD_PROJECT and throw meaningful exception if it's unset? Do other languages do that?
@JustinBeckwith @theacodes @crwilcox

In Python, if the constructor for the client is missing credentials we search for credentials in the usual places. If it fails to find it
>>> google.cloud.speech.SpeechClient()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/crwilcox/scratch/google-cloud-speech-python/env3/lib/python3.6/site-packages/google/cloud/speech_v1/gapic/speech_client.py", line 84, in __init__
    scopes=self._DEFAULT_SCOPES,
  File "/Users/crwilcox/scratch/google-cloud-speech-python/env3/lib/python3.6/site-packages/google/api_core/grpc_helpers.py", line 170, in create_channel
    credentials, _ = google.auth.default(scopes=scopes)
  File "/Users/crwilcox/scratch/google-cloud-speech-python/env3/lib/python3.6/site-packages/google/auth/_default.py", line 306, in default
    raise exceptions.DefaultCredentialsError(_HELP_MESSAGE)
google.auth.exceptions.DefaultCredentialsError: Could not automatically determine credentials. Please set GOOGLE_APPLICATION_CREDENTIALS or explicitly create credentials and re-run the application. For more information, please see https://developers.google.com/accounts/docs/application-default-credentials.

We haven't required the project ID to be provided up front, as not all libraries require it. We don't require GOOGLE_APPLICATION_CREDENTIALS either, because the user could have provided a credentials object or keyFilename path to a service account JSON/PEM/P12 key file. We let our first API call determine if there's a problem, which is usually the auth library which relays the message that you need to provide credentials.
 Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 3)
(node:26396) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 4)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 5)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 6)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 7)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 8)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 9)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 10)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 11)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 12)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 13)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 14)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 15)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 16)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 17)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 18)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 19)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 20)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 21)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 22)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 23)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 24)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 25)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 26)
(node:26396) UnhandledPromiseRejectionWarning: Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.
    at GoogleAuth.<anonymous> (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:248:31)
    at step (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:47:23)
    at Object.next (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:28:53)
    at fulfilled (C:\Users\sawch\dev\play\gcloud-1530817255\node_modules\google-auth-library\build\src\auth\googleauth.js:19:58)
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)
(node:26396) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 27)

So, it kind of requires auth information, and it doesn't tell you very nicely. I don't think we should require (for the reasons stated above), but we should obviously clean the errors out.
Directly related issues:

(closed) https://github.com/GoogleCloudPlatform/google-cloud-node/issues/2086
(closed) https://github.com/GoogleCloudPlatform/google-cloud-node/issues/2413
(open) https://github.com/googleapis/gax-nodejs/issues/121

(this isn't a bug here, but could be a bug in the DLP samples... @JustinBeckwith feel free to take the final word on how to handle this issue)

ping @JustinBeckwith

Good news everyone!  With @alexander-fenster's recent change, this is fixed :)


(File) using-live-c-api.md : "contract" should be "contrast"

File: "using-live-c-api.md" entitled "Using the SketchUp Live C API"
In section Entity Life Spans ...

It's important to beware of the life-span of SketchUp's entities when using the Live C API. In contract to the SketchUp Ruby API, the C API's entity references are not invalidated if the internal entities are deleted. Make sure not to hold on to the entity references for long.

The word "contract" in the 2nd sentence should be "contrast".

Thanks for catching that. (And checking out this example.) 👍


Discriminated unions do not work on field of type Sequence

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
When using a discriminated union on a field with type Sequence, Pydantic raises the following error:
TypeError: 'json-or-python' is not a valid discriminated union variant; should be a `BaseModel` or `dataclass`

However it works fine when using list instead of Sequence.
Not sure about the internal implications here, but at first glance it looks like both should work.
Example Code
import pydantic
from typing import Literal
from collections.abc import Sequence

class Foo(pydantic.BaseModel):
    type: Literal["foo"]

class Bar(pydantic.BaseModel):
    type: Literal["bar"]

class Baz(pydantic.BaseModel):
    value: Sequence[Foo | Bar] = pydantic.Field(discriminator="type")

Python, Pydantic & OS Version
pydantic version: 2.5.3
        pydantic-core version: 2.14.6
          pydantic-core build: profile=release pgo=true
                 install path: /Users/redacted/Documents/redacted/.venv/lib/python3.12/site-packages/pydantic
               python version: 3.12.0 (main, Oct 19 2023, 21:12:33) [Clang 14.0.3 (clang-14<IP_ADDRESS>.1)]
                     platform: macOS-14.2.1-arm64-arm-64bit
             related packages: typing_extensions-4.9.0 mypy-1.8.0 pyright-1.1.328

Just realized that the correct way of achieving what I want is by specifying the discriminator in an Annotated type:
value: Sequence[Annotated[Foo | Bar, pydantic.Field(discriminator="type")]]

But unfortunately that still raises the same error.


Fix typo

@changeworld Thanks for your feedback. The documentation is autogenerated from source code and changes to the documentation files are overwritten when the content is autogenerated. I'll submit a change request to the development team to update the source file that creates the documentation. I'm closing the pull request.


Provide an activation store SPI

Allows for deployments to have a custom activation store through the use of a service provider interface (SPI)
Description

Related issue and scope

[ ] I opened an issue to propose and discuss this change (#????)

My changes affect the following components

[ ] API
[x] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[x] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[ ] Tests
[ ] Deployment
[ ] CLI
[ ] General tooling
[ ] Documentation

Types of changes

[ ] Bug fix (generally a non-breaking change which closes an issue).
[x] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[x] I signed an Apache CLA.
[x] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[x] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[ ] I updated the documentation where necessary.

@dubee  Can you share some details on requirement of a new SPI as the ActivationStoreProvider introduced in this PR is having similar feature set as ArtifactStore based implementation. Is the intention to store the activation in a store other than CouchDB for std  deployment

@chetanmeh, yes we want to be able to use a different store to fetch activations from other than CouchDB. I plan to send some more information to the dev-list on this topic soon.

@markusthoemmes, any review comments?

@markusthoemmes, anything else on this one?

@dubee I had provided some feedback on the DL mail. thread.

In some cases we are seeing large activation responses when requested
by client (with lots of concurrent request) put pressure on Controller
and Invoker heaps. As in most cases the logic in controller or invoker
does not "interpret" the activation record it would be efficient to
have an API which can just stream the json content to output response.

So if the ActivationStore provides a get by id method which accepts
a Sink[ByteString, Future[T]] like we have in
ArtifactStore#readAttachment then that can possibly be plugging to
HTTP response sink and thereby avoid buffering the whole json in
memory. This would reduce heap pressure for web actions and other
cases where lots of clients are concurrently requesting activation

Would it be possible to have a stream based API instead of one which returns a Future[List[_]]

@chetanmeh that should indeed be possible, will require quite some work on top of this (i.e. the list would need to be rewritten while not buffering too much).
Rewriting a stream from CouchDB could be done with https://developer.lightbend.com/docs/alpakka/current/data-transformations/json.html#streaming-of-nested-structures for example.
In general, I see this as a subsequent PR though. I agree with the general idea, I believe we can do this separately though.

Rewriting a stream from CouchDB could be done with https://developer.lightbend.com/docs/alpakka/current/data-transformations/json.html#streaming-of-nested-structures for example.

Interesting stuff @markusthoemmes ! I was also looking for a way to dump CouchDB export via bulk api and this would be very helpful.

In general, I see this as a subsequent PR though. I agree with the general idea, I believe we can do this separately though.

Works for me. In general we should leverage streams more in our stores. Something we can look into going forward

PG2 3237 🔵

@markusthoemmes
Currently, ArtifactActivationStoreProvider is for couchdb,
so do we have any plan write a new ActivationStoreProvider for elasticsearch, e.g. ElasticsearchActivationStoreProvider?

@dubee can give you more information on plans here.

1. Why need to write a new ActivationStoreProvider for elasticsearch?
Currently, activations are saved into couchdb using ArtifactActivationStore
couchdb has below disadvantage for saving activations

It is not convenience to  delete big activations(activation data is growing very fast, when disk is full, need to delete, but should do compression at first, otherwise, disk usage will increase)
Couchdb's search feature is not stronger than elasticsearch.

Since we provide Provide an activation store SPI in this patch, so i think it is necessary to implement a new ActivationStoreProvider  for elasticsearch
2.How to implement it?

Implement this trait ActivationStore, for example:

class ElasticsearchActivationStore(actorSystem: ActorSystem, actorMaterializer: ActorMaterializer, logging: Logging) extends ActivationStore

In class ElasticsearchActivationStore inner, we can use https://github.com/sksamuel/elastic4s/ to implement it.

@markusthoemmes ,how do you think?

@ningyougang sure it makes sense. @dubee is working on it already though if I'm not mistaken, hence I'd like his input here.

@markusthoemmes @dubee
I found the source codes here. https://github.com/dubee/openwhisk/commits/elasticsearch-activationstore
After review and tested in my local, the ArtifactElasticSearchActivationStore also store activation to couchdb(not store it to elasticsearch).

@ningyougang, I am no longer using that branch. es-as is the new one.

@dubee ,https://github.com/dubee/openwhisk/blob/es-as/common/scala/src/main/scala/whisk/core/database/ArtifactElasticSearchActivationStore.scala#L432
Regarding ArtifactElasticSearchActivationStore,
It seems when save activation, it will call super method, and save activation to couchdb.
but its query method is query from elasticsearch
So when use ArtifactElasticSearchActivationStore, how does activation save to elasticsearch?


dIsable_auto_redirect on http client results in error (IDFGH-6371)

https://github.com/espressif/esp-idf/blob/4143a3f572f6060258ffac91f110a095a8478966/components/esp_http_client/esp_http_client.c#L790
I would expect that adding the disable auto redirect flag on the http client would allow one to manually intercept the redirect and continue processing it. Current behavior throws the same error as if you've passed MAX_REDIRECTS. If this is intended behavior, how is one suppose to to process 301/302's manually? I need to modify the headers between redirects to remove authorization headers.

Hello, @mbbender!
Thank you for submitting the issue.
Could you please try this patch http_disable_auto_redirect_fix.zip and let me know does it work as you expected?
You can take a look at the esp_http_client example after applying the patch, especially the _http_event_handler for the redirect event and the http_absolute_redirect_manual() function for execution.


Bump x/crypto to fix CVE-2023-48795

https://deps.dev/advisory/osv/GO-2023-2402
https://groups.google.com/g/golang-announce/c/qA3XtxvMUyg
Likely just a false positive, not affecting rye because it is not using crypto/ssh.

I was just checking ossf today and saw this ... thank you for improving it!


Allow passing port range and IP address for ICE connections

At the moment, if you run lightspeed-webrtc within a docker container, it will try to announce a candidate of a completely random port, and a local 172.x.x.x IP address (basically, the IP within the container). This causes the stream to never reach the browser.
As for the port ranges, Pion appears to pick any port randomly. By passing a port range, we can also pass the same (restricted) port range to Docker or docker-compose and successfully pass the ICE connections through.
In the same way that the websocket addr can be given via --addr, a public-facing IP address and a set of ports should be set through something like --ip and --ports.

This is a great idea! I would love to see this implemented

This is a great idea! I would love to see this implemented


Please Add : Virtual Forest

Virtual Forest : A sophisticated GPT designed to simulate and create an interactive learning environment, known as the Virtual Forest. This GPT is tasked with not only navigating this complex environment but also shaping and evolving it. The Virtual Forest is a digital realm where the GPT, as an AI protagonist, embarks on various adventures, encounters unique challenges, and interacts with a myriad of characters and elements. https://chat.openai.com/g/g-MG9lkyyKv-virtual-forest

Please raise a pull request for the same


Failed to resolve import "@vue/apollo-composable"

I created an app with nuxtjs v3 rc-13 and<EMAIL_ADDRESS>based on a pre defined project that I created with nuxt 3 rc-11.
After I installed my dependencies and started npm run dev I got the error, thta @vue/apollo-composable module is missing. That was because I forgot to remove import statements from my old project. After I removed them and cleared the nuxi cache I restarted the app and still got the error [plugin:vite:import-analysis] Failed to resolve import "@vue/apollo-composable" from "pages/[...pages].vue". Does the file exist?
I double checked that there is no import on my side. I guess that using useQuery with the nuxt configuration apollo: { autoImports: true } doesn't work correctly. I Checked the dependencies of the<EMAIL_ADDRESS>module and saw, that it uses  @vue/apollo-composable internally, which is present in the modules node_module folder.
After I installed the package  @vue/apollo-composable as my dependency, everything seems to work. But I think that's the wrong way. Could you please check this behaviour?

I was digging a bit deeper and can say that this happens when using useQuery. useAsyncQuery works fine.

same here

When I force add @vue/apollo-composable to my project it work... (npm i --force @vue/apollo-composable)

@Der-Alex @stygmate I've been unable to replicate this both locally as well as on StackBlitz, you can have a look at the basic reproduction here. Any additional information you can provide would be useful

@Diizzayy Not sure what's happening... When I download the project from StackBlitz and install and run it, everything works. When I create a new project with npx nuxi init projectname, npm i, npm i -D @nuxtjs/apollo@next, npm run dev with the same nuxt.config.ts and index.vue, I get the error...
I'm going to dig deeper...

@Diizzayy same as @Der-Alex ... I'm going crazy... I've made a diff of projects and i can't find what is going on ...

@Der-Alex i'm going to quit my computer. Can you share your project to @Diizzayy  ?

So there's a problem of resolution of dependencies with actual node lts version ?

in a fresh project using latest lts node, the package-lock.json file install apollo-composable in node_modules/@nuxtjs/apollo/node_modules/@vue/apollo-composable , ant it's flagged "dev": true.
while in the repro project of @Diizzayy it's installed in node_modules/@vue/apollo-composable and is not flagged "dev"

Having the same problem but only when i make use of useMutation - Node 16/NPM 7 on Nuxt rc12

Also having the same problem using useMutation and useQuery. useAsyncQuery works fine.

Apollo - 5.0.0-alpha.5
Nuxt - 3.0.0
Node - v16.13.0
NPM - 8.1.0

If I import the composable manually like below, the error "Failed to resolve import "@vue/apollo-composable"" goes away
import { useQuery } from '@nuxtjs/apollo/node_modules/@vue/apollo-composable';
However it presents another error;
Uncaught (in promise) Error: Apollo client with id default not found. Use provideApolloClient() if you are outside of a component setup.

@ifusiontt The manually imported useQuery uses a different instance than the one defined in the module (the one being exposed in #imports). Therefore you would need to provide the apollo client yourself.
For example (plugins/apollo.ts):
import {provideApolloClient} from '@vue/apollo-composable'

export default defineNuxtPlugin(() => {
  provideApolloClient(useApollo().clients.default)
})

When I force add @vue/apollo-composable to my project it work... (npm i --force @vue/apollo-composable)

Indeed when I force installed @vue/apollo-composables, I now have access to useQuery.

I am not quite sure how npm dependency resolution works, but I was abble to fix this issue simply by removing package-lock.json and node_modules and then install everything at once with npm install.
I am using

npm 8.19.3
node v16.19.0

and my package.json looks like this
{
  "private": true,
  "scripts": {
    "build": "nuxt build",
    "dev": "nuxt dev",
    "generate": "nuxt generate",
    "preview": "nuxt preview",
    "postinstall": "nuxt prepare"
  },
  "devDependencies": {
    "@nuxtjs/apollo": "^5.0.0-alpha.5",
    "nuxt": "3.0.0"
  }
}

When I try to install one package after another, the error shows up. I belive it is because how dependecies are set in vue-demi package that is required by apollo-composable. When I install only apollo-composable its dependecy tree looks like this
node@b3415af25c56:/app$ npm list vue
app@ /app
`--<EMAIL_ADDRESS>  +--<EMAIL_ADDRESS>  | `--<EMAIL_ADDRESS>deduped
  `--<EMAIL_ADDRESS>
When I install everything at once it looks like this
node@b3415af25c56:/app$ npm list vue
app@ /app
+--<EMAIL_ADDRESS>| `--<EMAIL_ADDRESS>|   +--<EMAIL_ADDRESS>|   | `--<EMAIL_ADDRESS>deduped
|   `--<EMAIL_ADDRESS>deduped
`--<EMAIL_ADDRESS>  +--<EMAIL_ADDRESS>  | +--<EMAIL_ADDRESS>  | | `--<EMAIL_ADDRESS>deduped
  | +--<EMAIL_ADDRESS>  | | `--<EMAIL_ADDRESS>deduped
  | `--<EMAIL_ADDRESS>deduped
  +--<EMAIL_ADDRESS>  | +--<EMAIL_ADDRESS>  | | `--<EMAIL_ADDRESS>deduped
  | `--<EMAIL_ADDRESS>deduped
  +--<EMAIL_ADDRESS>  | `--<EMAIL_ADDRESS>deduped
  `--<EMAIL_ADDRESS>    `--<EMAIL_ADDRESS>      `--<EMAIL_ADDRESS>deduped

Accidentally made a minimal repro for this issue, while I was trying to reproduce another issue with sentry lol. Here it is -> https://stackblitz.com/edit/nuxt-starter-znimjc

Made a minimal repro here -> https://stackblitz.com/edit/nuxt-starter-znimjc

Made a minimal repro here -> stackblitz.com/edit/nuxt-starter-znimjc

Just like @jiriferkl stated, upon revisiting this repro and stackblitz installed everything at once, it magically worked just fine :/

I have got the problem with node 18.8 and npm 8.18. Stackblitz uses node 16 and npm 7. therefore a replication isn't possible using these online tools.

This issue is still present using node v18.13.0 and npm v9.4.0
I am with  "@nuxtjs/apollo": "^5.0.0-alpha.5" and "nuxt": "^3.1.1"
useQuery has the issue and still it's not solved. useAsyncQuery works fine.

same here, nothing has fixed this.

I'm having this same issue! forcing the @vue/apollo-composable installation fixes

I am seeing the same issue. We had @vue/apollo-composable installed, then switched to @nuxtjs/apollo. Once I uninstalled the apollo composable, I started seeing this message.
Below are the relevant package versions I'm on:

node 18.11.18
npm 9.6.1
nuxt 3.3.1
nuxtjs/apollo 5.0.0-alpha.5

Unfortunately, I wasn't able to get it working by simply reinstalling all of my packages at one time. I had to go ahead and install @vue/apollo-composable again and then import provideApolloClient, etc in my apollo.js file as described above by @art-boer.

Same issue on my end with a fresh install.

This happens because when installed, @vue/apollo-composable is not located in node_modules but in node_modules/@nuxtjs/apollo/node_modules, you will need to install it in the project
npm i -D @vue/apollo-composable@latest --force

iamandrewluca It is a dependency that is needed by the @vue/apollo-composable to work properly. I expect that every dependency that a third party package needs, gets installed directly, so that I can use that package without any issues. And thats the problem here.
Otherwise it should be mentioned in the documentation, that other packages have to be installed to make @vue/apollo-composable work properly.

In case it helps anyone. To get useQuery() working which wasn't when I was on Node v16,:
I switched to Node v18, deleted node_modules, and deleted package-lock.json and ran npm install again. Use query is now working.
Now I need to figure out why Apollo dev tools's tab is not working (it wasn't earlier either) and see if this plugin is persisting Apollo cache or not. It doesn't seem to be and thus means that we'll have to use another state management as opposed to Apollo which doesn't make sense.

I got it working by adding peerDependencies
here is my package,json:
"peerDependencies": {
"vue": "^3.2.47"
},
"devDependencies": {
"@nuxtjs/apollo": "^5.0.0-alpha.6",
"nuxt": "^3.4.1"
},
"dependencies": {
"@vue/apollo-composable": "^4.0.0-beta.4"
}

@keithmifsud  this is really weird, because I am running on nde v 18 and honestly useQuery still doesn't work. Can you share your package.json and your nuxt.config.ts?

try my package.json with node v16.19.1. I haven't tested with higher versions

@keithmifsud this is really weird, because I am running on nde v 18 and honestly useQuery still doesn't work. Can you share your package.json and your nuxt.config.ts?

I had to stop using this module as it doesn't save use cached data :disappointed:

With Nuxt3, it makes more sense to use API routes to fetch data using GQL.
Nuxt Web -> Nuxt Routes -> Some GQL API
In this way, your bundle will be even smaller, because you don't have to keep any of GQL Queries in your FE bundle

@keithmifsud so you are saying that I cannot build an infinite scroll?
I am trying with a loadMore button, but I am unable to even store the previous data in state.
The refresh just reload everything with the new parameter, but I am unable to add the new results to the previous fetched ones.
So if I need to move through pages, it works, but if instead I want to load the data in chunks it doesn't. I guess this issue is related with cache too?

@keithmifsud so you are saying that I cannot build an infinite scroll? I am trying with a loadMore button, but I am unable to even store the previous data in state. The refresh just reload everything with the new parameter, but I am unable to add the new results to the previous fetched ones. So if I need to move through pages, it works, but if instead I want to load the data in chunks it doesn't. I guess this issue is related with cache too?
@iamandrewluca do you mind elaborate more? could you provide an example? Maybe let's say you are querying a blog for posts.

Hi @Dinuz ... I'm just saying that this plugin does not use Apollo cache. In its main composable, it overrides the cache options to network-only. I don't how you're managing to not call the server when you tested pagination, I'm assuming you're using some sort of state management which you're not using in the scroll "load more" function.

I'm having this issue as well with "@nuxtjs/apollo": "^5.0.0-alpha.6" and "nuxt": "^3.2.2". Actually useMutation seem completely broken. When using useMutation within <script setup> it cause nuxt to break with "Cannot find module" error. If I install @vue/apollo-composable this fixes the issue, which sort of seems like a hack since is should work like useQuery and useAsyncQuery.  As well the const { mutate } = useMutation(MY_MUTATION) and calling mutate(varabiles) cause an error Error: Apollo client with id default not found. Use provideApolloClient() if you are outside of a component setup.. See issue 535. Any thoughts on this? Pretty frustrating at this point.

Is this problem still unresolved?

I manually installed all the packages and it worked for me. Not sure about the current conditions as I moved on from vue to other language 😂
https://github.com/nuxt-modules/apollo/issues/444#issuecomment-1510385141

With following versions - useMutation not working. few days back useAsyncQuery worked fine for mutations as well. As of now its noe sending graphql call to server and we dont see any call in network tab.
node - 18.18.0, npm 9.8.1
"nuxt": "^3.6.2",
"@vue/apollo-composable": "^4.0.0-beta.8",
"@nuxtjs/apollo": "^5.0.0-alpha.6",

I'd definitely contribute and open a PR if I had the time, but unfortunately, that's not feasible right now. Opting to move away and install stable packages independently seems like the best choice to avoid potential headaches in the future.


[3][Easy][App] Make long code sections collapsible

Currently:

Long code sections generated are always shown in entirety

Expected:

By default the long code sections generated would be expanded, and then there would be a button at top and bottom to collapse it so that user can scroll up and down quick
May have to play around a bit with at what # of lines of code we add collapsing

Reported by @Himanshu-Singh-Chauhan

I can take this

@Farzan-Hashmi Yessir! Ty

@Farzan-Hashmi are you still working on this issue if not then i can take it


Spike and Slab tutorial with PyMC

@jobrachem it can be reviewed. I don't know if you really want to go through the code. I don't think it is necessary

@GianmarcoCallegher Thanks, I'll do the review soon :)

@wiep you are registered as a reviewer here, too. Are you ok with merging this PR?


Add delete event command

Codecov Report

Merging #60 (f88b7b2) into master (3dad76b) will decrease coverage by 0.24%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master      #60      +/-   ##
============================================
- Coverage     30.41%   30.16%   -0.25%
  Complexity      399      399
============================================
  Files           163      165       +2
  Lines          2923     2947      +24
  Branches        302      304       +2
============================================
  Hits            889      889
- Misses         2002     2026      +24
  Partials         32       32

Impacted Files
Coverage Δ

...main/java/seedu/travelr/commons/core/Messages.java
0.00% <ø> (ø)

.../travelr/logic/commands/AddEventToTripCommand.java
0.00% <0.00%> (ø)

...edu/travelr/logic/commands/DeleteEventCommand.java
0.00% <0.00%> (ø)

...seedu/travelr/logic/commands/EventListCommand.java
0.00% <ø> (ø)

...du/travelr/logic/parser/AddEventCommandParser.java
0.00% <0.00%> (ø)

.../seedu/travelr/logic/parser/AddressBookParser.java
0.00% <0.00%> (ø)

...travelr/logic/parser/DeleteEventCommandParser.java
0.00% <0.00%> (ø)

...logic/parser/DeleteEventFromTripCommandParser.java
0.00% <ø> (ø)

src/main/java/seedu/travelr/model/AddressBook.java
0.00% <0.00%> (ø)

src/main/java/seedu/travelr/model/Model.java
0.00% <ø> (ø)

... and 3 more

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


LLMFramework Interface

For class implementations of Vanilla and Langchain frameworks.
class LLMFrameworkInterface:
    '''Interface for embedding technology and its use'''
    api_key: str
    model_name: str
    api_object = None
    llm = None
    def __init__(self, key:str, **kwargs) -> None:
        '''Sets the API key and initializes library objects if any'''
        self.api_key = key
    def generate_text(self,
    	query:str,
    	chat_history:List[Tuple[str,str]]=None,
    	# context_docs: List[schema.Document]=None
        **kwargs) -> dict:
        '''Prompt completion for QA or Chat reponse, based on specific documents, if provided'''
        return {}

for the response object of generate_text(), in langchain side we get
{ question: ...., answer: ...., source_documents: [ {page_content:..., metadata:{ source: ...}]

Should we standardize that or customize it differently?

@kavitharaju I think that looks good. Technically you shouldn't have to return the question, since I don't think that would change from the paramater being inputted into generate_text, right? But if it's simpler to return it along with the answer, that's fine.
Do we also want to add an input parameter for language? In my demo I have a translate() function, which translates to English and also identifies the language of the user query, and then within generate_text my LLM prompt would ask the LLM to respond in that language.

@kavitharaju Is generate_text an @abstractmethod that gets implemented by each ChildClass? Or are we defining it here in LLMFrameworkInterface?

Yes, generate_text() is expected to be implemented by ChildClasses. So,may be we could do required PROMPT engineering within there if we want to do more advanced stuff, like getting LLM to answer in a different language.
About having a translate() step, how do you do it in your demo? Are you depending on LLM itself for this language idenfification and translation or is it a different component ? Depending on that we could either have (a) one more class method in this LLMFramework interface or (b) a different interface altogether for translation that gets added to the chat-pipeline... I think option b, would be better, and will allow us to choose between different technologies like we do for other components...

Yes, I think option b is probably better, to have it separate. In my demo I'm using the google translate API, which translates to English and does language identification. But obviously it would be good to have the possibility of using other translation options too, so maybe we could have a translation interface.


Decompose generator.yml

generator.yml has become quite long as our matrix has grown, currently coming in at 4458 lines. It is easy to get lost when modifying multiple different trees and LLVM versions.
Decompose generator.yml into individual YAML files for each section. We can dynamically rebuild generator.yml from all of these pieces in utils.get_config_from_generator() and pass that along to yaml.load().
There is currently no functional change. In the future, this will make it easier to add new LLVM versions, as we can copy and modify whole files rather than specific ranges in generator.yml.

This is great but also creates a lot of fragmentation. It's nice that you numerically ordered these but perhaps we need a checklist (in a README somewhere) about how to add/remove builds and what stuff to update (even in other repositories).

Agreed. I think I will try to create some maintainer documentation here soon that goes over the structure of the whole repository, what everything does, and how it all fits together with some guides around common manipulations like adding a new tree or LLVM version. Not sure how soon I will be able to get to it but I will definitely prioritize it over the next couple of weeks.

OK, with #689 proposed I think this is OK to merge.

The README will be outdated until #689 is handled but I think that's okay. Merging, thanks for the review!


[Form Validation] Validating array of fields

Hi,
I've come across an issue, when I need to validate an array of input fields (i.e. fields having identical names ending with []). The validation sends an error to console saying Uncaught Error: Syntax error, unrecognized expression: #field-name[].
It looks like semantic is trying to first look for fields that have id field-name[], but expression is invalid for ids. How can I make validation work in this case?

Please post a code example

Sure thing. Here's a fiddle. Basically, all the fields there in the example expect an integer, so you could type some random string in and then lose focus. Keep your console open to see the error. Cheers

Your problem is that you are using duplicate names and each field should have it's own rule. See this working fiddle https://jsfiddle.net/sdr27a2j/

The duplicate names would not be a problem if you have unique Ids for each field. But regardless, you need a rule for each field.

It's working in your example, but that's nothing to do with array of fields. As you can imagine things might get much uglier if you have, say, forms with multiple dynamically created addresses, where an address is a collection of fields for street, city, country, etc.
Of course we can write a piece of JS code to do custom validation in onSuccess, but that's not also what I was asking about. My sole interest is in validating array of fields and if there's any provision for that functionality in the future.

Yes, I suppose that would be a useful feature. Let's see if this gets put on the roadmap.

If you are using an id with [] just use data-validate and a name with [a-Z] i.e. <div name="field-name[]" data-validate="email">

I want to post this JSFiddle here for future reference then because I do not see an example of this usage in the docs:

I'll add an example

Thanks guys

There isn't an example, but it is explained in the message right at the top of the page under usage: http://semantic-ui.com/behaviors/form.html

Added example in next

Hi jlukic!
The example provided by You (http://jsfiddle.net/92p8fkbb/) doesn't work as expected.
It validates all three fields based on the first one.
The problem is, that the validator function is fired only once, with 'this' set to the three inputs, and the 'value' set to the first input value. It should be fired three times with the three inputs and their values.


LWM2M: Add LWM2M server and client.

Added client
Some minor fixes in the server.

other than my comments in both PRs, it is ok to me

Check #1294


Monitoring multiple log files together from cmdline

Analyze support: https://github.com/taoky/ayano/pull/13/


Multiple simultaneous queries with same variables are not merged

Steps to Reproduce

Make a component like

@connect(state => ({foo: ...}))
@graphql(gql`query ...($foo: ...) {...}`)
class MyComponent extends Component {...}

put the component in the app twice <MyComponent/><MyComponent/>.

Buggy Behavior
Look at the network tab when the components are mounted - the query is ran twice, with the same variable foo.
Expected Behavior
It should only run the query once and provide the results to both components. After all, the variables are the same, and the query is the same object.
Version

<EMAIL_ADDRESS><EMAIL_ADDRESS>

related to #336?

@wmertens what happens if you wait until the query has returned from the server before mounting the second component?
I would expect it to send 2 queries if the first is still in flight.

@tmeasday Once the query completes it is served from cache as it should.
The problem is that not coalescing the same query in flight breaks the abstraction. @graphql is supposed to get the described data as efficiently as possible and if it doesn't do that, it means putting workarounds in place that damage the application code clarity.
So IMHO, this is a bug…

I just realized that the in-flight coalescing should probably happen in apollo-client, I'll move the issue there.

Closing this in favor of https://github.com/apollostack/apollo-client/issues/956


update ui playground middleware to latest 1.7.19 from 1.7.10

Implements #563

ok i have fixed the above issues and pushed to my fork

landed


Service Workers are not supported

An app which works in mock fails when the origin is a safe:// URI. Here's the error message:
serviceWorker.ts:97 Error during service worker registration: DOMException: Failed to register a ServiceWorker: The URL protocol of the current origin ('safe://solid-filemanager') is not supported

This may be an electron issue, see: https://github.com/electron/electron/issues/2831
You can reproduce the error by choosing a WebID, visiting safe://solid-filemanager, waiting for the app to load and a popup to appear, and then clicking Login. The code is at https://github.com/theWebalyst/solid-filemanager/blob/master/src/serviceWorker.ts
I'm using SB v0.14.1 on Ubuntu 18.10.
Any short term fudge I could try here?

Reads like we'll just need to update the options we provide to https://electronjs.org/docs/api/protocol#protocolregisterschemesasprivilegedcustomschemes
That should work. And if it does, I don't have any objection to getting this merged in!

Hi Josh,
I tried
protocol.registerSchemesAsPrivileged( [ {scheme: PROTOCOLS.SAFE, privileges: { allowServiceWorkers: true } } ] );

But this API doesn't exist pre v5 and SB is using v4. So I went looking for docs on registerServiceWorkerSchemes(). I didn't find the API docs, but the following suggests it doesn't work yet anyway so this may not be fixable:
See https://github.com/electron/electron/issues/9663#issuecomment-515385974

Aha. Righto. Okay, well the upgrade path to e5/6 + will involve some FFI changes to safe_app nodejs. That's not a prio right now with the new APIs we're working on. But they'll be built for N-API which is good to go w/ newer electron versions.
So there's not much to be done right now I think, sorry @theWebalyst

No problem. Thanks for looking.

@joshuef any update on this?
There are many open issues regarding this in all sorts of different shades. Currently it seems that there is no sensible way to service workers work when serving from the local file system.
https://github.com/electron/electron/issues/9705
https://github.com/electron/electron/issues/2831
https://github.com/electron/electron/issues/10146
https://github.com/electron/electron/issues/20248

I'm curious what is the latest status on this. Is it correct to assume that at this point, service workers cannot be used in Electron apps that run from local files?

Looks like a fix for this has been merged!
https://github.com/electron/electron/issues/20248#ref-pullrequest-837630595


TEST

TICKETID

Dependencies
Avatar Loader: branch

Description

Briefly describe what this change will do

Changes
Added

List your additions and new features here.

Updated

List your updates and changes here.

Removed

List what is removed here.

How to Test

Add steps to locally test these changes

Checklist

[ ] Tests written or updated for the changes.
[ ] Documentation is updated.
[ ] Changelog is updated.

closing as it was just to see all changes since last release


Measuring C_ell with NaMaster

NaMaster might help us in dealing with the fact that SkySim5000 only covers an octant, while the angular power spectrum is computed over the full sky, introducing oscillatory features on large scales when the footprint is ignored. A mask file can be found here: /global/homes/j/jharno/IA-infusion/SkySim5000/FullSky_weight.fits. This is a Healpix map, with NSIDE=8192, in which pixels are set to 1.0 in the Octant and 0.0 elsewhere.

Hi @EiffL, could you push a notebook where this NaMaster measurement is done and where this plot can be reproduced?

@dlanzieri can you update the notebook? The namaster code was already correct in the current notebook, I had just the wrong cosmological parameters in my theory computation.

@EiffL @jharno it's already updated, I pushed the correct version of the notebook last Friday


VLAZ: Watch toptiamcurrent.blogspot

VLAZ requests the watch of the watch_keyword toptiamcurrent\.blogspot. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

toptiamcurrent\.blogspot has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


Bump release to 0.1.1

Bump release to 0.1.1

@JuliaRegistrator register ClimaComms

Error while trying to register: Register Failed
@sriharshakandala, it looks like you are not a publicly listed member/owner in the parent organization (CliMA).
If you are a member/owner, you will need to change your membership to public. See GitHub Help


not able to propertly use @property decorator

So I have this self._buffer object which is set to None in __init__. Then I have this buffer function decorated with the @property decorator. So I'm trying to open a new buffer with nvim.command('new') in this function and also set this buffer to scratch type by modifying the options. There are two problems:

when I run UpdateRemotePlugins these commands for opening a new buffer and setting up everything get execute... which isn't the behavior I expected
the command fails and the plugin doesn't get registered

Any ides? Thanks.
Oh, forgot to mention I only tried this on python3 (I don't even care about trying to make it work for python2)

To be clear, are you talking about this code (in that exact version) ?

Yes, that code doesn't work at the moment because of the explained behavior...

I think this is not a bug. The plugin host needs to enumerate all the attributes of the plugin object, to find rpc methods, and just accessing an attribute should not cause any visible side-effect.

Funny, I was just looking at this. I got around the issue by creating a method to set the buffer up on connection. But on the other hand it would be nice to have it work on the @property decorator... that's one of the reasons @property exists... to set up things. And how is this any different to having a method instead of a @property? Methods are attributes too... I moved the code from the @property' function to a [new self._set_buffer` method](https://github.com/razvanc87/nvim-jupyter/blob/master/rplugin/python3/nvim_jupyter/init.py#L167) and now it works.

Set up things internally maybe, but I don't think one should cause obserable sideeffects from just acessing an attribute. The difference is that methods support the use-mention distinction, you can look at a method self.foo (inspecting its attributes) without actually using it self.foo()

That makes sense. Thanks, ultimately I just wanted to understand how and why this happens.

Ok, closing this then.

Just for reference: https://github.com/neovim/python-client/issues/337#issuecomment-385608627 outlines a plan to fix this.


correcting integration bug for data

RadClass is not reporting the correct count-rate per channel because one portion of the integration process is not included. For a set of n rows to be integrated, each individual row should be corrected by its corresponding live time and then summed. Before this sum is returned, it should also be divided by n, the integration time. This is added here.

This is an average, than, rather than a sum/integral

But would the current implementation be correct when labeled as a counts/second?
I guess I see it now that the cts/s in 1 minute can be different than the cts/s in 1 second, correct?

The current integration has units of counts per integration time.  The two results have an equivalent purpose, it's just about getting the units right.  This way is easier because it will always be counts/s


JIMP running locally but not on server

On server it is showing 504 timeout error

Jimp Version:0.16.1
Operating System:ubuntu 20.4
Node version:16

can you please help me with possibilities?

Without an error there's not much to know. If you can come back with a reproduction we can looking the issue


skip pypy windows and osx aarch64

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

Selectors are suggested to take a <two spaces>#<one space>[<expression>] form. See lines [20]
Old-style Python selectors (py27, py35, etc) are only available for Python 2.7, 3.4, 3.5, and 3.6. Please use explicit comparisons with the integer py, e.g. # [py==37] or # [py>=37]. See lines [20]

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender


Add requirements file

I had to install some additional packages when I created a venv, this should simplify things for others.
I can undo trimming trailing whitespace in the README if that's a problem

Wow, thanks for putting together the requirements.txt file.  If I'm reading the diff correctly the only substantive change you made to the README is to replace my explicit list of module dependencies with the more intelligent   -r requirements.txt is that correct?

Wow, thanks for putting together the requirements.txt file. If I'm reading the diff correctly the only substantive change you made to the README is to replace my explicit list of module dependencies with the more intelligent -r requirements.txt is that correct?

Yes, that is correct


Implement add team member in user management page

Issue #:
https://github.com/bcgov/met-public/issues/1074
Description of changes:

Add the add team member form
Implement search as you type for users and engagements drop down
search as you type in engagement form and user management pages

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the met-public license (Apache 2.0).

Codecov Report

Merging #1161 (fb51712) into main (5f92345) will decrease coverage by 0.84%.
The diff coverage is 39.00%.

:exclamation: Current head fb51712 differs from pull request most recent head e79b8d8. Consider uploading reports for the commit e79b8d8 to get more accurate results

@@            Coverage Diff             @@
##             main    #1161      +/-   ##
==========================================
- Coverage   74.62%   73.78%   -0.84%
==========================================
  Files         266      266
  Lines        7408     7481      +73
  Branches      492      508      +16
==========================================
- Hits         5528     5520       -8
- Misses       1808     1884      +76
- Partials       72       77       +5

Flag
Coverage Δ

metapi
79.70% <81.81%> (-0.02%)
:arrow_down:

metweb
67.89% <33.70%> (-1.58%)
:arrow_down:

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

Impacted Files
Coverage Δ

met-web/src/services/membershipService/index.tsx
41.66% <ø> (ø)

met-web/src/services/userService/api/index.tsx
45.45% <ø> (-9.10%)
:arrow_down:

...components/userManagement/listing/AddUserModal.tsx
43.26% <27.94%> (-27.19%)
:arrow_down:

...ent/form/EngagementFormTabs/AddTeamMemberModal.tsx
52.85% <50.00%> (-44.02%)
:arrow_down:

met-api/src/met_api/models/user.py
90.76% <75.00%> (-2.34%)
:arrow_down:

met-api/src/met_api/resources/user.py
85.18% <100.00%> (ø)

met-api/src/met_api/services/user_service.py
81.11% <100.00%> (ø)

...ment/form/EngagementFormTabs/TeamMemberListing.tsx
93.33% <100.00%> (ø)

... and 1 more