Unwanted redirect to index page after successful login

I've recently started experiencing a strange issue using this library. After I successfully authenticate a session, I would like to redirect to a specific page, but for some reason I am always redirected to the index page. Anyone else having this issue?
Relevant files and versions:
// routes/application.js
import Ember from 'ember';
import ApplicationRouteMixin from 'simple-auth/mixins/application-route-mixin';

export default Ember.Route.extend(ApplicationRouteMixin, {
  beforeModel: function() {
    // ensure transition attempt it made, so sessionAuthenticatedRoute can retry
    this._super();
    return this.csrf.fetchToken();
  }
});

// routes/signin
import Ember from 'ember';

export default Ember.Route.extend({
  actions: {
    sessionAuthenticationSucceeded: function() {
      var route = this;
      //route.transitionTo('testz');
      //this.store.find('user', this.get('session.id')).then(function(user) {
      //  route.transitionTo('testz');
      //}, function() {
      //  console.log("failed to find user");
      //  route.transitionTo('index');
      //});
    },
    sessionAuthenticationFailed: function() {
      this.controllerFor('signin').set('credErrors', true);
    }
  }
});

// bower.json
{
  "name": "shearwater",
  "dependencies": {
    "handlebars": "~1.3.0",
    "jquery": "2.1.3",
    "ember": "1.8.1",
    "ember-data": "1.0.0-beta.14.1",
    "ember-resolver": "~0.1.11",
    "loader.js": "ember-cli/loader.js#1.0.1",
    "ember-cli-shims": "ember-cli/ember-cli-shims#0.0.3",
    "ember-cli-test-loader": "rwjblue/ember-cli-test-loader#0.0.4",
    "ember-load-initializers": "ember-cli/ember-load-initializers#0.0.2",
    "ember-qunit": "0.1.8",
    "ember-qunit-notifications": "0.0.4",
    "qunit": "~1.15.0",
    "ember-simple-auth": "0.7.2",
    "bootstrap": "~3.3.1",
    "spin.js": "~2.0.2",
    "materialize": "~0.95.0"
  },
  "resolutions": {
    "jquery": ">=2.1.1"
  }
}

After upgrading to 0.7.3 I am experiencing issues due to #403. Working to resolve them by adding identificationAttributeName: 'email' to my config/environment.js but this isn't working. I'm going to leave the issue open until I resolve the strange redirection but got to muddle through this first!

Use this configuration setting to specify the route you want to be redirected to after authentication.
Your comment is unrelated to this issue of course.

Was not aware of that option. Can that be set dynamically depending on the session returned?

If you want dynamic redirects you should implement your own sessionAuthenticationSucceeded action.

That's what I thought. I did that (as in the snippet above), but still was redirected afterward.

To confirm, after updating to 0.7.3 I am still experiencing this issue.

You need to implement sessionAuthenticationSucceeded on he application route.

Doing so still results in the redirect :(

@joshpfosi I am experiencing the same thing (?). After logging in, I see the index controller and it refreshes to "/" url after 0.5s. Have you figured it out?

I haven't! Its an intermittent problem that is currently resolved. I'll let you know if it happens again and if I make any headway!

@joshpfosi in my case it was something related to invalid configuration of devise. I don't remember exactly, but I fixed it.


ZipArchive creation in memory

Describe the bug
Trying to create a zip file completely in memory, but the entries are not written (empty zip)
To Reproduce
Steps to reproduce the behavior:

.net core 2.2 (SDK 2.2 102)
code to run as a console application:

static void Main(string[] args)
        {
            using (Stream zipStream = new MemoryStream())
            {
                using(ZipArchive archive = new ZipArchive(zipStream, ZipArchiveMode.Create,true))
                {
                    ZipArchiveEntry readmeEntry = archive.CreateEntry("Readme.txt");
                    using (StreamWriter writer = new StreamWriter(readmeEntry.Open()))
                    {
                        writer.WriteLine("Information about this package.");
                        writer.WriteLine("========================");
                    }
                }

                using (FileStream compressedFileStream = File.Create("test.zip"))
                {
                    zipStream.CopyTo(compressedFileStream);
                }
            }
        }

/
Open the created test.zip (probably inside the debug folder) and inspect the content of the archive

Expected behavior
I expect to have a readme.txt file which contains some text, but there is no file.
Screenshots
/
Additional context
Maybe I am doing something wrong, but after simplifying the problem as above (I have somewhat more complex scenario) it may point out to a bug in .net core.

This issue was moved to dotnet/corefx#35928


Generic File Storage empty when "EXPOSE FOR PULL REQUESTS" is switched on

Hi,
When I switch "EXPOSE FOR PULL REQUESTS" to on in the UI:

And I download the whole Generic File Storage with this step the folder is empty. Therefore I can't copy the files into the correct directory, see:
+------------------------------------------------------------------------------+

| (3) generic-file-storage@0                                                   |
+------------------------------------------------------------------------------+
| id: generic-file-storage                                                     |
| version: 0.9.1                                                               |
| collection: https://github.com/bitrise-io/bitrise-steplib.git                |
| toolkit: go                                                                  |
| time: 2020-05-20T06:52:20Z                                                   |
+------------------------------------------------------------------------------+
|                                                                              |
Create storage dir:
  GENERIC_FILE_STORAGE: /var/folders/6q/wgy6jtp12w5gzgm9lzcglpqw0000gn/T/GENERIC_FILE_STORAGE103713949
- Done
Parsing Generic Storage Files:
- Done
Downloading 0 files:
  Took: 513ns
- Done
|                                                                              |
+---+---------------------------------------------------------------+----------+
| ✓ | generic-file-storage@0                                        | 4.12 sec |
+---+---------------------------------------------------------------+----------+

+------------------------------------------------------------------------------+

| (4) script@1                                                                 |
+------------------------------------------------------------------------------+
| id: script                                                                   |
| version: 1.1.6                                                               |
| collection: https://github.com/bitrise-io/bitrise-steplib.git                |
| toolkit: bash                                                                |
| time: 2020-05-20T06:52:24Z                                                   |
+------------------------------------------------------------------------------+
|                                                                              |
+ echo 'Generic File Storage location: /var/folders/6q/wgy6jtp12w5gzgm9lzcglpqw0000gn/T/GENERIC_FILE_STORAGE103713949'
Generic File Storage location: /var/folders/6q/wgy6jtp12w5gzgm9lzcglpqw0000gn/T/GENERIC_FILE_STORAGE103713949
+ ls -la /var/folders/6q/wgy6jtp12w5gzgm9lzcglpqw0000gn/T/GENERIC_FILE_STORAGE103713949
total 0
drwx------   2 vagrant  staff    64 May 20 06:52 .
drwx------@ 38 vagrant  staff  1216 May 20 06:52 ..
+ cp /var/folders/6q/wgy6jtp12w5gzgm9lzcglpqw0000gn/T/GENERIC_FILE_STORAGE103713949/google-services.json example/android/app/google-services.json
cp: /var/folders/6q/wgy6jtp12w5gzgm9lzcglpqw0000gn/T/GENERIC_FILE_STORAGE103713949/google-services.json: No such file or directory
|                                                                              |
+---+---------------------------------------------------------------+----------+
| x | script@1 (exit code: 1)                                       | 2.36 sec |
+---+---------------------------------------------------------------+----------+
| Issue tracker: https://github.com/bitrise-io/steps-script/issues             |
| Source: https://github.com/bitrise-io/steps-script                           |
+---+---------------------------------------------------------------+----------+

Also using the file downloader fails when the same option for PR is set, see: https://github.com/bitrise-steplib/steps-file-downloader/issues/6. So I am a bit blocked here, any ideas?
See next run to view the issue: https://app.bitrise.io/build/00071db665925be3#?tab=log
Mark

Reported on wrong repository, closing it


bump knex to v3 and better-sqlite3 to v9

After node 16 went EOL, both knex and better-sqlite3 carved out new major versions that cut the ties with old node versions. It's time to get on these trains so we keep getting updates.
The corresponding little pg bump is not of particular importance; we already had resolved to that version in our lockfile. They don't have a corresponding major bump (yet?). But given the recent CI problems etc I just wanted to make sure everyone is on recent versions of all the database libraries.
The libraries don't seem to have tried to fit in any other major changes, so this should be a relatively low risk change, but let's still do it after the mainline :) In particular the sqlite version is very recent too.

Hm, minor type error with connect-session-knex. Reported upstream: https://github.com/gx0r/connect-session-knex/issues/103

Thanks for this @freben 🚀


Add printable view for members profile

Add the option to print the information of a member along with a prefilled form to sign for direct debit

I've started working on this today (we're going to create a PDF with FPDF and print that (this will be done in the WP-Admin section somewhere)).

A small tip, use mPDF instead. It is much better maintained than FPDF and it allows you to easily convert html in to a pdf.

We still worked with FPDF (because I already knew how to use that and had already written a couple of useful functions for it).


Re-enable jira tests

The JVM tests looks good but the native test is still failing with
Error:  org.apache.camel.quarkus.component.jira.it.JiraIT  Time elapsed: 6.68 s  <<< ERROR!
java.lang.NoClassDefFoundError: javax/ws/rs/core/UriBuilder
	at com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClient.<init>(AsynchronousJiraRestClient.java:58)
	at org.apache.camel.component.jira.oauth.OAuthAsynchronousJiraRestClientFactory.create(OAuthAsynchronousJiraRestClientFactory.java:33)
	at com.atlassian.jira.rest.client.internal.async.AsynchronousJiraRestClientFactory.createWithBasicHttpAuthentication(AsynchronousJiraRestClientFactory.java:42)
	at org.apache.camel.quarkus.component.jira.it.JiraTest.beforeAll(JiraTest.java:78)

The native 'JiraITtest is running bymaven-failsafe-pluginand I have to add some classpath configuration to the modifiedjira-rest-java-client-core` jar. All of theses tricks must be removed when JRJC-262 gets resolved.
Anyway, the jira tests are backing to work now.


APY cleanup

It seems like the APY duration select feature is not working but it may just be a silly experience. Because OETH has only been generating data for a short period of time, it makes sense that the 30-day APY and 365-day APY are the same number (both equal to the beginning of time). So we should just hide the currently pointless ones (anything beyond 30). However, I think that there should be enough data for the 7-day and 30-day to be different. It's possible that it's just not wired up properly or that the analytics data is bad.

Done via 0e3288684020c6b101e77c62648a28d567410cc5 ✅


Can’t get nested routes to work with a slug

Hi,
I’m having troubles to have a nested route working with anything but a number.
I basically used this exemple, and ended up with something like this:

blog.vue
<template>

		<nuxt-link :to="'/blog/'+post.id">{{ post.name }}</nuxt-link>

</template>

_blog/_id.vue
<template>

{{ title }}

		{{ body }}

</template>

In this case, everything works just fine. Clicking on the link get me the right url (/blog/1) and when clicking on a link, it’s opening the good page, with proper content.
But the thing is, I don’t wanna have an ID in the url, only a slug. I wanna have something like this: /blog/my-article-is-wonderful, so I set up my folder like this:

blog.vue
<template>

		<nuxt-link :to="'/blog/'+post.slug">{{ post.name }}</nuxt-link>

</template>

_blog/_slug.vue
<template>

{{ title }}

		{{ body }}

</template>

Now, the link href is properly setup and give the right url to follow, but when clicking I get to my error page with a 404 error; even though the path is good in the url bar.
Nothing special in the console or the shell.
I just can’t get it. I tried with another param, like an userID, and it worked well too. But if I try to get a route with a slug or anything else than a number, it fails.
What am I missing?
Thanks!

axios.get(`http://localhost:3001/posts/${+params.slug}`)

why you have a plus in you ${var}
maybe you should try
axios.get(`http://localhost:3001/posts/${params.slug}`)

Hi,
The + in the var is in the example: https://nuxtjs.org/examples/custom-routes Even though I found it strange, I tried without the + and it wasn’t working at all, even with numbers.
About the _blog folder naming, if I don't put the _ behind, it just need to have an index.vue Inside to work with the blog.vue; but it's working too if I rename this blog.vue as index.vue and put it in the folder with no underscore. I changed to this, it's cleaner.
That being said, the problem remains: It's still not working with slugs, but okay with numbers.
I look at your example, but I can't see what's so different in it, except the fact that you get the datas asynchronously. But I don't think it has anything to do with this, because it don't look like the page is even loaded.
Thanks for your response, though :)

that so strange
but If you can upload your api on internet
maybe I can try to write a test  :)

Everything is on github : https://github.com/EmmanuelBeziat/emmanuelbeziat/tree/vuejs-static
But the datas come from a local service, so if you wanna test, you’ll have to change the source given to axios.
Thanks

but I need your api service on Internet .
maybe I will change my api service and test , first .
but if can get data fron your api service will be better .

It's here : https://github.com/EmmanuelBeziat/node-rest
But it's just a simple rest content.

hi , I think you have a validate
validate ({ params }) {
  return !isNaN(+params.slug)
  // need params.slug is a number
},

so I remove ! and +
validate ({ params }) {
  return isNaN(params.slug)
},

and I can get data from local service ..

Holy sh…
Of course. it was checking if it's an integer. How on earth did I not see this ?! So dumb.
That's why there's a + inside the param.
Thanks a lot!

I didn't seen it either  😆


NTR: [initiator methionine aminopeptidase activity]  and acylamino acid releasing enzyme

Suggested term label:
GO:XXXXXX    initiator methionine aminopeptidase activity

Definition (free text)
Catalysis of the hydrolysis of an initiator methionine or formylmethionine residue from a polypeptide chain.

Reference, in format PMID:#######

PMID:11811952
PMID:20363127
PMID:20038112
PMID:3027045
(from existing process annotations)

Gene product name and ID to be annotated to this term
see
https://www.ebi.ac.uk/QuickGO/annotations?goUsage=descendants&goUsageRelationships=is_a,part_of,occurs_in&goId=GO:0070084&evidenceCode=ECO:0000269&evidenceCodeUsage=descendants

Parent term(s)

GO:0070006    metalloaminopeptidase activity
or aminopeptidase activity (GO:0004177)
(these appear to be metalloaminopeopidises, but I don't know why we capture the 'metallo' part as it does not  change the reaction...

Synonyms (please specify, EXACT, BROAD, NARROW or RELATED)
related  protein initiator methionine removal

Any other information

this is to replace the existing process term which should be obsoleted (5 EXP annotations)
GO:0035551 | protein initiator methionine removal involved in protein maturation
Removal of the initiating methionine or formylmethionine residue from a protein that contributes to protein maturation, the attainment of the full functional capacity of a protein.
and
protein initiator methionine removal (GO:0070084)
Definition
The protein modification process in which the translation-initiating methionine or formylmethionine residue is removed from a protein.

Will need this to replace annotation in the protein modification branch

THE EC number for this is EC:<IP_ADDRESS>
Example
https://www.uniprot.org/uniprotkb/P53582/entry
I'm also not sure how it differs from:
Acylamino-acid-releasing enzyme or
acylpeptide hydrolase  (EC <IP_ADDRESS>)
Example:
https://www.uniprot.org/uniprotkb/P13798/entry
@hdrabkin

I tried lots of searches to find the GO terms for these 2 EC numbers. Is there a way to search GO by EC?
Are these terms mapped to RHEA? that might help me to locate them..

@hdrabkin  this ticket was not assigned to anyone. It sound like the sort of thing you would know so I assigned to you.

If the EC is associated with a GO term as an xref, using protege one can find it.
EC:<IP_ADDRESS> (methionyl aminopeptidase.)  is associated with an obsolete term, methionyl aminopeptidase activity, GO:0004239
EC def 'Release of N-terminal amino acids, preferentially methionine, from peptides and arylamides"
methionine aminopeptidase.
peptidase M.
Obsoleted because it represents a gene product. There is no RHEA reaction
EC:<IP_ADDRESS>, acylaminoacyl-peptidase, cleavage of an N-acetyl or N-formyl amino acid from the N-terminus of a polypeptide; NO rhea
Associated with GO:0004252, serine-type endopeptidase activity, 'Catalysis of the hydrolysis of internal, alpha-peptide bonds in a polypeptide chain by a catalytic mechanism that involves a catalytic triad consisting of a serine nucleophile that is activated by a proton relay involving an acidic residue (e.g. aspartate or glutamate) and a basic residue (usually histidine)."
Note the EC is hydrolysis of internal alpha peptide bonds.
  There is no comment as to why it was obsoleted.

To me, it seems these activities should be represented in GO.
removing the N-term amino acid is commonly required for protein maturation, and  I don't know how else we could capture  this ?
@pgaudet  what do you think?

these appear to be metalloaminopeopidises, but I don't know why we capture the 'metallo' part as it does not change the reaction

It does change the reaction mechanism. This was the strategy for the re-organization of peptidase terms: distinguish by mechanism (metallopeptidase, serine peptidase, etc.) and independently by cleavage site: removal of aminoterminal residue of substrate, removal of carboxyterminal residue of substrate, cleavage of a peptide bond that is neither animo- nor carboxyterminal.
Which leads to a kind of nomenclature question

EC:<IP_ADDRESS>, acylaminoacyl-peptidase, cleavage of an N-acetyl or N-formyl amino

So does removal of an N-conjugated but otherwise aminoterminal amino acid residue count as aminopeptidase because the first amino acid residue is indeed removed, or an an endopeptidase because that removal requires cleavge of the second peptide bond?

EC:3.4.19.- vs 3.4.11.-
EC:3.4.19.- Hydrolases  Acting on peptide bonds (peptidases);Omega peptidases
3.4.11.- Hydrolases  Acting on peptide bonds (peptidases);Aminopeptidases

I kind of agree that GO:XXXXXX initiator methionine aminopeptidase activity should not have been obsoleted.
maybe 'N-terminal methionyl aminopeptidase activity is less gene producty? (note new word coined)

EC:3.4.19.- vs 3.4.11.-

Possibly relevant historical point. At the time that peptidases were reclassified by cleavage site and mechanism, people pointed out that the new classification did not align properly with the EC classification for kinds of peptide bond cleavage, and the GO group decided not to be bothered by the lack of alignment.

@deustp01 ; your memory much better than mine;

I remember Midori aligning with Merops. Merops is an excellent resource, but this classification seems a bit orthogonal to GO and often result in us having multiple unconnected MF terms to describe a single protein (i.e endopeptidase, serine-type peptidase, metallo peptidase). To me these don't tell us much about that the  protein is actually doing Personally I think it would be better t for our purposes to align proteases with Rhea.

I'm not sure RHEA would be a good pick because basically all the reactions would be the same (hydrolysis of a peptide bond).
Let's stay on track.

the two reactions mentioned at the start are not the same
How/should we bring back the initiator methionine aminopeptidase activity; regardless of how it works, its unique specificity should be in GO to represent a specific protein processing step.

I agree we should restore/recreate GO:0004239 'obsolete methionyl aminopeptidase activity'
with EC xef  EC:<IP_ADDRESS>
@cmungall is it OK for you if we restore obsolete terms?

ping
@cmungall is it OK for you if we restore obsolete terms?

ping
@cmungall is it OK for you if we restore obsolete terms?

Sure let's restore, we have done that before.

https://wiki.geneontology.org/Restoring_an_Obsolete_Ontology_Term


Unable to extend DefaultNodeKindProvider

Langium version: 3.1.0 (91219ec)
Package name: Langium
Steps To Reproduce

Create CustomNodeKindProvider by extending DefaultNodeKindProvider to support custom document symbols

Link to code example:
export interface NodeKindProvider {
    /**
     * Returns a `SymbolKind` as used by `WorkspaceSymbolProvider` or `DocumentSymbolProvider`.
     */
    getSymbolKind(node: AstNode | AstNodeDescription): SymbolKind;
    /**
     * Returns a `CompletionItemKind` as used by the `CompletionProvider`.
     */
    getCompletionItemKind(node: AstNode | AstNodeDescription): CompletionItemKind;
}

export class DefaultNodeKindProvider implements NodeKindProvider {
    getSymbolKind(): SymbolKind {
        return SymbolKind.Field;
    }
    getCompletionItemKind(): CompletionItemKind {
        return CompletionItemKind.Reference;
    }
}

The current behavior
Unable to extend default class due to method signatures - interesting that TypeScript allows it ... Claude told me it is something about function parameter bivariance which made my head hurt.
The expected behavior
Class should be extensible allowing for document symbol customization per grammar.
Maybe something like this will resolve it: https://github.com/eclipse-langium/langium/commit/6d1ee545c48373a79edaf08376048a832ecfa64d
Not sure how keen you guys are on disabling lints.

Ah, yes. I always forget that omitting method parameters makes overrides behave pretty weird in TypeScript...
A PR is appreciated, I think you can circumvent the eslint issues by just prefixing the parameter name with _.

Please see https://github.com/eclipse-langium/langium/pull/1580

Out of curiosity, how strictly do you expect/need the DefaultXYZ class implementation to adhere to the interface it implements? Looks like there 's other places where arguments are omitted (see below). CancellationToken seems to be a common one ... although I honestly have no idea how critical that would be for anyone extending the class.
export interface DocumentSymbolProvider {
    /**
     * Handle a document symbols request.
     *
     * @throws `OperationCancelled` if cancellation is detected during execution
     * @throws `ResponseError` if an error is detected that should be sent as response to the client
     */
    getSymbols(document: LangiumDocument, params: DocumentSymbolParams, cancelToken?: CancellationToken): MaybePromise<DocumentSymbol[]>;
}

export class DefaultDocumentSymbolProvider implements DocumentSymbolProvider {

    protected readonly nameProvider: NameProvider;
    protected readonly nodeKindProvider: NodeKindProvider;

    constructor(services: LangiumServices) {
        this.nameProvider = services.references.NameProvider;
        this.nodeKindProvider = services.shared.lsp.NodeKindProvider;
    }

    getSymbols(document: LangiumDocument): MaybePromise<DocumentSymbol[]> {
        return this.getSymbol(document, document.parseResult.value);
    }

The only reason the situation is like that is that we weren't aware that it's a problem. You are right, we need to review all default impls and add missing parameters, otherwise subclasses can't use them.

Example with DefaultDocumentSymbolProvider:
Property 'getSymbols' in type 'SpecialDocumentSymbolProvider' is not assignable to the same property in base type 'DefaultDocumentSymbolProvider'.
  Type '(document: LangiumDocument<AstNode>, params: DocumentSymbolParams, cancelToken?: CancellationToken | undefined) => MaybePromise<...>' is not assignable to type '(document: LangiumDocument<AstNode>) => MaybePromise<DocumentSymbol[]>'.
    Target signature provides too few arguments. Expected 2 or more, but got 1.ts(2416)

Created a separate issue (#1584) - will create a separate PR (or PRs?) for the larger fix.

Addressed with #1580


Initial commit

I think I understand what's going on here... There's a LB in front of an ASG that does something with 1password?

Yeah. They had their own TF but it was a bit overbearing and had some security issues I didn't like.


Run compatibility tests for main nightly or once a week

It happens too often that when I run the compatibility tests a few days before tagging a release, tests fail and then changes are required to the tests to get all tests green. To surface these issues earlier, we should run the compatibility tests nightly or at least once a week. I think running using main should be enough. Would be ideal if we could get notified on Slack or email if tests fail.

Would be very much in favour. I think once a week on a weekend would be a good call considering how intensive they are on runners.


@orta => Removes XApp check for trial user condition.

See discussion here. Before we were requiring two conditions to be considered a "trial user":

Not be logged in.
Have a valid XApp token.

Now we only require the first.
A larger discussions could be had about renaming isTrialUser to be the more accurate isLoggedOut.
Fixes #463.

Yeah, I can't think of the reason why I made that choice back then. Was under a serious amount of time pressure to add trial accounts in time for iOS7 launch. This feels fine to me. At least, I can't think of any side effects, and tests are obviously passing.


Erroneous "already exists" error when reusing Hadoop output path due to stale cache

Originally reported by a Hadoop user to one of our feedback lists, it appears the directory inference feature 1.4.0 introduces in minor bug when the GCS connector is used in conjunction with tools which don't cooperate with the DirectoryListCache such as the Pantheon GUI or gsutil, where a stale cache entry persists after deleting a directory in the web GUI or gsutil and thus erroneously prevents Hadoop from being able to reuse the same output path until either the cache is cleared manually or hadoop fs -rmr is used to allow the DirectoryListCache to remove the stale entries. In general, the steps to reproduce the issue were:

Run a job outputting to gs://foo-bucket/foo-dir
Use web UI to remove output or gsutil rm -R gs://foo-bucket/foo-dir
Re-run job outputting to gs://foo-bucket/foo-dir
Job fails with "already exists" error.

The workaround when using gcs-connector-1.4.0 is simply to set fs.gs.implicit.dir.infer.enable=false in Hadoop configs or gcs-core-template.xml when using bdutil. Code-side fix will be in by the next release.

This issue is fixed at head by https://github.com/GoogleCloudPlatform/bigdata-interop/commit/cccb99bdc552dfd3e63723322b31d20f03d910c2


Remove generic tokenizer and support multiple languages for the word cloud.

Description:
I investigated if the generic tokenizer was still useful. It turns out it wasn't really, so I made the following changes:

There are no more dummy saliencies (equal to 0) that are computed when saliency is not available. It was counter-productive to compute them since they were not used in the UI, and for the top words, the words were converted to sub-tokens, and then back to words.
Because of that, I added saliency as an optional startup task.
Furthermore, I needed to refactor the top words code, so it no longer calls the dummy saliency method when saliency is not available. This turned out to be an opportunity: I now use the Spacy model (which, as we know, can be defined per language), which already has its own list of punctuation chars (is_punct) and stop words (is_stop). The chars are a bit different from the ones we had, but as you can see in the tests, the differences seem ok to me. Plus, now it will work for french :).

However, I needed to add a char replacement for this to work. The English Spacy model did not recognize "`" as a punctuation sign. I believe this also caused problems that we weren't seeing when counting tokens or performing POS tagging. When replacing it by "'", this slightly changed the values in the dataset warnings (token count).

Example from sst2 with the  "`":

designed to provide a mix of smiles and tears , `` crossroads '' instead provokes a handful of unintentional howlers and numerous yawns .

I needed to change the scope of TopWordsModule from ModelContractConfig to AzimuthConfig, since it now relies on both the model or the syntax config, depending if saliency is available. AzimuthConfig is a bit too broad, but since this module computes fast, I think that it is ok.

Checklist:
You should check all boxes before the PR is ready. If a box does not apply, check it to acknowledge it.

[x] ISSUE NUMBER. You linked the issue number (Ex: Resolve #XXX).
[x] PRE-COMMIT. You ran pre-commit on all commits, or else, you
ran pre-commit run --all-files at the end.
[x] USER CHANGES. The changes are added to CHANGELOG.md and the documentation, if they impact
our users.
[x] DEV CHANGES.

Update the documentation if this PR changes how to develop/launch on the app.
Update the README files and our wiki for any big design decisions, if relevant.
Add unit tests, docstrings, typing and comments for complex sections.

@JosephMarinier @lindsaydbrin actually, I realized that I could create a specific config scope for TopWords. See my last commit. Does that make sense to you?

@JosephMarinier @lindsaydbrin actually, I realized that I could create a specific config scope for TopWords. See my last commit. Does that make sense to you?

If it works, seems like a more direct approach! It seems like if we do this a lot, we could have a tangled mess of custom config pairings, but we can deal with that if it happens. But anyway, generally, I'd defer to @JosephMarinier on this.


Refactor primitives library.

Closes #484.

Places all binary operators within a single file, since some are dependent on others.
Takes unsigned bitnum binary operators out of core and puts it with the rest.
General reorganization.
Remove unsynthesizable mult, div, mod in examples.
Update tests. Add tests for bitnum binary operators.

There's some bug with modulo right now.
With the old div_pipe, it is calculating -1 % 1 = 1, when it should be 0. This is with the old div_pipe.
With the new div_pipe, it is mis-calculating the NTT pipeline stuff, so is not correct either. So I need to look into this.

takes unsigned bitnum binary operators out of core and puts it with the rest.

The "core" library is supposed to contain primitive without which no Calyx program can be compiled. The unsigned operator, specifically unsigned add, is needed to implement the FSMs for static-timing compilation which is why it exists in the "core" library at all.
Maybe it's useful to come up with a specification about what exactly needs to go in core and binary_operators.

Got it. I wasn't aware.

Merge after fixing the last comment up there (didn't catch it in first read through because I skipped reading the test files).


Merging master in to classnode branch

@da-woods, I've been fooled by the GH UI here - I had selected classnode -> classnode in the compare, but GH reset it without me noticing upon creating the PR. If you point this to the classnode branch, it should just contain a single merge commit.

Closing as not required


Create a groups.io discussion group for user support

It's worked well for the Rasterio project and would be useful here.

Consider using gitter.im, it is open-source and nicely bridged to Matrix.

No, I'm not interested in a chat platform. I recently wrote down my feelings about support chat at https://sgillies.net/2019/02/28/on-not-using-slack-for-open-source.html.

Ah sorry, I thought groups.io would be something like that. Totally agree about your verdict on real-time chat.

Alright, I've created two groups: https://fiona.groups.io/g/main and https://fiona.groups.io/g/dev.
<EMAIL_ADDRESS>Group Description
This list is dedicated usage and support for Fiona, an open source Python library for reading and writing geospatial vector data.

<EMAIL_ADDRESS>Group Description
A group to discuss development of Fiona. Issues and proposals will be introduced and socialized here before taking actionable issues to GitHub.

@snorfalorpagus @kannes @jorisvandenbossche @snowman2 @rbuffat @QuLogic I encourage you to subscribe. I'll edit the project readme to add links.

Thanks for creating those!


Use an appropriate size for data disk in the base images

Description
This PR is to resolve the following issues:

Fix WASdev/azure.websphere-traditional.cluster/issues/109

Change summary

Add new property datadisk.sizeGB
Reference data disk size from config file

Testing
The following test cases have been passed before opening the above two PRs:

Successfully created twas-nd and ihs private VM images based on image repo;
Successfully created a tWAS cluster (1 dmgr, 1 worker node & 1 IHS) by referencing the private images with an entitled IBMid.

User can then successfully deploy a default application DefaultApplication to the cluster and IHS, which is accessible later;

Created an empty tWAS cluster (1 dmgr, 1 worker node & 1 IHS) by referencing the private images with an invalid IBMid.

SSH into VMs and verified that WAS installation is removed from all VMs

Verified that the size of data disk attached to each VM is 25G;
SSH into VMs and verified that the total size of data disk mounted to /datadrive is 25G by running df -h:twas-nd:
Filesystem                 Size  Used Avail Use% Mounted on
/dev/sdc1                   25G  211M   25G   1% /datadrive	<= invalid IBM ID
/dev/sdc1                   25G  2.2G   23G   9% /datadrive     <= valid IBM ID

ihs:
Filesystem                 Size  Used Avail Use% Mounted on
/dev/sdc1                   25G  211M   25G   1% /datadrive	<= invalid IBM ID
/dev/sdc1                   25G  1.5G   24G   6% /datadrive     <= valid IBM ID

Signed-off-by: Jianguo Ma<EMAIL_ADDRESS>

Hello @git4rk @edburns Could you pls help review? Thanks.


Unable to optimize with custom data

Hello,
I am trying to run NeuS on some custom images of size 3024x3024 captured with a white background. I prepped the data for nerfstudio, and then modified it for sdfstudio by running the conversion script "process_nerfstudio_to_sdfstudio.py"
Although the nerf model starts converging almost immediately within nerfstudio, I am not getting any output from the neus or neus-facto model on sdfstudio. I am running with default parameters. Could you please share your thoughts on why this might happen?
Link to data: https://drive.google.com/drive/folders/1NDk_OJeJrSOArp_eJv1i1Rcctl_DXXgF?usp=share_link
Thanks!
Output from nerfstudio after a 10% of the iterations

Output from sdfstudio after a 10% of the iterations:

@ishanic Sorry for the late reply due the long vacation. I don't have the permission for your data.

@niujinshuchong thanks for getting back and sorry about the link access. You should be able to access the data from the link now. Please let me know what you find!
Thanks!

i have the same problem. i can train a nerf model using nerfstudio, but cann't train neus-facto model

the demo is also not working, executed cmd:  ns-train neus-facto --pipeline.model.sdf-field.inside-outside True --pipeline.model.mono-depth-loss-mult 0.1 --pipeline.model.mono-normal-loss-mult 0.05 --vis viewer --experiment-name neus-facto-replica1 sdfstudio-data --data data/sdfstudio-demo-data/replica-room0 --include_mono_prior True

Dear @niujinshuchong,
Gentle ping. Please let me know if you got a chance to try this data. The data should be easy to optimize on, and I was wondering why it fails completely. Is there any simple fundamental mistake in the way I am executing the code?

@dragonwarrior I just tried the your cmd above and it works. What do you by not working?

@ishanic I trained your data with the command ns-train neus-facto --pipeline.model.sdf-field.inside-outside False --pipeline.model.background-model mlp --trainer.steps-per-eval-image 2000 --vis wandb --experiment-name debug sdfstudio-data --data data/sdfstudio-transfomer and can get some coarse shape like this:

Maybe you need to train it for longer iterations to get better results.

.sdf-field.inside-ou

i mean the trainned result is empty similar to the results of @ishanic .
is there any other configs i missed or libraries not compatible ?

i found the problem,  i can see the result when i changed to use tensorboard viewer using flag '-vis tensorboard'.


Issue with dnd-allowed-types

I'm having a group structure where I have groups and questions. I can drag questions in group and drag groups and questions independently as well (for sorting). I DON'T want a group to be added in another group. (Groups should only contain questions.) I'm using dnd-allowed-types. I give it all the types which a groups should accept as:
 dnd-allowed-types = ['all-question-type-values']

It works fine expect it now disables the group now i.e now groups don't accept incoming groups but now I can't drag them elsewhere for sorting either.
I've gone through documentation extensively but cannot find the solution yet. Anybody can help me on that?

since it's no longer maintained,  you can do changes on your local file like this:
dndDragTypeWorkaround.dragType = attr.dndType && attr.dndType.toLowerCase();

instead of using angular.scope.$eval, which only works with an array, but returns undefined for a string property


updating code of conduct and security links

Signed-off-by: Vanessa Sochat<EMAIL_ADDRESS>This pull request will replace #211 with a better commit message, single commit. It looks like the copy paste from the file resulted in different characters for the file tree, which I don't think should be an issue (but let me know if you have concerns).

There is a PR under review that changes the security markdown file to a folder, so the link is correct. We can double check here when it’s merged before merging here if you like!

Code of conduct link is updated to be outside of .github (and in all caps) to reflect discussion in OCI call. @coolljt0725 you should be able to check the links now (the change is merged).


Is the viewBox (now) supported on elmType="svg"?

Code Samples do not show the use of the viewBox attribute.
And Chris Kent's (older) Blogs and Issue replies state there is no viewBox attribute.
Yet the documentation: https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/column-formatting
does list it:

Are the Blogs wrong?
Is the documentation wrong?

I am asking because I got 7340 icons
from all major IconSets converted to d-path for a W3C standard Web Component <svg-icon>
If I read the Formatting docs right, should be a matter of copy/paste (and adjust) d-path... but a viewBox is mandatory

Checking the version history of the documentation, I see that viewbox was added to the documentation on October 23, 2020.
viewBox and preserveAspectRatio support
There is also a sample using viewbox, so I think the documentation is correct.

view-samples/honeycomb-link
column-samples/number-doughnut-chart

@tecchan1107 is right, viewBox as an attribute is now supported within svg elements. It was not when some of the samples were written and before I wrote some blogs.


Hugo website - Review external link describing operators

This issue is to track the link on the custom resources page. Currently Operator links to an external blog. This should be review to see about formalizing the description of an operator pattern inside of the K8s docs.
https://k8sio-hugo-migration.netlify.com/docs/concepts/api-extension/custom-resources/

[ ] Feature Request
[X] Bug Report

Specific issue is in this paragraph:
A custom controller is a controller that users can deploy and update on a running cluster, independently of the cluster’s own lifecycle. Custom controllers can work with any kind of resource, but they are especially effective when combined with custom resources. The Operator pattern is one example of such a combination. It allows developers to encode domain knowledge for specific applications into an extension of the Kubernetes API.


Extra spacing on mobile view when Select component is in open state

When viewing on mobile view from chrome browser using dev tools. <Select /> brings up spacing at right throughout the page when it's in open state. Not sure why it's happening.
let me know if we require more information.
Screenshot:

<FormField
  control={form.control}
  name="gender"
  render={({ field }) => (
    <FormItem>
      <FormLabel>Gender</FormLabel>
      <Select
        onValueChange={field.onChange}
        defaultValue={field.value}
      >
        <FormControl>
          <SelectTrigger>
            <SelectValue placeholder="Select your gender" />
          </SelectTrigger>
        </FormControl>
        <SelectContent>
          <SelectItem value="Male">Male</SelectItem>
          <SelectItem value="Female">Female</SelectItem>
          <SelectItem value="Other">Other</SelectItem>
        </SelectContent>
      </Select>
      <FormMessage />
    </FormItem>
  )}
/>

Seems like a css issue no ? Have you tried making select width w-full  for small screen ?

Seems like a css issue no ? Have you tried making select width w-full for small screen ?

Yeah It's css issue. Thanks.


dataset about staplers

i would like to know how many red staplers are owned by people who work for the city of austin. what if it had 3 columns: date purchased, model year of stapler, and employee name. k thanks.

reviewed for PIR, looks like this doesn't meet PIR criteria, so I'll assign this to the office supply dept liaison


Need a Travis CI configuration file

It seems that Travis CI is enabled on this repository (I see it failed on each pull request), but it lacks a .travis.yml configuration file.

Thanks! I really appreciate your PR adding this :)

You're welcome! But it currently seems that while build fails the test is considered successful ...
https://travis-ci.org/googlevr/vrview/builds/245125700


Webpack loader blocks all requests silently if webpack-stats hangs at  "compile"

Currently the 'runserver' command hangs in an infinite loop when webpack-stats has 'status = "compile"'.  This is caused by an infinite while loop that is waiting for a different status than 'compile'.
https://github.com/django-webpack/django-webpack-loader/blob/master/webpack_loader/loader.py#L95-L103
The webpack loader has 0 as default for the timeout; ie. 'never timeout'. This results in Django Runserver never emitting any pages (eg. /admin/), without any warning.
I see two possible fixes:

Add a default timeout other than 0
If changing default is not preferred, perhaps add a warning to console mentioning the script is hanging at webpack loader

a warning to console mentioning the script is hanging at webpack loader

This LGTM if a certain time has passed (> 5 seconds, perhaps)?
Please feel free to open a PR with this behavior.


Plan 9 font for titles and menu items, Bariol rest

only put one major task in in progress!

reopening to set the console terminal font to - Fira Code? Jetbrains Mono is nice too but Fira is the nicestest

also used Go monospaced font for terminal views


=str Make use of statefulMap to implement zipWithIndex.

Motivation:
Make code more simpler.
Result:
Simpler code and no performance regression.
Jmh/run -i 3 -wi 3 -f1 -t1 .*ZipWithIndexBenchmark.*

[info] Benchmark                                    Mode  Cnt           Score            Error  Units
[info] ZipWithIndexBenchmark.benchNewZipWithIndex  thrpt    3<PHONE_NUMBER>.146 锟斤拷<PHONE_NUMBER>.660  ops/s
[info] ZipWithIndexBenchmark.benchOldZipWithIndex  thrpt    3<PHONE_NUMBER>.338 锟斤拷  801852805.114  ops/s

I think this one is ready.


Add TomTom as TODO Member and OSPO Adopter

Pre-submission checklist:
Please check each of these after submitting your pull request:

[ ] Are you only including a repo_url if your project is 100% open source? If so, you need to pick the single best GitHub repository for your project, not a GitHub organization.

[ ] Have you picked the single best (existing) category for your project?

[ ] If submitting a tool, is your project closed source or, if it is open source, does your project have at least 100 GitHub stars?
(not adding a project)

[x] Does it follow the other guidelines from the new entries section?

[x] Have you included a URL for your SVG or added it to hosted_logos and referenced it there?

[x] Does your logo clearly state the name of the project/product and follow the other logo guidelines?

[x] Does your project/product name match the text on the logo?

[x] Have you verified that the Crunchbase data for your organization is correct (including headquarters and LinkedIn)?

[ ] ~10 minutes after opening the pull request, the CNCF-Bot will post the URL for your staging server. Have you confirmed that it looks good to you and then added a comment to the PR saying "LGTM"?

LGTM

Thanks for your contributions to the OSPO Landscape @FelixFaassen-TomTom ! I've made a few comments to your additions 🙂

Looks like TomTom TODO General Membership is moving forward. I'll go ahead and merge this PR with both, adopter and member addition 👍


Remove BOOST_FOREACH

You can use the C++11 range-based for loop instead of the Boost BOOST_FOREACH macro for faster iteration.

I'm redoing #3333. I'm going go slowly to see which file changed breaks the code base.


(Experiment/WIP) Add a flag to emit which options are used

I had a go at adding a flag to emit which options were used during formatting (#865). This change doesn't actually add the flag to rustfmt to output the options, but that should be relatively simple.
I was imagining two new flags to the rustfmt (and probably cargo fmt) binary:

--dump-default-config [rustfmt.toml] - Which outputs the default config to the specified file (default rustfmt.toml) and then exits. #317 suggests adding such functionality, but the comments in that ticket show a preference for doing it via a separate tool. (clang-format has a similar option on it's main executable, which outputs to stdout).
--dump-minimal-config [rustfmt.toml] - Which formats as normal, and then uses the new tracking in order to output a minimal rustfmt.toml containing only the config items that were accessed during formatting. (This means you can pin only the config items that your project uses, meaning you get the newest default value for other config items when you later come to use them).

I appreciate #865 is quite old (and therefore probably not important) and that this is quite a noisy change, so don't worry if you'd rather not take changes like these. It was a nice, gentle introduction to the rustfmt code-base anyway!
The commits should be fairly self-contained and reviewable separately, but they do build on top of each other.
Unfortunately, I lost the regex I used to do the search-and-replace of config accesses. Now that the bulk of the search-and-replace has been done, it should be relatively easy to fix merge-conflicts manually.
Some other improvements I was intending to make:

[ ] Re-consider error reporting from to_toml() methods on Config.
[ ] Add some more tests for the new functionality on Config
[ ] Find a way to output the help text of each config item as a comment to the generated TOML. (I might have to deviate a little from Serde to do this).

... but I'll wait to hear if you think any of this is a good idea before proceeding. :)

In terms of API, I wonder if we could think of this in terms of data first and then about serialization? Could we get a list of used options and their values, and a list of unused options and their values? After that, can we serialize those lists?

Yep, I think that makes sense. I'll have a play to see what I can come up with.

I've made the suggested changes and also plumbed through the new options to the rustfmt binary.
@nrc  - Please can you take another look?

In terms of API, I wonder if we could think of this in terms of data first and then about serialization? Could we get a list of used options and their values, and a list of unused options and their values? After that, can we serialize those lists?

Yep, I think that makes sense. I'll have a play to see what I can come up with.

I ended up returning a PartialConfig (previously ParsedConfig), which the caller can serialize. I provided a new PartialConfig.to_toml() method, to handle the file_lines option which can't be serialized.
Getting used/all options now looks like this:
config.used_options().to_toml();
Config::default().all_options().to_toml(); // ... although it could be Config::default().to_toml()

Regarding my suggested improvements:

Re-consider error reporting from to_toml() methods on Config.

I think Result<String, String> is fine for to_toml(). I can't see any reason to do something fancier right now.

Find a way to output the help text of each config item as a comment to the generated TOML. (I might have to deviate a little from Serde to do this).

This would have been cute, but I don't think I'd actually use this option if it existed.

Looks great, thank you!


feat: adding script that displays ping

Why not just add the information to NetworkManagerHUD?
All Mirror components are named NetworkSomething.
This should be in the Runtime folder with NetworkManagerHUD I think

Why not just add the information to NetworkManagerHUD?

This is independent of NetworkManagerHUD and should be allowed to be used without NetworkManagerHUD

All Mirror components are named NetworkSomething.

I will rename it now

This should be in the Runtime folder with NetworkManagerHUD I think

This is not a core part of mirror so probably shouldn't be in the runtime folder. It is a component that nothing else in should depend on

Is it not NetworkTime.rtt / 2 ?
Otherwise its displaying a ping-pong.

And if this script to show ping is being made more readily for people to see and use, it might be a good idea to lower ping window size, as it currently takes 30-60 seconds to go from ~500ms to ~30ms, and can be giving the wrong impression to clients.

Is it not NetworkTime.rtt / 2 ?
Otherwise its displaying a ping-pong.

@JesusLuvsYooh
The way I understood ping in multiplayer games, it is the time it takes for the server to reply to a message, the round-trip time.
this is what wikipedia says on this:

In the context of computer networks, the signal is generally a data packet, and the RTT is also known as the ping time. An internet user can determine the RTT by using the ping command.

End-to-end delay is the length of time it takes for a signal to travel in one direction and is often approximated by half the RTT.

And if this script to show ping is being made more readily for people to see and use, it might be a good idea to lower ping window size, as it currently takes 30-60 seconds to go from ~500ms to ~30ms, and can be giving the wrong impression to clients.

I think the moving average is 10 frames, so it shoudn't take that long. I havn't tested it though so maybe there is a problem


Replacing the deprecated command register with plugin

Although it is still working and will be removed only in the next major version as stated in the changelog.
I think it's worth updating the README now, since this is inevitable and there's no point in postponing it.

Thanks, that's a nice update. But I think the explanation of plugin use is as bad as the explanation in the nushell blog. Once you used plugin add it is added to registry. You can use them instantly with plugin use, but you can also just restart the shell. If you could update that, that would be great.

I added this to the README

Thank you! ❤


Plugin: Setup Dictionary Export to the inspector

Currently C# / Godot does not support of Exporting the dictionary datatype: Dictionary<Key, Value> to the inspector. Would be really useful specially for map generation, where we can basically skip dynamically initialization.

Godot already have inspector dictionary support.
godot.collections.dictionary


I am working on porting the bowling exercise from javascript track

@skabbass the is anyway a pending pr for this exercise. 😊

Ah sorry - missed it.

Closing since it is already being worked on.


SFB crash in AudioRingBuffer.cpp

function: StoreABL
org.sbooth.AudioEngine.Decoder (26): EXC_BAD_ACCESS(code=1, address=0x7edf000)
Variables:

Stack:

Environment:
XCode 7.1 with iOS 9.1 (iPhone 5)

Is this crash reproducible?  If so, do you have a sample project illustrating the problem?

Not reproducible, I tried for 5 times.

Thanks.  It looks like buffers may have been corrupted somehow but it's hard to say for certain.  I will close this for now but please reopen the issue if it happens again.

I managed to write a demo about the bug,
https://www.dropbox.com/s/muv2awxodpyl0c9/demo.zip?dl=0
call the demo in your code like:
int ret = -1;
void init(){
    auto instance = SimpleManager::getInstance();
    ret = instance->prepare("hit-1.ogg");
}

//call the function multi times per 1/60 second
void playSound(){
    SimpleManager::getInstance()->play(ret);
}

Thanks for the sample code.  Is playSound() called from the same thread every time?  I noticed that SimpleManager doesn't perform any synchronization on the static variables audios and players so I wonder if that could be related.

I called playSound in the same thread of SFB.


Better default security for web-contents-created

LGTM. But I would like to add little bit more information in the comments. Not just "WHAT DOES THIS CODE DO", but also "When it run and why we need this".


Upgrade dependencies

Upgrade to TypeScript 3.8.3
Upgrade to Terser 4.6.6
Upgrade to Rollup 1.32.1
Upgrade to Prettier 2.0.1

I merged this accidentally before I pushed some other changes to master. See #18.


Ability to add custom class to body

We're not using Bootstrap, but still wanted to be able to reap the benefits of having a modal-open class on the body, so I've added the bodyClass property - if specified, the class will be added to the body on open and removed from the body on close. I've also updated the readme and the custom modal in the sample app to use this.

Hi @StormPooper like the code looks great but I think there is a bug, if the appendElement option is used, then the bodyClass should be added to that element, but instead it's added to body instead. Suggest renaming bodyClass to appendElementClass and supporting it on either the body or appendElement, depending on what element is selected, WDYT?

Hi @dwmkerr, I had originally considered doing that, but I decided that it was more useful to always be appended to the body as it will enable you to do things like fade the page background out while still appending the element to some child within the page. I can modify it to appendElementClass if you'd prefer though.

Hi @dwmkerr, I've updated my branch with the latest changes from master, to avoid any merge conflicts. Any thoughts on my previous comment?

Hi @dwmkerr, any thoughts on my previous comment? I can update the branch if you're happy with it so it can be merged in.

Hi @StormPooper sorry for the delay, yes if you can update I'll merge and release ASAP!

Coverage increased (+0.8%) to 86.765% when pulling 3e7465a4e2a4e3677c21b2712f07c5e64f3e7dff on StormPooper:master into 2c07464da8b661d6721827809f61e1870733bcd6 on dwmkerr:master.

@dwmkerr no problem, I forgot about it too :) I've updated my branch to match master and also updated the tests to ES6, so it should be good to go if you're happy with it.

Sorry to be a pain on this one @StormPooper would you mind changing the main code file so that the diff is smaller? I think the issue is perhaps the spacing or indentation, but it's really difficult to see where the key changes are. We can fix the indentation in a separate PR which would then be easier to follow (just don't want to inadvertently miss anything from this!)

Sorry @dwmkerr, I thought I had done that but I must have made an additional change to the file before committing, it's now just the changes.

Coverage increased (+0.8%) to 86.765% when pulling 9c2cdb68fdd1ea1f290025d0df2c76cce7760fb3 on StormPooper:master into 2c07464da8b661d6721827809f61e1870733bcd6 on dwmkerr:master.

Looks great! Will merge, update the contributor and release notes and release now :)

Awesome, thanks @dwmkerr :)

No, thanks to you, it's a great feature! Awesome to see the changes in the samples as well!

done and done

https://github.com/dwmkerr/angular-modal-service/releases
https://twitter.com/dwmkerr/status/838364578983505921

Thanks again!

Thanks :)


Several policy updates: consistency with further discussion on other …

…sections, more clarity

@daniellemcook @siforster @Deep-Cyber @rglenn-accenture: although we didn't propose any changes to "Policy" during the review, I made some, based on the rationale developed during the following reviews (e.g. avoid prescriptive product/practice mentions). I also tried to clarify and expand a little on what I found needing more context or reasoning.
Please don't be afraid to cut my edits short, and do suggest any language improvements that you deem appropriate. Thanks!

I think I have to be on my personal account to formally review, but I like these updates a lot! I would approve these changes.


docs: Change spacing to correct numbering on doc site

This PR only add spaces to the beginning of each line. It does not change any text or formatting. (Repeat of earlier cancelled PR and deleted branch)
The step numbering currently appears correctly on github, but is reset to all 1s when automatically imported into phc-docs at https://docs.dev.lifeomic.com/development/open-source/chroma-react/. I believe this is due to the python-markdown used by phc-docs interpreting the .md file differently than the GitHub-flavored-Markdown of Github. Specifically, python-markdown thinks the consecutive list is restarting at 1 (despite the 2 or 3 in the text) when there is no spacing at the lines between the numbered steps. Adding two tabs at each line seems to fix this.

Hey Tony, I think I fixed the commit message and passed lifeomic-probot. Thanks


Removed the Kunal's Insta link

closes #301
Description

closes #301
Type of change

[x] Bug fix (non-breaking change which fixes an issue)

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented on my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have npm run format before committing
[x] I replicated the UI with the Design

Screenshots (if applicable)

Thanks for your contribution @ShaileshKumar007. After discussion with the team, it was decided to close this PR (and issues related to it). You can see for other open issues for contributing opportunities :smile:


Memory Leak from loaded_modules->filename

(In relation to this trace)
I've been trying to track down why filename is leaking from here. As far as I can see, loaded_modules itself is also never freed. In particular, gssproxy calls verto_default(...) with impl==NULL here. The resulting vctx is later free-d in a bunch of places, including here. However, it appears that loaded_modules is not touched as part of that call.
As far as I understand it, this could be desired behavior in case an application wants to open a second event loop (e.g., the test cases); thus it would appear an explicit verto_cleanup() call would be needed to free filename/loaded_modules.
Should this be added to verto_free(...), or a new verto_cleanup() call?
cc: @simo5 @frozencemetery

(It would be pretty trivial to call such a function in krb5 and gssproxy
where needed.)

Fixed in 4f58419fefadbc5c59c6d69b5aa2e1abf5c830c7


Improve Ops Experience

In this issue, we define how we want to improve ZITADEL's Ops Experience
Goals

We want users to be able to deploy a minimally configured self-hosted ZITADEL on the platform of their choice in less than 3 minutes under normal conditions.
We want users to enjoy integrating ZITADEL into common enterprise networks (Proxies, Reverse Proxies, Database Connections, SMTP Connections...).
We want users to enjoy automating their ZITADEL installation.

Priorities

[ ] https://github.com/zitadel/zitadel/issues/3982
[ ] https://github.com/zitadel/zitadel/issues/3574
[ ] https://github.com/zitadel/zitadel/issues/3571
[ ] https://github.com/zitadel/zitadel/issues/7251
[ ] https://github.com/zitadel/zitadel/issues/4923
[ ] https://github.com/zitadel/zitadel/issues/7449
[ ] https://github.com/zitadel/zitadel/issues/6430
[ ] https://github.com/zitadel/zitadel/issues/7804
[ ] https://github.com/zitadel/zitadel/issues/6863
[ ] https://github.com/zitadel/zitadel/issues/3856
[ ] https://github.com/zitadel/zitadel/issues/7350

I rethought the priorities and think these are the highest:
Hygiene tasks

[ ] #7251
[ ] #7804

Programmatic Resource Management after Deployment

[ ] #6430
[ ] https://github.com/zitadel/terraform-provider-zitadel/issues/167
[ ] https://github.com/zitadel/zitadel/issues/3574


The getCookies action returns cookies in the incorrect order in Native Automation mode

What is your Scenario?
Use the getCookies action to get cookies
What is the Current behavior?
Coockies is in the incorrect order
What is the Expected behavior?
getCookies action should return cookies in the same order as they were set via settCookies action
What is your public website URL? (or attach your complete example)
https://devexpress.github.io/testcafe/example/
What is your TestCafe test code?
fixture('[API] Delete Cookies')
    .page('https://devexpress.github.io/testcafe/example/');

test('Should delete all the cookies with the specified url', async t => {
    //set a cookie for the Example page
    await t.setCookies({ name: 'apiCookie1', value: 'value1' });

    //set a cookie for the 'Thank you' page
    await t.setCookies({
        name:  'apiCookie2',
        value: 'value2',
    }, 'https://devexpress.github.io/testcafe/example/thank-you.html');

    //check the cookies
    let cookies = await t.getCookies();

    await t
        .expect(cookies.length).eql(2)
        .expect(cookies[0]).contains({ name: 'apiCookie1', path: '/testcafe/example/' })
        .expect(cookies[1]).contains({ name: 'apiCookie2', path: '/testcafe/example/thank-you.html' });

    //delete cookies from the 'Thank you' page
    await t.deleteCookies({ domain: 'devexpress.github.io', path: '/testcafe/example/thank-you.html' });

    //check the cookies
    cookies = await t.getCookies();

    await t
        .expect(cookies.length).eql(1)
        .expect(cookies[0]).contains({ name: 'apiCookie1', path: '/testcafe/example/' });
});

Your complete configuration file
No response
Your complete test report
No response
Screenshots
No response
Steps to Reproduce
Run the following example in Native Automation mode: https://github.com/DevExpress/testcafeio-examples/blob/main/tests/documentation/reference/test-api/test-controller/delete-cookies/all-by-url.js
TestCafe version
3.0.0-rc.1
Node.js version
No response
Command-line arguments
npx testcafe chrome
Browser name(s) and version(s)
No response
Platform(s) and version(s)
No response
Other
No response

We cannot do a lot here. CDP returns cookies in the correct order but grouped by hostname.
Example:
test('Should delete all the cookies with the specified url', async t => {
    await t.setCookies({ name: 'apiCookie1', value: 'value1' });
    await t.setCookies({ name: 'apiCookie4', value: 'value4' });

    await t.setCookies({
        name:  'apiCookie2',
        value: 'value2',
    }, 'https://devexpress.github.io/testcafe/example/thank-you.html');

    await t.setCookies({
        name:  'apiCookie3',
        value: 'value3',
    }, 'https://devexpress.github.io/testcafe/example/thank-you.html');

    await t.setCookies({ name: 'apiCookie5', value: 'value5' });

    await t.setCookies({
        name:  'apiCookie0',
        value: 'value0',
    }, 'https://devexpress.github.io/testcafe/example/thank-you.html');

    const cookies = await t.getCookies();

    console.log(cookies.map(c => c.name));
});

returns the following in Native Automation:
[
  'apiCookie2',
  'apiCookie3',
  'apiCookie0',
  'apiCookie1',
  'apiCookie4',
  'apiCookie5'
]

and following without Native Automation:
[
  'apiCookie1',
  'apiCookie4',
  'apiCookie2',
  'apiCookie3',
  'apiCookie5',
  'apiCookie0'
]

Solution: avoid getting cookies by index in the tests


No outline and breadcrumbs available

Issue Type: Bug
After some time breadcrumbs and outline is not available. After the restart it works fine but after some time they disappear again.
Extension version: 2020.11.371526539
VS Code version: Code 1.51.1 (e5a624b788d92b8d34d1392e4c4d9789406efe8f, 2020-11-10T23:34:32.027Z)
OS version: Windows_NT x64 10.0.19041
Remote OS version: Linux x64 5.4.0-54-generic

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-5300U CPU @ 2.30GHz (4 x 2295)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
7.88GB (1.94GB free)

Process Argv
--crash-reporter-id 28237666-e28f-4c17-a38f-eea0e6746a6b

Screen Reader
no

VM
0%

Item
Value

Remote
SSH: sandlet

OS
Linux x64 5.4.0-54-generic

CPUs
Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz (4 x 3509)

Memory (System)
15.55GB (0.77GB free)

VM
0%

Unfortunately you didn't fill out our issue template, so please open a new issue with those details filled in. Also please be clear as to what you mean by "breadcrumbs" (i.e. for file paths?), as displaying file path breadcrumbs and outlines is controlled by VS Code, we just provide the data to be displayed.


Silencing warnings issued by numpy functions within dask.array

NumPy's NaN-skipping aggregation functions issue warnings when they encounter all NaN slices, e.g.,
In [2]: np.nanmean([np.nan])
/Users/shoyer/miniconda3/envs/xarray-py36/bin/ipython:1: RuntimeWarning: Mean of empty slice
  #!/Users/shoyer/miniconda3/envs/xarray-py36/bin/python
Out[2]: nan

As far as xarray is concerned, NaN is the right answer for these cases. So we silence these NumPy warnings, which works with NumPy, but unfortunately not with dask.array:

Functions like np.nanmean issue warnings at compute time, outside our warnings.catch_warnings() context.
Sometimes, dask arrays operations end up issuing new warnings (e.g., due to division by 0 when calculating the mean).

Some possibilities for dealing with this:

Issue these irrelevant warnings, which needlessly annoys and distracts users. This is the current status quo.
Silence these warnings unilaterally, which could hide bugs in non-xarray code.
Rewrite the relevant dask.array functions to optionally call warning silenced version of NumPy functions. This would need to be in dask.array itself to be maintainable, but there isn't a good place in dask.array's API to inject lists of warnings to silence.
Always silence warnings when computing with dask, under the theory that warnings without good stacklevel identification are not so useful and  these get lost when computing with processes anyways. This seems like wishful thinking.
Add some magic to dask where it automatically logs warnings filters that were activated when a lazy function was added to a dask graph, and then restores them with executing the function. This sounds like the cleanest option, but it might have prohibitively large overhead. Possibly we could do this only for functions known to issue warnings, but if we were really careful about this it would be a very long list (e.g., including any numpy function that does division).

xref https://github.com/pydata/xarray/issues/1652

I'd like to second this issue. I am having a hard time explaining to co-workers who aren't familiar with dask, but are reviewing my code why I have to add an extra set of warning filters in odd places that don't immediately appear to have anything to do with computation, such as places where data gets saved out.
Perhaps the dask object should record what the warnings filter is when the dask object was created and utilize it when compute() is called? (I know, easier said then done). Would be nice to also check numpy's errstate as well, but I don't know now it well enough to know if that can be introspected.

I have no strong feelings on this topic.  It looks like this issue needs two things:

Discussion to determine which policy is best
Someone to implement that policy

I encourage people to discuss this topic further to determine what policy is best.

The best immediate solution might be simply redirecting all warnings to logging during evaluation of a dask graph, e.g., with logging.captureWarnings. This at least makes it easy to customize how warnings are handled by dask all in one place, and to silence warnings issued via dask without silencing other warnings.
It would possibly also make sense to set a default NullHandler (per these instructions), which would ensure that the warnings are accessible but not won't end up in stderr unless explicitly requested. Or we could leave setting up the NullHandler to user code.

It's not enough to manage warnings.catch_warnings, one would also need to manage np.errstate, since either can be used to silence a RuntimeWarning.  Perhaps not in the example at the OP, but if I have
np.array([1, 2, nan]) < 1.5
then it's quite valid to use
with np.errstate(invalid="ignore"):
    np.array([1, 2, nan]) < 1.5

Unfortunately, this will have no effect if we replace the array by a dask array.

From a user point of view, ideally I would like something that mimics the numpy errstate context manager closely, so that a user could write:
with dask.errstate(invalid="ignore"):
    da = da.where(v <= 1.5)

I'm new to dask, but I imagine that dask would store a copy of np.geterr() with each task at submission time, then use this with np.errstate() when computing each task.  But that only works for cases that are covered by np.errstate, which nanmean is not; I suspect it may be more complicated to apply the same for warnings filters.

That sounds like a good approach. Are you interested in working on this, @gerritholl?

In principle, interested yes, but I can't allocate time to this right now (also because I would need to learn a lot more about dask first).

cc @jakirkham , you might find this interesting

Sure I've been tracking this for a little bit.
My understanding is we are looking for a solution like this. @shoyer, would you be able to confirm if this matches what you are looking for?

@jakirkham Yes, a dask version of np.errstate would solve part of this problem.
More generally, we'd also like the ability to filter warnings more generally within a context manager, e.g., to handle cases like this one inside xarray:
    with warnings.catch_warnings():
        warnings.filterwarnings('ignore', "In the future, 'NAT == x'")

        flag_array = (arr1 == arr2)

So you might want something like dask.catch_warnings() as well.

We can probably set some sort of config option to handle warnings. These also can be set with a context manager. dask.catch_warnings() could then be a user friendly way of setting that config option.

I wonder if dask could safely copy the active value of warnings.filters
into the graph directly rather than having its own configuration option.
On Tue, Jun 25, 2019 at 9:35 AM jakirkham<EMAIL_ADDRESS>wrote:

We can probably set some sort of config option to handle warnings. These
also can be set with a context manager. dask.catch_warnings() could then
be a user friendly way of setting that config option.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/issues/3245?email_source=notifications&email_token=AAJJFVUKBBAAXVMJRO2F233P4JCMJA5CNFSM4ETPC7PKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYQ2Y2Q#issuecomment-505523306,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJJFVXHJ4ZKAEH6LZ2PN4LP4JCMJANCNFSM4ETPC7PA
.

+1 on this point. My original point isn't addressed here, and that is that
when I write up some generic function that expects numpy-like arrays, I
have already been setting the errstate for numpy. Then along comes a dask
array and all of the sudden, my errstate settings don't apply any more. I
don't want to have to import a dask package (and thereby have a dask
dependency where I didn't have one before), and have to set the errstate
twice on the off-chance that one of my inputs is actually a dask array
under the hood.
On Tue, Jun 25, 2019 at 12:45 PM Stephan Hoyer<EMAIL_ADDRESS>wrote:

I wonder if dask could safely copy the active value of warnings.filters
into the graph directly rather than having its own configuration option.
On Tue, Jun 25, 2019 at 9:35 AM jakirkham<EMAIL_ADDRESS>wrote:

We can probably set some sort of config option to handle warnings. These
also can be set with a context manager. dask.catch_warnings() could then
be a user friendly way of setting that config option.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<
https://github.com/dask/dask/issues/3245?email_source=notifications&email_token=AAJJFVUKBBAAXVMJRO2F233P4JCMJA5CNFSM4ETPC7PKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYQ2Y2Q#issuecomment-505523306
,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/AAJJFVXHJ4ZKAEH6LZ2PN4LP4JCMJANCNFSM4ETPC7PA
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/issues/3245?email_source=notifications&email_token=AACHF6GJKFLH52BEB67TUN3P4JDRNA5CNFSM4ETPC7PKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYQ3VOY#issuecomment-505526971,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACHF6FE6S7FW5NRE43B5ZDP4JDRNANCNFSM4ETPC7PA
.

We could definitely do this for NumPy with np.geterr. I don't know if
warnings.filters is a public API, though. Also there are potentially
performance implications to setting warnings filters in every task.
On Tue, Jun 25, 2019 at 10:35 AM Benjamin Root<EMAIL_ADDRESS>wrote:

+1 on this point. My original point isn't addressed here, and that is that
when I write up some generic function that expects numpy-like arrays, I
have already been setting the errstate for numpy. Then along comes a dask
array and all of the sudden, my errstate settings don't apply any more. I
don't want to have to import a dask package (and thereby have a dask
dependency where I didn't have one before), and have to set the errstate
twice on the off-chance that one of my inputs is actually a dask array
under the hood.
On Tue, Jun 25, 2019 at 12:45 PM Stephan Hoyer<EMAIL_ADDRESS>wrote:

I wonder if dask could safely copy the active value of warnings.filters
into the graph directly rather than having its own configuration option.
On Tue, Jun 25, 2019 at 9:35 AM jakirkham<EMAIL_ADDRESS>wrote:

We can probably set some sort of config option to handle warnings.
These
also can be set with a context manager. dask.catch_warnings() could
then
be a user friendly way of setting that config option.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<

https://github.com/dask/dask/issues/3245?email_source=notifications&email_token=AAJJFVUKBBAAXVMJRO2F233P4JCMJA5CNFSM4ETPC7PKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYQ2Y2Q#issuecomment-505523306

,
or mute the thread
<

https://github.com/notifications/unsubscribe-auth/AAJJFVXHJ4ZKAEH6LZ2PN4LP4JCMJANCNFSM4ETPC7PA

.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<
https://github.com/dask/dask/issues/3245?email_source=notifications&email_token=AACHF6GJKFLH52BEB67TUN3P4JDRNA5CNFSM4ETPC7PKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYQ3VOY#issuecomment-505526971
,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/AACHF6FE6S7FW5NRE43B5ZDP4JDRNANCNFSM4ETPC7PA
.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/issues/3245?email_source=notifications&email_token=AAJJFVSV4ZJII3V5EXBJBFTP4JJNDA5CNFSM4ETPC7PKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYRAJ2Y#issuecomment-505545963,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJJFVTTVVUPRRBYBKHBCMDP4JJNDANCNFSM4ETPC7PA
.

Just wanted to add a +1 to this feature request!

+1 here as well.. but am wondering if theres a way to suppress general warnings beyond those generated by np

+1

+1

Please do not leave +1s on issues. If you have something semantic to add, please feel free. Otherwise add a 👍 on the issue. Thanks.

(I added and deleted a comment because I thought this was the issue on the xarray repo, apologies)

Any solution? There are huge logs of such warnings in the ipython notebook...

+1 on this issue, the the error logs are growing a lot because of the warning message

When running my code I am getting lots of warnings like "dask/core.py:119: RuntimeWarning: invalid value encountered in true_divide". From the discussion above I understand there is currently no way to silence those warnings (np.seterr(invalid='ignore') does not work). Is that correct?

@bertcoerver Since you're defining cve2 yourself, you can catch warnings before np.nanmean is called, just like it's done here:
https://github.com/dask/dask/pull/9916/files#diff-b60d0c0c32d24414e50ffbedb190c9e227b6b7db7e4727d1121b2e6bde68073fR645-R649

Thanks @j-bennet but I tried that and doesnt work because Numba doesnt like it.

I am sorry if I am a pain, but this issue is making my Jupyter notebooks really messy. The useful output is getting hard to find among the warnings. It's getting hard to work this way.

@vnoel Which function are you getting those from?

@j-bennet I am reading a lot of netCDF files with open_mfdataset() into a single dataset, and then dividing one of the dataset variables by another variable of the dataset.

@vnoel

Is there a way to request warning filtering once at the beginning of a notebook?

It's possible to ignore warnings globally in a notebook, by setting the PYTHONWARNINGS env var:
%env PYTHONWARNINGS=ignore

Also bumping into this in SciPy!

Add some magic to dask where it automatically logs warnings filters that were activated when a lazy function was added to a dask graph, and then restores them with executing the function. This sounds like the cleanest option, but it might have prohibitively large overhead. Possibly we could do this only for functions known to issue warnings, but if we were really careful about this it would be a very long list (e.g., including any numpy function that does division).

This would be great to see. The alternative solution for us looks like injecting filterwarnings conditionally on whether we are testing Dask arrays vs NumPy, but it would be a lot cleaner if Dask was considerate of np.errstate contexts itself.


What's the purpose of interleave in mixmatch.py

Hi authors, thanks very much for the amazing work. I wonder what's the purpose of interleave function in the mixmatch.py. I tried to remove this, but the performance is very bad. I can't find any description about this in the github repo or papers.
https://github.com/google-research/mixmatch/blob/9096b685ceae4bbdae8d342619ad56a8cb992d1c/mixmatch.py#L71-L78

Also, I can't understand the role of post_ops. I know that only the ops in post_ops can be evaluated, such that BN is updated only for some special cases, in other cases BN will be frozen, but for what cases?
Thanks very much.

Interleave is simply forming batches of items that come from both labeled and unlabeled batches. Since we only update batch norm for the first batch, it's important that this batch is representative of the whole data.
BN is only updated for the first batch.
Post ops contains only the operations to perform after the gradient update: update batch norm, do weight decay, update moving average weights.

Thanks for your reply.

If the BN is updated for all batches, what will happen?

I am not sure, typically in fully supervised learning one only runs one batch and thus updates batch norm only once.

Thanks very much.

@bl0 did you try update BN for all batches, what do you observe ?

The results are bad. So maybe we should be careful about the BN.

Hi, I didn't know this trick. As @bl0, I also found that this interleaving avoids performance drop quite well.
Are there any references for this?

I'm not sure about references. There are many ways to train with batch norm (for example, one could make a giant batch of everything), I simply chose that solution (interleaving) because I was considering doing multi-GPU and I wanted a homogeneous batch.

Hi authors,
In mixmatch.py, you forward three batches(one labeled and two unlabeled) separately and use interleave to get a batch which can represent the whole data, why we cannot forward them together?
I tried to forward them together but got a bad performance.

I don't know. It could be the way you made change introduced a bug, it could be that there it introduces a different behavior but I don't remember if it is the case: this research was done a year ago.
Please update this thread if you find the reason so others can benefit.


Uri combiner

Mainly applying the UriCombiner plan for bypassing UriBuilder's different behavior in different versions. Also adding some getters to the Request.Builder for use in hub-common.


bump version for release

1.18.0
0.35.0

Should #471 go out with this?

Codecov Report

Merging #473 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #473   +/-   ##
=========================================
  Coverage     71.01%   71.01%
  Complexity      743      743
=========================================
  Files           156      156
  Lines          3340     3340
  Branches        240      240
=========================================
  Hits           2372     2372
  Misses          875      875
  Partials         93       93

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 0ddedab...14118ca. Read the comment docs.

LGTM
#471 is optional for this bump


sdk: Use new manifests location

This is a part of my effort to move manifest files to a saner location within the scripts repository.

[ ] Changelog entries added in the respective changelog/ directory (user-facing change, bug fix, security fix, update)
[ ] Inspected CI output for image differences: /boot and /usr size, packages, list files for any missing binaries, kernel modules, config files, kernel modules, etc.

CI with this PR passed, see https://github.com/flatcar/scripts/pull/1304.


Subject (formerly "on behalf of") tokens

I need to secure a couple of rest services and I'm using Spring Boot (along with Spring Security) and Spring Security OAuth.  These services belong to a resource server and they assume that the users making the request are already authenticated, so they only verify the token's validity and the authorities to see if the users have the proper authorization to the service that they're calling.
I also have "on behalf of" tokens, as specified here: https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-02#section-2.2
I didn't find a way to verify these "on behalf of" tokens in Spring Security OAuth, so I did the following: I created a custom class that extends JwtAccessTokenConverter.  Here I overloaded the decode() method as follows:
@Override
protected Map<String, Object> decode(String token) {
    Map<String, Object> decodedToken = super.decode(token);
    Map<String, Object> result = new HashMap<>(decodedToken);

    if (decodedToken.containsKey("on_behalf_of")) {
        // this token is an "on behalf of" token
        String representedUserToken = (String) decodedToken.get("on_behalf_of");
        result = super.decode(representedUserToken);
    }

    return result;
}

Finally I added this custom class to the ResourceServerSecurityConfigurer as follows:
@Override
public void configure(ResourceServerSecurityConfigurer resourceServerSecurityConfigurer) throws Exception {
    CustomJwtAccessTokenConverter jwtTokenEnhancer = new CustomJwtAccessTokenConverter();

    resourceServerSecurityConfigurer.tokenStore(new JwtTokenStore(jwtTokenEnhancer));
}

I was wondering if there's a better way to archieve this, being able to validate and authorize an "on behalf of" token, so the final security context has the scopes of the represented user.
Thanks in advance!!

Any thoughts?

If that works it looks like a pretty small amount of code and quite explicit. So what's the issue?

Hi Dave,
Thank you very much for your answer!!
This is a question rather than an issue.  Since "on_behalf_of" tokens are part of the standard, I figured that Spring Security supports them out of the box, that's why I asked if there's a better way to do it.
If Spring Security does not support "on_behalf_of" tokens, feel free to use my code in case you want to support them.
Best regards.

Please note that the draft has changed meanwhile and "on_behalf_of" has been renamed to "subject_token". See https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-05

It's now up to version 6. https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-06
I'm interested in a full implementation of this spec as it suits my use case to a tee. And by full, I mean from a authorization server perspective, able to 'swap' tokens by accepting a token in a request and returning a new one in the response.
Is there any appetite for this? Happy to contribute a PR.

It's now up to version 6. https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-06
I'm interested in a full implementation of this spec as it suits my use case to a tee. And by full, I mean from a authorization server perspective, able to 'swap' tokens by accepting a token in a request and returning a new one in the response.
Is there any appetite for this? Happy to contribute a PR.

We are trying to defer new features until later this year (hopefully) when the OAuth features get merged/re-written into the Spring Security core codebase. A PR which can be merged with no changes would stand a chance of breaking that rule and making it into a point release though.

Hmm, the scope of changes I had in mind consisted of creating a new TokenGranter and AuthenticationProvider which deals with verifying and converting/looking up the supplied subject_token. I've got a WIP branch over at https://github.com/spring-projects/spring-security-oauth/compare/master...puug:token-exchange if that gives you a better idea of what I mean. I haven't touched the client side or xml configuration yet though.

Closing this issue. Explanation provided in this comment


<EMAIL_ADDRESS>=><EMAIL_ADDRESS>in OpenAPI endpoints

The email address<EMAIL_ADDRESS>didn't exist.

Shouldn't we ask which is the preference for GA4GH about this topic?

This is/was for discussion... But<EMAIL_ADDRESS>doesn't exist; and contact should be with the developers (OR GA4GH has an address like<EMAIL_ADDRESS>& manages forwarding...).

For 2.0.1


Custom Uninstall Script causes Javascript Initialization errors

Hello,
I am using Castlabs-Electron#v14.2.3-wvvmp to run a Windows App using Shaka Player to play MPEG-DASH content secured using EZDRM.
I recently added the below "nsis" configuration to my app's package.json with a custom "installer.nsh" to remove files post-uninstall.

The problem is that the moment this script was added to the package.json, every build threw the following error after the application was installed and run:

The above error continues to occur unless I put the require("macaddress") inside the function being called. This repeats for all such modules and global variables.
The following are my BrowserWindow settings:

I am unable to find a solution that addresses the problem. If I remove the "nsis" configuration, then the application installs and runs without issue on any system.
I would appreciate any input on why this error is occurring only when I add the "nsis" config and any methods on debugging the issue.
If further information is required, please let me know.

AFAICT this does not look like an ECS related issue, are you seeing the same problem with stock Electron?
My immediate hunch is that this issue is related to electron-builder, not ECS or Electron, but I'm not very familiar with the NSIS installers is I don't really have much advice on that front.

It might just be the builder since stock electron gives me the same problem. Did not think of it that way. Thank you for the pointers. Will let you know if I need further help


fix: move typescript to dev dependencies

Typescript not used in the published npm package

Ah, didn't realize that this has to be done on my end 😅.
Thanks!

Published as version 1.1.9.

thanks.


KeyError: 'url'

Hi,
I've just installed this installer. But in the Home Assistant log i see the following error:
Logger: homeassistant.components.sensor
Bron: helpers/entity_platform.py:366
integratie: Sensor ([documentatie](https://www.home-assistant.io/integrations/sensor), [problemen](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+sensor%22))
Eerst voorgekomen: 17:08:52 (1 gebeurtenissen)
Laatst gelogd: 17:08:52

Error while setting up wakeword_installer platform for sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 366, in _async_setup_platform
    await asyncio.shield(awaitable)
  File "/config/custom_components/wakeword_installer/sensor.py", line 18, in async_setup_entry
    repository_url = config_entry.data[CONF_URL]
                     ~~~~~~~~~~~~~~~~~^^^^^^^^^^
KeyError: 'url'

I've entered:

Github repository: https://github.com/fwartner/home-assistant-wakewords-collection
Folder: en
I've also tried to use the git-repository-url, but that also doesn't work.

Thank you for your report.. Will look into it asap!

It seems to be because the config flow uses CONF_REPOSITORY_URL (repository_url), but the sensor tries to access it with CONF_URL (url).

I did the same and the integration does not seem to work. What it is supposed to happen then?

Maybe check your logs. I also had to manually create the /share/openwakeword or it crashed with a "No such file or directory" error. After does both, it properly copies the wake words to /share/openwakeword. However, it still does not create any actual entities in the UI.

TypeError: argument of type 'NoneType' is not iterable

2024-06-28 16:16:47.727 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up wakeword_installer platform for sensor

Traceback (most recent call last):

  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 366, in _async_setup_platform

    await asyncio.shield(awaitable)

  File "/config/custom_components/wakeword_installer/sensor.py", line 18, in async_setup_entry

    repository_url = config_entry.data[CONF_URL]

                     ~~~~~~~~~~~~~~~~~^^^^^^^^^^

Should be fixed now :)

Should be fixed now :)

not for me:
Sorry, I had a problem talking to Google Generative AI: 400 * GenerateContentRequest.tools[0].function_declarations[20].parameters.properties[orario].format: only 'enum' is supported for STRING type

GenerateContentRequest.tools[0].function_declarations[21].parameters.properties[tempo].type: must be specified

using core version 2024.7.3 with docker.
basically we can't use Gemini since two weeks

Uhm.. This repository has nothing to do with Gemeni at all. It´s only related to openwakewords.

Uhm.. This repository has nothing to do with Gemeni at all. It´s only related to openwakewords.

sorry my mistake


Get Remote Cbor working with Undici

Readme implies it's the fault of undici, I didn't really know how to describe the problem, or if was undici's fault. I know now that I just need to read the stream. This issue is read the stream and get .cbor files readable remotely.

Completed


Non trusted signature OK?

When I downloaded CoPay and verified the MacOS disk image, the output I got suggests that trusting the file is totally up to me: signature was good, but it is untrusted.  Little better than not checking, IMHO.
gpg: Signature made Wed Jan 18 14:30:12 2017 EST using DSA key ID 1112CFA1
gpg: Good signature from "Copay (visit copay.io<EMAIL_ADDRESS>[unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 9D17 E656 BB3B 6163 AE9D  7172 5CD6 00A6 1112 CFA1
Any chance to get a trusted signature?  Or did I just get a hacked copy of the distribution?

That is the right signature, see:
https://github.com/bitpay/copay#how-to-verify-copay-signatures
On Thu, Jan 26, 2017 at 2:22 PM, ChrisMiami<EMAIL_ADDRESS>wrote:

When I downloaded CoPay and verified the MacOS disk image, the output I
got suggests that trusting the file is totally up to me: signature was
good, but it is untrusted. Little better than not checking, IMHO.
gpg: Signature made Wed Jan 18 14:30:12 2017 EST using DSA key ID 1112CFA1
gpg: Good signature from "Copay (visit copay.io<EMAIL_ADDRESS>[unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 9D17 E656 BB3B 6163 AE9D 7172 5CD6 00A6 1112 CFA1
Any chance to get a trusted signature? Or did I just get a hacked copy of
the distribution?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/bitpay/bitcore-wallet-service/issues/626, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAGCHEYN_JHaVTM4WQkMAT3dnnWgP_SBks5rWNZWgaJpZM4Lu5wo
.

--
BitPay.com

"Trusted" in this context means "you have not added this public key to your web of trust."
Normally, to prevent MITM attacks, people meet in person at conferences and sign each other's keys, which basically states "I have verified directly from the person themself in person that this key is actually theirs, and I trust them to be honest and not lie about who they have verified"
If you trust that only Bitpay has control over their website and SSL cert, then the only other way someone could MITM attack you is if they control your browser or your PC. So ascertain your risk factor (probably extremely low) and decide whether you want to trust the executable.
tl;dr "Trust" in that context is not relevant to 99% of users. Though you will want to have a strong presence on the web of trust for situations like your website getting hacked... (but there's also the possibility that their pgp key could be stolen, in which case they should revoke and rekey immediately)

I can also verify that the key fingerprint you pasted matches the fingerprint I have on my record.


Update test to be compatible with go 1.7

A slight change in the text of an error caused the build to be
failing. This change updates the test to work with both versions
and also updates the travis configuration to no longer test
go1.5 and adds go1.7.
@mbhinder @zquestz @yaso195 @lilirui

LGTM


Loader option fit does not work

Describe the bug
When I try to load an image which is rectangular and crop it to square:
<Image
  alt=""
  options={{
    fit: ImageFit.COVER,
  }}
  responsive={[
    {
      maxWidth: 800,
      size: {
        height: 800,
        width: 800,
      },
    },
  ]}
  src="https://images.unsplash.com/photo-1655241459367-c95abd34d0bc"
/>

It does not work, the image is distorted, it is not cropped. This part in url &width=800&height=800&fit=cover does not give me anything. On the other hand it works on unsplash (&fit=crop&w=500&h=500&q=80): https://images.unsplash.com/photo-1655241459367-c95abd34d0bc?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=500&h=500&q=80
What I do wrong? :)
Your Example Website or App
No response
Steps to Reproduce the Bug or Issue
Try to create <Image /> with option fit: ImageFit.COVER. Inspect the image. It is not cropped.
Expected behavior
When we use fit: ImageFit.COVER and provided size of an image is different from its own ratio - it should be cropped.
Screenshots or Videos

Platform

OS: [e.g. macOS, Windows, Linux]
Browser: [e.g. Chrome, Safari, Firefox]
Version: [e.g. 91.1]

Additional context
No response

It works fine when I use sharp transformer from documentation (remember to remove .tmp/ folder after changing transformer). So maybe in this case that is the solution.

Unfortunately that's a limitation of the pureTransformer (that has been extracted to the package js-image-lib)
I originally wrote this library using Sharp by default, but I realized a pure js default would be better in order to support Cloudflare.
js-image-lib does not currently support this operation, but it's on the timeline. If you are interested in contributing, feel free to work on this issue! Otherwise, this is the reason why the documentation highly recommends using Sharp without using it by default.

Great! In the meantime, if your use case will always require square images, you can crop the image first: https://remix-image.mcfarl.in/docs/component#transformoptions

export interface CropOptions {
  /** The x position of the upper left pixel. */
  x: number;
  /** The y position of the upper left pixel. */
  y: number;
  /** The number of pixels wide to crop the image. */
  width: number;
  /** The number of pixels high to crop the image. */
  height: number;
}

@tomekrozalski Just wanted to mention that I incorporated changes into the latest releases of js-image-lib and Remix-Image to support fit and position in pureTransformer, so they can be used on all environments, not just those that support using Sharp