move facebook app_id out of the module to enable events auto logging

I'm trying to have AutoLogAppEventsEnabled=true to log basic statistics such as installs, launches, session lengths, retention without doing this all manually. No matter what I've tried would not make it work until I got to change app_id to mine in the module resources android/res/values/strings.xml. So its current content is this:
<?xml version='1.0' encoding='UTF-8'?>
<resources>
	<string name="facebook_app_id">SOMEONES_APP_ID</string>
  	<string name="fb_login_protocol_scheme">fbSOMEONES_APP_ID</string>
</resources>

where SOMEONES_APP_ID is actually a number, but just didn't want to share it here. After changing this number to my app_id, basic events auto logging started to work.
Is there a way to set this number without recompiling this Godot module and Android templates? Basically this also means, that for each app_id (if there's several like production or dev) one would need to have a dedicated android godot template.
I've tried removing this from the android manifest file:
<meta-data android:name="com.facebook.sdk.ApplicationId"
		   android:value="@string/facebook_app_id" />

But then I get the following error on app startup and auto logging wouldn't work:
08-23 09:13:41.077 29237 29237 I FacebookInitProvider: Failed to auto initialize the Facebook SDK
08-23 09:13:41.077 29237 29237 I FacebookInitProvider: A valid Facebook app id must be set in the AndroidManifest.xml or set by calling FacebookSdk.setApplicationId before initializing the sdk.
08-23 09:13:41.077 29237 29237 I FacebookInitProvider: 	at com.facebook.FacebookSdk.sdkInitialize(FacebookSdk.java:294)
08-23 09:13:41.077 29237 29237 I FacebookInitProvider: 	at com.facebook.FacebookSdk.sdkInitialize(FacebookSdk.java:250)

So I found then this line to change to set app_id from the godot script and  init facebook manually:
<meta-data android:name="com.facebook.sdk.AutoInitEnabled"
		   android:value="false"/>

But it doesn't seem to do anything and the there's still same exception "failed to auto init sdk".
Given that in Godot project you can set Android permissions which then get injected into the build, so I wonder if these tags from the  strings.xml can be also somehow taken from the godot project settings.
Trying to make this work on Godot 3.1.1-stable branch.

I've just had a functioning iOS build with the Facebook SDK and compared to it, Android far easier, so I don't know any more how much of an issue this one is. Though I can probably see ways to automate iOS build without rebuilding Godot iOS templates.

Plugin updated and using now new plugin management system.


wasabiwallet: 2.0.2 -> <IP_ADDRESS>

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/zkSNACKs/WalletWasabi/releases.
meta.description for wasabiwallet is: "Privacy focused Bitcoin wallet"
meta.homepage for wasabiwallet is: "https://wasabiwallet.io/"
meta.changelog for wasabiwallet is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found <IP_ADDRESS> with grep in /nix/store/9s412lavcnj66bbhr7kga8xsmgs2q13r-wasabiwallet-<IP_ADDRESS>
found <IP_ADDRESS> in filename of file in /nix/store/9s412lavcnj66bbhr7kga8xsmgs2q13r-wasabiwallet-<IP_ADDRESS>

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
wasabiwallet

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/9s412lavcnj66bbhr7kga8xsmgs2q13r-wasabiwallet-<IP_ADDRESS> \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A wasabiwallet https://github.com/r-ryantm/nixpkgs/archive/49d2f6a2705f100dbdb53663f244cf33a46315fd.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/9s412lavcnj66bbhr7kga8xsmgs2q13r-wasabiwallet-<IP_ADDRESS>
ls -la /nix/store/9s412lavcnj66bbhr7kga8xsmgs2q13r-wasabiwallet-<IP_ADDRESS>/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

wasabiwallet

Maintainer pings
cc @mmahut for testing.

@mmahut Fails to run for me
2022-08-12 21:57:07.165 [1] CRITICAL	Program.Main (134)	System.DllNotFoundException: Unable to load shared library 'libICE.so.6' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibICE.so.6: cannot open shared object file: No such file or directory

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/zkSNACKs/WalletWasabi/releases.
meta.description for wasabiwallet is: "Privacy focused Bitcoin wallet"
meta.homepage for wasabiwallet is: "https://wasabiwallet.io/"
meta.changelog for wasabiwallet is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.0.2 with grep in /nix/store/b1p5my9k906k0bv77irmyigmb3mwl3sx-wasabiwallet-2.0.2
found 2.0.2 in filename of file in /nix/store/b1p5my9k906k0bv77irmyigmb3mwl3sx-wasabiwallet-2.0.2

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
wasabiwallet

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/b1p5my9k906k0bv77irmyigmb3mwl3sx-wasabiwallet-2.0.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A wasabiwallet https://github.com/r-ryantm/nixpkgs/archive/7d99593a9ec2cbe27de1953a194aa3030860a158.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/b1p5my9k906k0bv77irmyigmb3mwl3sx-wasabiwallet-2.0.2
ls -la /nix/store/b1p5my9k906k0bv77irmyigmb3mwl3sx-wasabiwallet-2.0.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

wasabiwallet

Maintainer pings
cc @mmahut for testing.

Also fails for me with the same error message for <IP_ADDRESS> and 2.0.2.

Fixed here: https://github.com/NixOS/nixpkgs/pull/198723

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/zkSNACKs/WalletWasabi/releases.
meta.description for wasabiwallet is: "Privacy focused Bitcoin wallet"
meta.homepage for wasabiwallet is: "https://wasabiwallet.io/"
meta.changelog for wasabiwallet is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found <IP_ADDRESS> with grep in /nix/store/dgxyjz3jgfk8lr85yradnvlm360qdwm6-wasabiwallet-<IP_ADDRESS>
found <IP_ADDRESS> in filename of file in /nix/store/dgxyjz3jgfk8lr85yradnvlm360qdwm6-wasabiwallet-<IP_ADDRESS>

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
wasabiwallet

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/dgxyjz3jgfk8lr85yradnvlm360qdwm6-wasabiwallet-<IP_ADDRESS> \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A wasabiwallet https://github.com/r-ryantm/nixpkgs/archive/a72c69e4ed6966ebbafbacd6eb4e58bdb99003a1.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/dgxyjz3jgfk8lr85yradnvlm360qdwm6-wasabiwallet-<IP_ADDRESS>
ls -la /nix/store/dgxyjz3jgfk8lr85yradnvlm360qdwm6-wasabiwallet-<IP_ADDRESS>/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

wasabiwallet

Maintainer pings
cc @mmahut for testing.

@ofborg build wasabiwallet wasabiwallet.passthru.tests


Variables are not being assigned/parsed into process.env

I'm probably doing something really wrong, but i can't find what...
import dotenv from 'dotenv'
import dotenvParseVariables from 'dotenv-parse-variables'

let env = dotenv.config()
if (env.error || !env.parsed) throw env.error
env = dotenvParseVariables(env.parsed, { assignToProcessEnv: true, overrideProcessEnv: true })
console.log(process.env)

My .env file:
PORT=3000
JWT_SECRET=token

What I got from process.env:
{
  PORT: '3000', // String
  JWT_SECRET: 'token'
}

What I expect:
{
  PORT: 3000, // Number
  JWT_SECRET: 'clinica'
}

What I'm doing wrong?

If you can add a failing test in this repository and submit as a PR that'd be great

I think this issue is related to the fact that process.env will always transform its values into a string.
I've just tested this non-lib-related chunk
process.env["HI"] = 666;
console.log(process.env["HI"], typeof process.env["HI"]);

And for my surprise this is the output


Localization and Internationalization

Address Form Fields
For IFAW, we created Address Localization. Let's get that merged in behind a functional flag. Let's also ensure it works both with 2-letter and 3-letter country ISO codes.
Examples:

GBR: https://action.ifaw.org/page/41764/action/1?supporter.country=GBR
USA: https://action.ifaw.org/page/41764/action/1?supporter.country=USA
CAN: https://action.ifaw.org/page/41764/action/1?supporter.country=CAN
FRA: https://action.ifaw.org/page/41764/action/1?supporter.country=FRA
NLD: https://action.ifaw.org/page/41764/action/1?supporter.country=NLD
DEU: https://action.ifaw.org/page/41764/action/1?supporter.country=DEU

Other Form Fields
We should set up optional localization for Common Form Fields, matching Stripe's supported languages

Danish (da)
Dutch (nl)
English (en)
Finnish (fi)
French (fr)
German (de)
Italian (it)
Japanese (ja)
Norwegian Bokmål (nb)
Polish (pl)
Portuguese (pt)
Simplified Chinese (zh)
Spanish (es)
Swedish (sv)

Advocacy Action "To" Field
	window.addEventListener("load", function(){
        if('locale' in pageJson){
    	    var recipient_block = document.querySelectorAll(".recipient-block");
    	    switch (pageJson.locale) {
              case "fr-FR":
                recipient_block.forEach(elem => (elem.innerHTML = 'À:'));
                break;
              case "de-DE":
                recipient_block.forEach(elem => (elem.innerHTML = 'Zu:'));
                break;
              case "nl-NL":
                recipient_block.forEach(elem => (elem.innerHTML = 'Aan:'));
                break;
            }
    	}

This is done


Use asyncio in Python grpc stubs and ECU framework

When building on a Linux+ARM64 host using Docker engine, the Dockerfile failed to execute protoc compiler documentation plugin as it was hardcoded for AMD64.
Also refactored the Dockerfile according to best practicies.

No poetry!

Får följande fel när jag kör ./docker-build.sh
root:x:0:
adduser: The UID 0 is already in use.


Ability to use an arbitrary view as the output type

I mean SQL query as a data source for an arbitrary view (showView, list, feed, etc.)

this you can now do with the SQL table provider @Ingenu1ty @0luckyluke


Master

Small change to allow multiple tags to be passed to tag methods as an array

Hello,
This is a very simple sample of the object I pass to this step:
  var testCustomRules = {
        singleTermRegularExpressions: //like in emoji step - regX match // this is the first pass
        [{
            description: '4-digit-year', //this is just ref...
            //normalize: { from: 'a', to: 'b' }, // this is a text replace
            regX: /^(\(|\[)?[1-2]\d{3}(\)|\])?$/, // /\b(\(|\[)?[1-2]\d{3}(\)|\])?\b[^-]/,
            tags: ['Legal', 'LegalFourDigitYear']
        },
        {
            description: 'year-range', //this is just ref...
            //normalize: { from: 'a', to: 'b' }, // this is a text replace
            regX: /^(\(|\[)?[1-2]\d{3}-(?:\d{2}){1,2}(\)|\])?$/,
            tags: ['Legal', 'LegalYearRange']
        }
        ],
        lumpExpressions: //like in dates (ie. tags # instead of regx match) //this is a second pass
        [{
            description: 'lumpRule1',
            match: '#Person #Legal',
            tags: 'PLegal1'
        },
        {
            description: 'lumpRule2',
            match: '#Verb #Legal',
            tags: ['PLegal3', 'PLegal4']
        }
        ]
    };

hey Leo, this is neat. Thanks for doing this.
let me spend some time pondering on this.
I like the idea of passing-in more controls for tagging - what's the advantage for doing this instead of tagging 'in post'? Users could always run this:
myTaggedText.match('#Verb #Legal').tag('PLegal3').tag('PLegal4') //....

hey, come to think of it, since you're extending the tagset here too, maybe that oughta come into this somehow. I tried using that 4rth parameter a few weeks ago to somehow to extend the tag-heirarchy so that PLegal4 defines PLegal3 or whatever too.
any thoughts on that?

maybe the custom regex is a thing in itself too. And the lumper. That's pretty powerful

if we had user-defined lumping of two terms, i'd prefer it lived as an api - something like:
nlp('dr John was cool').match('dr #Person').lump().terms(0).out() //'dr John'

Hey Spencer,
Yes, all this stuff is not finalised or by any means production ready, I just wanted to show you how I am poking and changing compromise to just find out more about it.
At this particular point, my main need was to use regEx to tag terms...
It would be great to have a plugin architecture :p (only joking)
I love the idea of a lumping method in the api.
Tag hierarchy is a great idea but i really didn't spend any time looking at it. Will do soon.


Messaging doesn't redirect to /auth if not logged in

To Reproduce
Steps to reproduce the behavior:
enter incognito mode, go to https://latest.cortezaproject.org/messaging/. There will be a white screen and 3 console errors (Unauthorized).
Expected behavior
Redirect to /auth
Screenshots

Desktop (please complete the following information):
Ubuntu 19.4; Google Chrome

It happened because corteza-webapp-common wasn't updated and https://github.com/cortezaproject/corteza-webapp-common/commit/5ecaa70769c315d66ac67ef64557fb860cd15fa5 was not applied.


Enable at-any-time security updates from Renovate

Description

Spurred by a conversation @dhruvkb brought up about the dependabot security update PRs not including the correct labels, now that we've removed the dependabot configuration in favour of renovate.
I'm hoping this change allows Renovate to open security updates "at any time" rather than waiting for the start of the month.
We can merge this and then the next time a security update comes along, see whether Renovate opens a PR like dependabot does. If we confirm that Renovate is now working to replace that part of dependabot as well, we can fully disable dependabot PRs.
Testing Instructions

N/A. Merge and wait until the next vulnerability in a dependency happens. And merge and make sure Renovate doesn't suddenly open a huge number of PRs we didn't mean it to.
Checklist

[x] My pull request has a descriptive title (not a vague title likeUpdate index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[N/A] I added or updated tests for the changes I made (if applicable).
[N/A] I added or updated documentation (if applicable).
[N/A] I tried running the project locally and verified that there are no visible errors.
[N/A] I ran the DAG documentation generator (if applicable).

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

This is not working as intended, #3953 was opened by dependabot, but nothing from renovate.
We might need to update the overall frequency to immediate PRs, and then modify the non-security scope to have less frequent PRs. Might also be necessary to unlock renovate's PR limit overall and also only limit it with respect to non-security updates.


chore(main): release 0.42.2

:robot: I have created a release beep boop
0.42.2 (2024-11-14)
Bug Fixes

bump cedricziel/faro-shop-php from 8.4.7 to 8.4.8 (#990) (55b0d76)
bump doctrine/doctrine-fixtures-bundle from 3.6.1 to 3.6.2 (#984) (930b63c)
bump laravel/framework from 11.30.0 to 11.31.0 (#985) (c3ace48)
bump laravel/prompts from 0.3.1 to 0.3.2 (#986) (624796b)
bump laravel/serializable-closure from 1.3.5 to 1.3.6 (#987) (d1dac24)
bump liip/test-fixtures-bundle from 3.1.0 to 3.1.1 (#983) (37b43ab)
bump monolog/monolog from 3.7.0 to 3.8.0 (#979) (d9fd170)
bump phpdocumentor/reflection-docblock from 5.5.1 to 5.6.0 (#978) (bc6d73e)
bump phpstan/phpdoc-parser from 1.33.0 to 2.0.0 (#982) (eb13ce5)
bump the symfony group with 16 updates (#981) (f1c5a52)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

0.42.2
:sunflower:


Add option for implicit line feed/carriage return

Type: Feature Request
I'd like to have the option to display text with an implicit line feed '\n' for every carriage return '\r' or an implicit carriage return for every line feed. This is a feature in PuTTY that allows the terminal to display properly if a protocol only terminates with one or the other character.

@andrewteta Thanks for the request!
I'll mark this as an enhancement and place it on the backlog. In the meantime, could you provide a screenshot of what this looks like in action so I can fully understand the request?

Here's an example for two input strings: "aabc\r" and "1234\r". The device returns a string terminated with "\r", in this case: "error\r".
VSCode Serial Monitor:

PuTTY with "Implicit LF in every CR" enabled:

In VSCode, the strings end up next to each other because there is no line feed ('\n') in the response. In PuTTY, the terminal is adding a '\n' after each received '\r' to properly display strings with '\r' delimiters on separate lines.
Now that I'm typing this out, I suppose the same thing could be accomplished by adding an expected line terminator for received strings. The options, CR, LF, and CRLF could be used to optionally display received chars on new lines. I'm not sure but a None option might make sense there too.
One more example that suggests the extension is just ignoring '\r' and '\n':
When the device emits "error\rtest\r" the extension displays:


[T4A4][F09-B3] Chen Tiankai

Ready for review.

@TiankaiChen Some comments added. Please close the PR after reading comments. Good job!


Fix "No value present" error when trying to use admin CLI

Resolves #933
The removed filter line required that the command in use be a top level command.  The AdminCliAdapter is registered as a subcommand so this filter always returns 0.
Removing this filter line ensures the command and subcommands are loaded correctly, and that the admin commands can be executed.

Replaced by #939


IngressClass not working with helm template

Hello, in chart version 9.10.1 was pushed a fix into IngressClass Resource #300
The problem is, if i try to helm template traefik/traefik --set ingressClass.enabled=true i get this error: <fail "\n\n ERROR: You must have atleast networking.k8s.io/v1beta1 to use ingressClass">
If i try to helm template traefik/traefik --set ingressClass.enabled=true --api-versions networking.k8s.io/v1beta1/IngressClass, it works.
The problem is, i cannot specify which --api-versions to use because we are using ArgoCD to manage our helm installs, and Argo by default only populates --api-versions with the Capabilities it can find.
I'm gonna use 9.10.0 for now, as it works.
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.3", GitCommit:"1e11e4a2108024935ecfcb2912226cedeafd99df", GitTreeState:"clean", BuildDate:"2020-10-14T12:50:19Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"linux/amd64"}

Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.2", GitCommit:"f5743093fd1c663cb0cbc89748f730662345d44d", GitTreeState:"clean", BuildDate:"2020-09-16T13:32:58Z", GoVersion:"go1.15", Compiler:"gc", Platform:"linux/amd64"}

Same issue with managed kubernetes in DigitalOcean (DOKS), also using ArgoCD to deploy Traefik 2.3.5. Tested with 1.18-2.do and 1.19-3do

Experiencing similar issue on ArgoCD 1.8.1 deploying Traefik chart 9.11.0. I can see in ArgoCD logs that --api-versions networking.k8s.io/v1 --api-versions networking.k8s.io/v1beta1 is passed to the helm template command, but not the specific resources within the api-version.
Helm docs seem to indicate that both the version and resource should be available through Capabilities.APIVersions. This seems like possibly a bug in ArgoCD for not presenting each resource within the apiversion.

I also met. Is there any latest news?

https://github.com/traefik/traefik-helm-chart/blob/master/traefik/templates/ingressclass.yaml
NG
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1/IngressClass" }}
apiVersion: networking.k8s.io/v1
{{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/IngressClass" }}
apiVersion: networking.k8s.io/v1beta1
{{- end }}

good
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
apiVersion: networking.k8s.io/v1
{{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }}
apiVersion: networking.k8s.io/v1beta1
{{- end }}

https://github.com/traefik/traefik-helm-chart/blob/master/traefik/templates/ingressclass.yaml
NG
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1/IngressClass" }}
apiVersion: networking.k8s.io/v1
{{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/IngressClass" }}
apiVersion: networking.k8s.io/v1beta1
{{- end }}

good
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
apiVersion: networking.k8s.io/v1
{{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }}
apiVersion: networking.k8s.io/v1beta1
{{- end }}

@SantoDE

@SantoDE

https://github.com/traefik/traefik-helm-chart/blob/master/traefik/templates/ingressclass.yaml
NG
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1/IngressClass" }}
apiVersion: networking.k8s.io/v1
{{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/IngressClass" }}
apiVersion: networking.k8s.io/v1beta1
{{- end }}

NG
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
apiVersion: networking.k8s.io/v1
{{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }}
apiVersion: networking.k8s.io/v1beta1
{{- end }}

good
apiVersion: networking.k8s.io/v1beta1

from https://github.com/helm/helm/issues/9088
We need to use arg --validate to make template work.

so it is not a bug.

https://github.com/traefik/traefik-helm-chart/blob/master/traefik/templates/ingressclass.yaml
NG
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1/IngressClass" }}
apiVersion: networking.k8s.io/v1
{{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/IngressClass" }}
apiVersion: networking.k8s.io/v1beta1
{{- end }}

NG
{{- if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
apiVersion: networking.k8s.io/v1
{{- else if .Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }}
apiVersion: networking.k8s.io/v1beta1
{{- end }}

good
apiVersion: networking.k8s.io/v1beta1

from https://github.com/helm/helm/issues/9088
We need to use arg --validate to make template work.

so it is not a bug.

any update on this? I am also using ArgoCD to dpeloy traefik and getting same error

As I'm not sure how to reproduce the issue, I'll hold on to my PR ...  Instead of checking for ingressClass presence in a given API, we should be able to solely rely on Kubernetes API version. Could anyone confirm or deny I fixed it, pulling from the following fork:
$ git clone -b fix-ingressclass https://github.com/Worteks/traefik-helm-chart
$ helm install traefik --dry-run --debug ./traefik-helm-chart/traefik --values /your/values.yml

Remove dry-run & debug to actually apply objects. If ArgoCD won't allow applying local charts, and that you have some HTTP server on your own, you should be able to package it, using:
$ helm package traefik/
$ mkdir my-repo-buildroot
$ mv ./traefik-X.Y.Z.tgz my-repo-buildroot/
$ helm repo index my-repo-buildroot --url https://my-repo-fqdn/subpath/for/helm/charts
$ rsync -avWxP my-repo-buildroot/ root@my-repo-fqdn:/var/www/subpath/for/helm/charts

Let us know if that helps.

With PR #693, it will check only Kubernetes version.


If I crop and save an image without editing, the height that arrives to the server is smaller than the original

Hello,
I'm using the default options on cropit and "originalSize" on the export options, however, when I "crop and save" an image without editing it, it seems like the cropper is modifying the height of the asset.
For instance a 1200430 pixel image transforms into a 1200413 image. Is there a way to avoid this or could you tell me why this happen?
Thanks.

One possible reason is that your preview area's height to width ratio is 1200:413, and cropit is keeping that ratio when exporting image.


Module 'glob' is missing

If create a new project without any dependencies and try to build, the Cannot find module 'glob' error happens.
Steps to reproduce:

Create an empty project.
install webpack, webpack-cli and license-checker-webpack-plugin.
Create a webpack.config.js with the follow context:

const LicenseCheckerWebpackPlugin = require("license-checker-webpack-plugin");

module.exports = {
  plugins: [new LicenseCheckerWebpackPlugin()]
};

Run webpack command.

Ugh, you're totally right. I've published v.0.1.6 with glob in the list of dependencies. Sorry about that @MikeDevice!


Delete unreferenced packages when deleting a package version

fixes #20969
Delete a package if its last version got deleted. Otherwise removing the owner works only after the clean up job ran.

But it would still leave invalid user id referenced as owner?

Yes and they get cleaned up the next time the job runs.

Please send backport


Data Mishandling

Currently

[ ] Temp reads as Weather
[ ] Wind reads as Temp
[x] Humidity reads correct?? but seems wrong

Wind actually read as humidity and vice versa.
Temperature is set as description by the time it gets to main.ts
description gets lost somewhere
What should be description is set as icon


the newest version of pdfjs-dist - error Runtime error - TypeError: Cannot read properties of undefined (reading 'AnnotationEditorType')

Configuration:

Web browser and its version: Chrome
Operating system and its version: Windows 11
PDF.js version: 3.9.179

Steps to reproduce the problem:

Runtime error - TypeError: Cannot read properties of undefined (reading 'AnnotationEditorType')
AnnotationEditorType seems to be imported not correctly

Please see https://github.com/mozilla/pdf.js/blob/master/.github/CONTRIBUTING.md (emphasis mine):

If you are developing a custom solution, first check the examples at https://github.com/mozilla/pdf.js#learning and search existing issues. If this does not help, please prepare a short well-documented example that demonstrates the problem and make it accessible online on your website, JS Bin, GitHub, etc. before opening a new issue or contacting us in the Matrix room -- keep in mind that just code snippets won't help us troubleshoot the problem.

Have the same issue. v3.8.162 works great but the new version v3.9.179 has such an error (chrome):
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'PromiseCapability')
    at PDFFindController.reset_fn (:8083/node_modules/.vite/deps/pdfjs-dist_web_pdf_viewer.js?v=f3edd46e:407:57)
    at new PDFFindController (:8083/node_modules/.vite/deps/pdfjs-dist_web_pdf_viewer.js?v=f3edd46e:268:57)

More useful error message from firefox:
Uncaught (in promise) TypeError: _pdfjsLib is undefined
    reset_fn pdf_find_controller.js:591
    PDFFindController pdf_find_controller.js:405

try importing this way:
import * as pdfjs from "pdfjs-dist"
instead of
importpdfjs from "pdfjs-dist"

try importing this way: import * as pdfjs from "pdfjs-dist" instead of importpdfjs from "pdfjs-dist"

I have only such code
import { PDFFindController } from "pdf-dist/web/pdf_viewer"

Duplicate of #16778 (which is the best guess given the lack of a runnable example).

try importing this way: import * as pdfjs from "pdfjs-dist" instead of importpdfjs from "pdfjs-dist"

I have only such code
import { PDFFindController } from "pdf-dist/web/pdf_viewer"

Having the exact same issue.
This is my code
import { getDocument, GlobalWorkerOptions } from 'pdfjs-dist';
import type { DocumentInitParameters } from 'pdfjs-dist/types/src/display/api';
import { EventBus, PDFFindController, PDFLinkService, PDFViewer } from 'pdfjs-dist/web/pdf_viewer';
import { TypedEmitter } from 'tiny-typed-emitter';

import 'pdfjs-dist/web/pdf_viewer.css';
import { pdfRendererUrls } from '@/libs/shared/components/pdfviewer/pdfRendererUrls';

// TODO: Refactor whem migration to vitest is complete to the following:
// GlobalWorkerOptions.workerPort = new Worker(new URL('pdfjs-dist/build/pdf.worker.js', import.meta.url));
GlobalWorkerOptions.workerSrc = pdfRendererUrls.workerSrc;
interface MyClassEvents {
  page: (value: number) => void;
  pages: (value: number) => void;
  scale: (value: number) => void;
  matchescount: (value: MatchesCount) => void;
  initialized: () => void;
}
type EventBusDispatch = {
  find: FindDispatchEventPayload;
};

type EventBusOn = {
  pagesinit: PdfEvent;
  pagechanging: PageChangeEvent;
  scalechanging: ScaleChangeEvent;
  updatefindmatchescount: FindMatchesCountEvent;
  updatefindcontrolstate: FindMatchesCountEvent;
};

interface FindDispatchEventPayload {
  type: '' | 'again';
  query: string;
  highlightAll?: boolean;
  phraseSearch?: boolean;
  findPrevious: boolean;
  entireWord?: boolean;
}

interface PdfEvent {
  source: PDFViewer;
}

interface PageChangeEvent extends PdfEvent {
  pageNumber: number;
  pageLabel: string | null;
  previous: number;
}

interface ScaleChangeEvent extends PdfEvent {
  scale: number;
  presentValue?: number;
}

export interface MatchesCount {
  current: number;
  total: number;
}
interface FindMatchesCountEvent extends PdfEvent {
  matchesCount: MatchesCount;
}

export type SearchType = 'initial' | 'previous' | 'next';

export type PdfRendererScale = number | 'page-width' | 'page-height';

interface PdfRendererOptions {
  src: string | ArrayBuffer;
  initialScale: PdfRendererScale;
}

export class PdfRenderer extends TypedEmitter<MyClassEvents> {
  private pdfViewer: PDFViewer;

  private eventBus = new EventBus();

  // (Optionally) enable hyperlinks within PDF files.
  private pdfLinkService = new PDFLinkService({
    eventBus: this.eventBus,
  });

  // (Optionally) enable find controller.
  private pdfFindController = new PDFFindController({
    eventBus: this.eventBus,
    linkService: this.pdfLinkService,
    updateMatchesCountOnProgress: true,
  });

  private pageWidthScale = 1;
  private pageHeightScale = 1;

  constructor(
    private container: HTMLDivElement,
    private options: PdfRendererOptions,
  ) {
    super();

    this.pdfViewer = new PDFViewer({
      container: this.container,
      eventBus: this.eventBus,
      linkService: this.pdfLinkService,
      findController: this.pdfFindController,
      // @ts-expect-error
      l10n: null,
    });

    this.pdfLinkService.setViewer(this.pdfViewer);

    this.initPdf();
    this.initEvents();
  }

  private initPdf = async () => {
    const options: DocumentInitParameters = {
      rangeChunkSize: 512 * 1024,
      disableAutoFetch: true,
      disableStream: true,
      standardFontDataUrl: pdfRendererUrls.standardFontDataUrl,
      cMapUrl: pdfRendererUrls.cMapUrl,
      cMapPacked: pdfRendererUrls.cMapUrl !== undefined,
    };
    if (typeof this.options.src !== 'string') {
      options.data = new Uint8Array(this.options.src);
    } else {
      options.url = this.options.src;
    }
    const loadingTask = getDocument(options);

    const pdfdata = await loadingTask.promise;

    this.pdfViewer.setDocument(pdfdata);
    this.pdfLinkService.setDocument(pdfdata, null);
  };

  private initEvents = () => {
    this.eventBusOn('pagesinit', e => {
      const viewport = this.getCurrentPage().viewport;
      this.pageWidthScale = this.pdfViewer.container.clientWidth / viewport.width;
      this.pageHeightScale = this.pdfViewer.container.clientHeight / viewport.height;
      this.setScale(this.options.initialScale);

      this.emit('pages', e.source.pagesCount);
      this.emit('initialized');
    });

    this.eventBusOn('pagechanging', e => {
      this.emit('page', e.pageNumber);
    });
    this.eventBusOn('scalechanging', e => {
      this.emit('scale', e.scale);
    });
    this.eventBusOn('updatefindmatchescount', e => {
      this.emit('matchescount', e.matchesCount);
    });
    this.eventBusOn('updatefindcontrolstate', e => {
      this.emit('matchescount', e.matchesCount);
    });
  };

  private getCurrentPage = () => {
    return this.pdfViewer.getPageView(this.pdfViewer.currentPageNumber - 1);
  };

  private eventBusDispatch = <T extends keyof EventBusDispatch>(event: T, payload: EventBusDispatch[T]) => {
    this.eventBus.dispatch(event, payload);
  };

  private eventBusOn = <T extends keyof EventBusOn>(event: T, payload: (payload: EventBusOn[T]) => void) => {
    this.eventBus.on(event, payload);
  };

  // public methods
  get scale() {
    return this.pdfViewer.currentScale;
  }

  get isScaledPageWidth() {
    return this.scale === this.pageWidthScale;
  }

  get isScaledPageHeight() {
    return this.scale === this.pageHeightScale;
  }

  setScale = (scale: PdfRendererScale) => {
    if (typeof scale === 'string') {
      if (scale === 'page-width') {
        this.pdfViewer.currentScale = this.pageWidthScale;
        return;
      }
      if (scale === 'page-height') {
        this.pdfViewer.currentScale = this.pageHeightScale;
        return;
      }
    }
    this.pdfViewer.currentScale = scale;
  };

  setPage = (page: number) => {
    this.pdfViewer.currentPageNumber = page;
  };

  search = (query: string, type: SearchType) => {
    this.eventBusDispatch('find', {
      type: type === 'initial' ? '' : 'again',
      query,
      highlightAll: true,
      phraseSearch: true,
      findPrevious: type === 'previous',
    });
  };
}

import { version } from 'pdfjs-dist';

const cdnBasePath = `https://cdn.jsdelivr.net/npm/pdfjs-dist@${version}`;

export const pdfRendererUrls = {
  workerSrc: `${cdnBasePath}/build/pdf.worker.js`,
  cMapUrl: `${cdnBasePath}/cmaps/`,
  standardFontDataUrl: `${cdnBasePath}/standard_fonts/`,
};

I don't really understand why you're adding some comments related to the error Cannot read properties of undefined (reading 'PromiseCapability') when the title of this closed issue is Cannot read properties of undefined (reading 'AnnotationEditorType').
So please open a new bug and avoid to add some useless noise to this one: thank you.

This is my code:
`  import { Component, Vue, Prop } from 'vue-property-decorator';
import * as pdfjsLib from 'pdfjs-dist/build/pdf.js';
import {
NullL10n,
EventBus,
PDFLinkService,
PDFViewer,
PDFSinglePageViewer
} from 'pdfjs-dist/web/pdf_viewer.js';
pdfjsLib.GlobalWorkerOptions.workerSrc = new URL(
'pdfjs-dist/build/pdf.worker.js',
import.meta.url
);`
Do I import something wrongy, I have checked this:
https://github.com/mozilla/pdf.js/blob/master/examples/components/singlepageviewer.html
and it looks same for me
I am not even importing this AnnotationEditorType - it looks like it is library issue
Error:
Runtime error - TypeError: Cannot read properties of undefined (reading 'AnnotationEditorType')     at new PDFViewer (pdf_viewer.js:198:27)     at VueComponent.getAllPagesPdf (CPdfPreview.vue:60:1)     at VueComponent.getPdf (CPdfPreview.vue:56:1)     at VueComponent.mounted (CPdfPreview.vue:111:1)     at invokeWithErrorHandling (vue.runtime.esm.js:3017:61)     at callHook$1 (vue.runtime.esm.js:4031:13)     at Object.insert (vue.runtime.esm.js:4423:13)     at invokeInsertHook (vue.runtime.esm.js:6942:38)     at VueComponent.patch2 [as __patch__] (vue.runtime.esm.js:7153:9)     at Vue2._update (vue.runtime.esm.js:3769:25)
and it is redirecting me to this place in pdf_viewer.js

    #annotationEditorMode = AnnotationEditorType.NONE;

Has anyone found a resolution to this issue? I'm inclined to agree with @OkaSroka that this is a library issue.
I have received both the "AnnotationEditorType" and "PromiseCapability" errors discussed above.
Note that I did not receive any errors on my code (below) prior to updating pdfjs-dist from version 3.6.172. I would remain on that version, but my program requires access to the new annotation editor features that have been added in recent versions.
I receive the errors when attempting to create new PDFFindController/PDFViewer objects with the below code
`import { EventBus, PDFLinkService, PDFFindController, PDFViewer } from "pdfjs-dist/web/pdf_viewer";
function createPDFViewer(pdfDoc: pdfDocObject){
if(!pdfDoc.pdfViewer){
        var viewer = pdfDoc.viewer;
        viewer.style.display = "block";
        const container = document.getElementById('viewerContainer') as HTMLDivElement;
        const eventBus = new EventBus();
        const pdfLinkService = new PDFLinkService({
            eventBus,
        });
        const pdfFindController = new PDFFindController({
            eventBus,
            linkService: pdfLinkService,
        });
        const pdfViewerInstance = new PDFViewer({
            container,
            viewer,
            eventBus: eventBus,
            findController: pdfFindController,
            linkService: pdfLinkService
        });
        pdfViewerInstance.setDocument(pdfDoc.pdf);
        pdfLinkService.setDocument(pdfDoc.pdf);
        pdfFindController.setDocument(pdfDoc.pdf);
        pdfLinkService.setViewer(pdfViewerInstance);

}}`
`pdf_find_controller.js:591 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'PromiseCapability')
at PDFFindController.reset_fn (pdf_find_controller.js:591:37)
at new PDFFindController (pdf_find_controller.js:405:5)
at createPDFViewer (PDFViewerApp.tsx:273:39)
at PDFViewerApp.tsx:141:21
at Array.forEach ()
at Object.fn (PDFViewerApp.tsx:136:27)
at runComputation (dev.js:777:22)
at updateComputation (dev.js:756:3)
at runTop (dev.js:869:7)
at runUserEffects (dev.js:982:36)
pdf_viewer.js:204 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'AnnotationEditorType')
at new PDFViewer (pdf_viewer.js:204:27)
at createPDFViewer (PDFViewerApp.tsx:276:39)
at PDFViewerApp.tsx:140:21
at Array.forEach ()
at Object.fn (PDFViewerApp.tsx:135:27)
at runComputation (dev.js:777:22)
at updateComputation (dev.js:756:3)
at runTop (dev.js:869:7)
at runUserEffects (dev.js:982:36)
at dev.js:938:34
`
While digging around the library, I noticed that both AnnotationEditorType and PromiseCapability are exported from "pdfjs-dist/build/pdf.js."  I'm not sure if that hints at a common source of the issue, but thought I'd note it regardless.

@OkaSroka Getting the same issue on calling new PdfViewer. Did you find a workaround?

I just deleted node modules and reinstalled, and the issue was fixed.


Mockups

Here is a swing at initial layout for the following pages front ends
home
donate
account
account/edit
login
Note there are still a few errors being thrown - but wanted to get something up we can look at and start working on linking up to the back end here relatively soon.
Could use some help debugging some of the errors being thrown.  Specifically on the account/edit page and dealing with default props regarding the react-buger-menu.

I just added one more commit to resolve issue #6  by way of displaying a loading component while the auth is initializing and then redirect an authenticated user to the home page if they exist.
Note I did not see issue #9 until just now, so all the form fields I have are using onChange events... happy to adjust as necessary either before this is merged or as a subsequent PR.


Base example requires assests from khronos fork, not khronos maintained repo

I downloaded the repository using this command:
git clone --recurse-submodules https://github.com/KhronosGroup/Vulkan-Samples.git
cd Vulkan-Samples

I then ran the Linux specific compilation instructions for the examples verbatim (though I can change the number of threads accessible to Make no problem).
I then ran the samples with this command:
Vulkan-Samples$ ./build/linux/app/bin/Release/x86_64/vulkan_samples batch

I then ran into an issue where the Buggy.gltf asset was missing. I was able to figure out where the file was because it is actually located on a fork of the Khronos maintained assets repository.
These are the commands I used to fix the issue:
pushd Vulkan-Samples/assets/scenes
git remote add complete_origin https://github.com/SaschaWillems/Vulkan-Samples-Assets.git
git pull complete_origin
git pull complete_origin conditional_rendering
git checkout conditional_rendering

This is not a sustainable fix in the long term. Can you guys add in this asset to the Khronos repository?
Thanks
Andrew

I found the model through this PR.
https://github.com/KhronosGroup/Vulkan-Samples-Assets/pull/17/commits/995f0dee77a104200da54368f99962508074632e
I don't think it matters, but I am running Ubuntu 22.04 running Cuda 11.7 and Graphics Driver 515.43.04.
vulkaninfo
vulkaninfo  | head
WARNING: [Loader Message] Code 0 : loader_icd_scan: Can not find 'ICD' object in ICD JSON file /usr/share/vulkan/icd.d/nvidia_layers.json.  Skipping ICD JSON
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
==========
VULKANINFO
==========

Vulkan Instance Version: 1.3.216

Instance Extensions: count = 20
===============================
	VK_EXT_acquire_drm_display             : extension revision 1
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.

Looks like we didn't take the PR in assets before taking the PR here.
@marty-johnson59 Think we can go ahead and merge the https://github.com/KhronosGroup/Vulkan-Samples-Assets/pull/17

Done, thx.

@marty-johnson59: Can you also merge https://github.com/KhronosGroup/Vulkan-Samples/pull/511? This needs to be merged to update the reference to the asset submodule.

Done

It appears that the resource is now available in given the repository changes. I think this ticket is done now.


API to save response body

Can you please provide API to save response body?
It would be helpful to analyze issues when something goes wrong with application under test.

Sure!
Currently the only way jmeter-java-dsl provides to do this (you may use it in the mean time) is using a jsr223PostProcessor and save the response bodies to a file and format of your preference.
eg:
testPlan(
        threadGroup(1, 10,
            httpSampler("https://abstracta.us")
              .children(
                  jsr223PostProcessor("new File('traceFile') << \"${prev.sampleLabel}>>${prev.responseDataAsString}\\n\"")
              )
        )
    ).run();

In future release we will include JMeter provided feature to allow saving in jtl (in xml format) additional information, as request & response bodies & headers. This will allow you to easily visualize information in JMeter GUI if needed.
Regards

Sure!
Currently the only way jmeter-java-dsl provides to do this (you may use it in the mean time) is using a jsr223PostProcessor and save the response bodies to a file and format of your preference.
eg:
testPlan(
        threadGroup(1, 10,
            httpSampler("https://abstracta.us")
              .children(
                  jsr223PostProcessor("new File('traceFile') << \"${prev.sampleLabel}>>${prev.responseDataAsString}\\n\"")
              )
        )
    ).run();

In future release we will include JMeter provided feature to allow saving in jtl (in xml format) additional information, as request & response bodies & headers. This will allow you to easily visualize information in JMeter GUI if needed.
Regards

Thanks.

Thanks.

Check latest release and new use cases section for additional new options.
Regards

Check latest release and new use cases section for additional new options.
Regards


doc: Add design documentation for Istio support in kusion

Design doc for kusion's Istio support mentioned in #382

I have read the CLA Document and I hereby sign the CLA.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
7 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.07%) to 72.844%

Files with Coverage Reduction
New Missed Lines
%

pkg/cmd/apply/options.go
7
71.43%

Totals

Change from base Build<PHONE_NUMBER>:
-0.07%

Covered Lines:
5051

Relevant Lines:
6934

💛  - Coveralls

I have read the CLA Document and I hereby sign the CLA

I have read the CLA Document and I hereby sign the CLA


Minor Check For New Videos Gripe

Minor thing, but if I hit the  "Check Now" button to look for new videos, there should probably be a pop-up saying like "Nothing New This Time!" Dead-end processes increase anxiety! :)
Also, question: if I have the app set to download all HD videos, then when the weekly check-for-new happens, new ones will download automatically, correct?

@Jimmbo regarding "Check now", hmm, there is :

One thing I noticed though, I didn't seem to give the window a focus, so it might be hidden somewhere, you should try exposé and see if you can find the window. If it's there then I need to change that to make it more obvious.
Regarding your question yep, that's exactly how it works. Note though that this "season", there hasn't been a lot of changes on the feed, I think there was one in january (after the original september release with the sea videos) and that's it. But if new videos happen, they'll get downloaded automatically and added as enabled by default in your playlist.

There are two "check now" boxes, one for new videos (per title of this thread), one for app updates of Aerial.
The latter works as you say, but the former is unresponsive (unless, presumably, there are new videos).

Ha, sorry, got confused there. So yep when you click that it just look for new videos and updates the small line that says "Last checked on ..." . I should definitely improve that so that it's consistent on both checks ! Because if you click it twice the same day, you won't see any change in that line (as I just use the date there).


Parameters not optimized enough for CLI

[x] tag to tags
[ ] stream to strm
[ ] cancel to c
[ ] uncancel to uc
[ ] date to d
[ ] recurring to recur
[ ] t to tag
[ ] time to t
[ ] subject to sub
[ ] rates to rate

Not Allowed


FB dToken not shown in UI "Liquidity" and "Add Liquidity"

Actual behavior:

creating LP does not show FB dToken even if in Balance
existing LP in wallet shows as "undefined undefined" in Liquidity tab

Expected behavior:

creating LP shows FB token when in wallet balance
existing LP in wallet shows as FB-DUSD in Liquidity-tab

Reproduce:

get some FB token and DUSD in wallet balance
go Liquidity
ADD Liquidity -> no FB shown in list on the left

get some FB-DUSD LP token via CLI -> shown in Balances correctly.
go check "Liquidity" -> LP token shown as "undefined undefined"
click undefined LP and go ADD MORE -> App crashes
NOTE: Remove -> ALL -> shows visually the correct values.

What are your environment parameters?

DeFiCh/app Version: 2.9.3
Operating System (OS): macOS 12.2.1
– RAM (GB):
– CPU (Intel Core i5/i7/etc.):
Current free storage capacity:

Anything else we need to know?

Screenshots

Hi @rossi256 , thanks for the feedback, please give us time to investigate this issue.

Will be fixed with this preview build - https://github.com/DeFiCh/app/releases/tag/v2.10.0-alpha.2

Will close this. Fixed with https://github.com/DeFiCh/app/releases/tag/v2.10.0


i18n for integrations

Zulip integrations (e.g., Pivotal, CircleCI) currently use hardcoded English strings instead of using the localization/internationalization message translation framework.

I think before we can really work on this we need to dramatically decrease the (semi-)duplication of text in the integration documentation.  At present, internationalizing the Zulip integration text would be too much text and make it hard for translators to keep up.  I opened #1228 for that issue.

I'm going to close this as wontfix; it's too much text to be practical to translate manually, and also much less important than our Help Center (which is also not translated for the same reason).
We should just rely on Google Translate for this job, so closing in favor of https://github.com/zulip/zulip/issues/11346


Remove need for TileView - Use LineCanvas to draw borders and auto-join borders

With the new Frames functionality in v2, it will be possible to have subviews with overlapping BorderFrames auto-join borders using LineCanvas.
This will require the new DrawFrames/OnDrawFrames methods to utilize a LineCanvas managed by the superview.
I've done a POC (in the TileView Experiments scenario) that shows this can work.

Woot!
A little proof of concept!
All this really took was
a) Adding changing public LineCanvas LineCanvas = new LineCanvas (); to View
b) Modifying View.ReDraw to render LineCanvas and then clear it (with a new LineCanvas.Clear method).
c) Modifying Frame to use Parent?.SuperView?.LineCanvas ?? LineCanvas; instead of new LineCanvas
d) Modifying Frame to NOT render LineCanvas itself

@tznind and @BDisp - I've been spending too much time coding lately and need to take a break so I can attend to other tings.
With #2527 merged a TON of v2 stuff (see the Backlog in https://github.com/orgs/gui-cs/projects/1) can be worked on.
I'll still be checking in to do PR reviews but won't be writing much code for a while.
Cheers!

I've been spending too much time coding lately and need to take a break so I can attend to other tings.

Thanks for all the awesome work recently.  Our standardisation changes are huge! Its going to be amazing.  But definetly work at a sustainable pace.  Codings a long road 🚗 🚛 🏍

A lot of the code in TileView is about enabling user to move the splitter lines, preventing moving the splitters beyond a max/min size for any pair of tiles and having a nice public API to enable user to dynamically split at runtime.
Basically when combined with TabView you can almost have the full 'dock panel' experience (like visual studio).
I love the free floating frames and docking together and I'm happy to update the implementation of draw/layout in TileView if needed.  But I think that the control and its API surface are worth keeping?
Happy to discuss it more.


concated scripts occurs a error in specific case

Versions
Angular CLI: 1.5.3
Node: 8.9.1
OS: linux x64
Angular: 5.1.1
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cli: 1.5.3
@angular-devkit/build-optimizer: 0.0.36
@angular-devkit/core: 0.0.22
@angular-devkit/schematics: 0.0.42
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.8.3
@schematics/angular: 0.1.11
@schematics/schematics: 0.0.11
typescript: 2.4.2
webpack: 3.8.1

Repro steps

save first snippet below as src/assets/first.js
save second one as src/assets/second.js

const foo = 'bar'

(function() {
  // code here
})();

configure .angular-cli.json as below

       "styles": [
         "styles.css"
       ],
-      "scripts": [],
+      "scripts": [
+        "./assets/first.js",
+        "./assets/second.js"
+      ],
       "environmentSource": "environments/environment.ts",
       "environments": {
         "dev": "environments/environment.ts",

ng serve

Observed behavior
error below will shown.
scripts.bundle.js:4 Uncaught TypeError: "foo" is not a function
    at scripts.bundle.js:4

source of scripts.js.
const a = 'foobar'

(function() {
  // code here
})();

Desired behavior
sorry if it's a intended behavior.
but in my opinion,  make scripts separated by someway is a better.
(ex. join scripts by ";\n")

I think https://github.com/angular/angular-cli/pull/8849 should have fixed this.
Is not this a cause of this issue?
https://github.com/angular/angular-cli/pull/8849/files#diff-f4af4d5bc75f91c08fb7f31c116bfb5bR118


Follow redirects in HTTP client

Set this in the HTTP client interface.

Would be great in the async client.  Thanks

Would be great in the async client.  Thanks

This is slated for the 1.0 release, I don't know if anyone will apply it to the 0.11 branch.

FWIW, I would appreciate having this in the 0.11 branch too.

Hi. Any news on this?

@igorpeshansky I don't think there was any work done on this particular issue. There are some technical challenges with following redirects in the async client, mostly because it's not straight-forward carrying over the redirect count (and how you limit the redirect following). It's not impossible, but it's not trivial either.
Patches to make this at least be an option and have it work "sanely" will be very much appreciated.


Add support for jsonp callbacks

Use the express res.jsonp() response type to allow jsonp callbacks.
See #67 for background info.

@UnbounDev Btw all the v2 tagged issues should mostly be applied to v2 and not v1. If you are unsure about one then ask me. For example we should not add jsonp to v1.

Sounds good!


Unexpected props type for React component with constructor

TypeScript Version:  2.9.2

Search Terms: react component props type constructor implicit any hoc
Code
type RouteComponentProps = {
    history: {};
};

type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;

declare function withRouter<P extends RouteComponentProps>(
    component: React.ComponentType<P>,
): React.ComponentClass<Omit<P, keyof RouteComponentProps>>;

type FooProps = { foo: string } & RouteComponentProps;
class Foo extends React.Component<FooProps> {
    constructor(props) {
        super(props);
    }
}

// Expect error due to missing props, got one :-)
const a = <Foo />;
// Expect error due to missing props, got one :-)
const b = <Foo foo="1" />;

// However, after using a (correctly defined) HOC, the props type seems to go completely

const Foo2 = withRouter(Foo);

// Expect error due to missing props, but got none :-(
const c = <Foo2 />;

… unless we comment out the constructor, or annotate the props param:
class Foo extends React.Component<FooProps> {}

const Foo2 = withRouter(Foo);

// Expect error due to missing props, got one :-)
const c = <Foo2 />;

class Foo extends React.Component<FooProps> {
    constructor(props: Props) {
        super(props);
    }
}

const Foo2 = withRouter(Foo);

// Expect error due to missing props, got one :-)
const c = <Foo2 />;

Why does the presence of the constructor change the props type only after the component is ran through the HOC?

I tried to further narrow down the issue. This is where I got to:
declare function getComponentProps<P>(
    component: React.ComponentType<P> | React.Component<P>,
): P;

type GetComponentProps<T> = T extends React.ComponentType<infer P> | React.Component<infer P> ? P : never

type FooProps = { foo: string };
class Foo extends React.Component<FooProps> {
    // props param is implicitly `any`
    // Workaround: if we annotate the param, `FooPropsInferred2` will have the expected type
    // constructor(props: FooProps) {
    constructor(props) {
        super(props);
    }
}

// $ExpectType { foo: string }
// and got :-)
type FooPropsInferred = GetComponentProps<Foo>;

const x = getComponentProps(Foo);
// $ExpectType { foo: string }
// but got any
type FooPropsInferred2 = typeof x;

I narrowed the issue down further and removed the React dependency:
class Component<P> {
    props: P;
    constructor(props: P) {
        this.props = props;
    }
}

interface ComponentClass<P> {
    new (props: P): Component<P>;
}

declare function getComponentProps<P>(
    component: ComponentClass<P>,
): P;

declare function getComponentProps2<T>(
    component: T,
): T extends ComponentClass<infer P> ? P : never;

type FooProps = { foo: string };
class Foo extends Component<FooProps> {
    // props param is implicitly `any`
    // Workaround: if we annotate the param, `FooPropsInferred2` will have the expected type
    // constructor(props: FooProps) {
    constructor(props) {
        super(props);
    }
}

const x = getComponentProps(Foo);  // any
const y = getComponentProps2(Foo);  // FooProps

In each case, there are two inferences for P: an any from the constructor parameter and a FooProps from the props of the constructed object.  It looks like the root cause of the difference is that inference in conditional types is always performed with the equivalent of strictFunctionTypes enabled, while I'm assuming strictFunctionTypes was at its default value of off for the getComponentProps call.  Glossing over a bunch of detail I don't fully understand, strictFunctionTypes affects the way the two inferences are prioritized.  If you enable strictFunctionTypes in tsconfig.json, then the discrepancy goes away.
I assume the inference was implemented the way it was for a reason, though I don't know the reason.  I think the solution to this case is "use noImplicitAny"; I don't think it merits changing anything in the compiler.

thanks @mattmccutchen for the detailed analysis. implicit any is not any different from explicit any from a type perspective. inference will proceed from both the same way.
I think the underlying issue here is an expectation that derived class methods, properties, and constuctors "inherit" their types from the base class. that is unfortunately not the case, this is tracked by https://github.com/Microsoft/TypeScript/issues/23911 (previously discussed in https://github.com/Microsoft/TypeScript/issues/1373, https://github.com/Microsoft/TypeScript/issues/3667, and https://github.com/Microsoft/TypeScript/pull/10610).

If you enable strictFunctionTypes in tsconfig.json, then the discrepancy goes away.

I just tried this on TypeScript 2.9.2 and the discrepancy does not go away when strict is enabled, so I'm not sure this does explain the problem. Can we take another look at this?

Closing as apparently this is working as intended.


chore: add homepage url to package.json

Add URL of this repository to the library's package.json.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


add remove_shipping_method

I want to merge this change because it allows shipping method to be removed by user after it has been assigned to the checkout.
It fixes #13062
Impact

[ ] New migrations
[ x] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations
[ x] Documentation needs to be updated

Pull Request Checklist

[ ] Privileged queries and mutations are either absent or guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migrations are either absent or optimized for zero downtime
[ ] The changes are covered by test cases

@szczecha We should test this scenario with shipping vouchers; I would also check how it affects vouchers with a usage limit. I think we can have a case when such voucher is added, then shipping is removed, and if checkout is completed the usage will be increased although voucher is not really used.

@szczecha We should test this scenario with shipping vouchers; I would also check how it affects vouchers with a usage limit. I think we can have a case when such voucher is added, then shipping is removed, and if checkout is completed, the usage will be increased although the voucher is not really used.

Per the first-mentioned case voucher is removed after assigning the shipping method again:
"checkoutCreate": {
    "errors": [],
    "checkout": {
        "id": "Q2hlY2tvdXQ6MzE4ODE3OWEtYjM5ZS00ZWU0LThiNmEtZjFhN2NmZjFiZTFj",
        "isShippingRequired": true,
        "totalPrice": {
            "gross": {
                "amount": 19.9,
                "currency": "USD"
            },
            "net": {
                "amount": 19.9,
                "currency": "USD"
            },
            "tax": {
                "amount": 0.0,
                "currency": "USD"
            }
        },
        "deliveryMethod": null,
        "discount": {
            "currency": "USD",
            "amount": 0.0
        },
        "discountName": null,
        "translatedDiscountName": null,
        "voucherCode": null
    }
}

Assigning shipping method
"checkoutDeliveryMethodUpdate": {
    "checkout": {
        "id": "Q2hlY2tvdXQ6MzE4ODE3OWEtYjM5ZS00ZWU0LThiNmEtZjFhN2NmZjFiZTFj",
        "totalPrice": {
            "gross": {
                "amount": 101.53,
                "currency": "USD"
            },
            "net": {
                "amount": 97.41,
                "currency": "USD"
            },
            "tax": {
                "amount": 4.12,
                "currency": "USD"
            }
        },
        "deliveryMethod": {
            "id": "U2hpcHBpbmdNZXRob2Q6MTQ=",
            "name": "UPS",
            "price": {
                "currency": "USD",
                "amount": 77.51
            },
            "__typename": "ShippingMethod"
        },
        "discount": {
            "currency": "USD",
            "amount": 0.0
        },
        "discountName": null,
        "translatedDiscountName": null,
        "voucherCode": null
    }
}

Adding free shipping voucher
"checkoutAddPromoCode": {
    "checkout": {
        "id": "Q2hlY2tvdXQ6MzE4ODE3OWEtYjM5ZS00ZWU0LThiNmEtZjFhN2NmZjFiZTFj",
        "totalPrice": {
            "gross": {
                "amount": 20.74,
                "currency": "USD"
            },
            "net": {
                "amount": 19.9,
                "currency": "USD"
            },
            "tax": {
                "amount": 0.84,
                "currency": "USD"
            }
        },
        "deliveryMethod": {
            "id": "U2hpcHBpbmdNZXRob2Q6MTQ=",
            "name": "UPS",
            "price": {
                "currency": "USD",
                "amount": 77.51
            }
        },
        "discount": {
            "currency": "USD",
            "amount": 77.51
        },
        "discountName": "Free shipping",
        "translatedDiscountName": "",
        "voucherCode": "FREESHIPPING"
    }
}

Removing shipping method "deliveryMethodId": null, method is null, voucher remains assigned
"checkoutDeliveryMethodUpdate": {
    "checkout": {
        "id": "Q2hlY2tvdXQ6MzE4ODE3OWEtYjM5ZS00ZWU0LThiNmEtZjFhN2NmZjFiZTFj",
        "totalPrice": {
            "gross": {
                "amount": 19.9,
                "currency": "USD"
            },
            "net": {
                "amount": 19.9,
                "currency": "USD"
            },
            "tax": {
                "amount": 0.0,
                "currency": "USD"
            }
        },
        "deliveryMethod": null,
        "discount": {
            "currency": "USD",
            "amount": 77.51
        },
        "discountName": "Free shipping",
        "translatedDiscountName": "",
        "voucherCode": "FREESHIPPING"
    }
}

Assign a new shipping method (can be the same as it was or a new one) method is assigned and the voucher is removed
"checkoutDeliveryMethodUpdate": {
    "checkout": {
        "id": "Q2hlY2tvdXQ6MzE4ODE3OWEtYjM5ZS00ZWU0LThiNmEtZjFhN2NmZjFiZTFj",
        "totalPrice": {
            "gross": {
                "amount": 120.1,
                "currency": "USD"
            },
            "net": {
                "amount": 115.23,
                "currency": "USD"
            },
            "tax": {
                "amount": 4.87,
                "currency": "USD"
            }
        },
        "deliveryMethod": {
            "id": "U2hpcHBpbmdNZXRob2Q6MTY=",
            "name": "EMS",
            "price": {
                "currency": "USD",
                "amount": 95.33
            },
            "__typename": "ShippingMethod"
        },
        "discount": {
            "currency": "USD",
            "amount": 0.0
        },
        "discountName": null,
        "translatedDiscountName": null,
        "voucherCode": null
    }
}

@maarcingebala does this need anything more to be merged?

It's good to go; thanks for reminding @aniav! Thanks for your contribution @FremahA! 🎉


Incorrect version identifier for BAMOE 8.0.5 (0007 instead of 00017)

Problem Description:
Incorrect jar file path mentioned below in the procedure of BAMOE v8 document hosted by RH-
https://access.redhat.com/documentation/en-us/ibm_business_automation_manager_open_editions/8.0/html-single/integrating_ibm_business_automation_manager_open_editions_with_other_products_and_components/index#kieserver-kafka-emit-proc_integrating-amq-streams
Procedure
_To send Kafka messages automatically, complete one of the following tasks:

If you deployed KIE Server on Red Hat JBoss EAP or another application server, complete the following steps:

Download the bamoe-8.0.5-maven-repository.zip product deliverable file from the Software Downloads page of the Red Hat Customer Portal.
Extract the contents of the file.
3. Copy the maven-repository/org/jbpm/jbpm-event-emitters-kafka/7.67.2.Final-redhat-0007/jbpm-event-emitters-kafka-7.67.2.Final-redhat-0007.jar file into the deployments/kie-server.war/WEB-INF/lib subdirectory of the application server.
_

Improvement Proposal:
There is no 7.67.2.Final-redhat-0007 associated to any BAMOE version.
Rather it should be 7.67.2.Final-redhat-0017 (If we are trying to frame the procedure in this document as per 8.0.5 version)
Problem found:
https://access.redhat.com/documentation/en-us/ibm_business_automation_manager_open_editions/8.0/html-single/integrating_ibm_business_automation_manager_open_editions_with_other_products_and_components/index#kieserver-kafka-emit-proc_integrating-amq-streams
Support cases and customers affected: TS016313577
Technical contacts: -

Issue migrated to JIRA: https://jsw.ibm.com/browse/DBACLD-146280


nbextensions.py incorrectly terminates jQuery string

The symptom is a completely blank /nbextensions/ page.
The reason appears to be that in config/main.js, the line $('body').data('extension-list') incorrectly returns a string instead of a list of JSON objects. (Leading to an error on line 35ish when the variable extensions is a character from a string instead of a JSON object with member 'Name').
The cause of this appears to be that the data-extension-list attribute of $('body') is incorrectly terminated. In my case it ends up being of the form (note the missing terminating }]):
[{"Link": "https://github.com/ipython-contrib/IPython-notebook-extensions/wiki/Codefolding", "Name": "Codefolding", "url": "nbextensions/usability/codefolding", "Icon": "icon.png", "Main": "main.js", "Type": "IPython Notebook Extension", "Compatibility": "3.x", "Description": "This extension enables the CodeMirror feature to llow codefolding in code cells"}, ... , {"Link": "https://github.com/jfbercher/IPython-notebook-extensions/tree/master/testing/latex_envs/", "Name": "(some) LaTeX environments for Jupyter", "url": "nbextensions/testing/latex_envs", "Icon": "icon.png", "Main": "latex_envs.js", "Type": "IPython Notebook Extension", "Compatibility": "3.x", "Description": "Enable to use laTeX environments in Jupyter"

Adding the terminating }] manually and rerunning main.js fixes the problem (as long as I flush jQuery's .data() cache).
I understand that this data field is populated from inside of config/nbextension.py, but running said file by hand in an iPython shell line by line leaves json_list populated correctly (i.e. with the terminal }] included). This seems to suggest that the problem is in the function self.render_template or self.write
Unfortunately, I can't get these guys to print to any files by adding debug statements for some reason...
So I'm stuck with a very hack-y workaround of manually modifying the data string from inside main.js on page load.
In a ?potentially related bug? all div's appear to have display: none set on page load. So without my workaround, not even the header with the Jupyter logo is visible. For some reason, I can fix the display: none problem by deleting everything in my nbextensions directory except for the files needed for the /nbextensions/ page to load. I assume that this is because in this case the extensions_list is empty, so that main.js gets to the point where it loads the page's CSS or something like that.

Fixed by #237

Not actually fixed. I still need to include the following for the page to show correctly on my computer. I didn't include this in my pull request since it's clearly a temporary hack that doesn't get at the underlying problem:
diff --git a/config/main.js b/config/main.js
index ec6d932..d770120 100644
--- a/config/main.js
+++ b/config/main.js
@@ -25,6 +25,8 @@ require([

     var base_url = utils.get_body_data('baseUrl');
     var extension_list = $('body').data('extension-list');
+    extension_list = extension_list.concat('"}]');
+    extension_list = jQuery.parseJSON(extension_list);

     var html = "";

If you have single quotes in the YAML file description line, this will make JSON parsing fail in Javascript. This is fixed by #240. You can take a look at the JSON string transferred from Python to Javascript by looking at the page source code and look for data-extension-list=...

Oh I see. Thanks so much for the pointer!
El 25/7/2015 5:37, "Juergen Hasch"<EMAIL_ADDRESS>escribió:

If you have single quotes in the YAML file description line, this will
make JSON parsing fail in Javascript. This is fixed by #240
https://github.com/ipython-contrib/IPython-notebook-extensions/pull/240.
You can take a look at the JSON string transferred from Python to
Javascript by looking at the page source code and look for
data-extension-list=...
—
Reply to this email directly or view it on GitHub
https://github.com/ipython-contrib/IPython-notebook-extensions/issues/236#issuecomment-124826114
.

Alright, I'm sure I'm starting to sound like a broken record, but this issue is not fixed, and concerns the 3.x branch, which was not addressed in #240 . As I stated before, in nbextensions.py, line 50 or so, json_list is correctly populated. It is only in the actual writing of the variable that for some reason the last three characters get cut off.
Is the bug itself clear?

OK, yes.
Is the json list already truncated when you look at the pages source code in the data-extension-list, or does it happen later in Javascript ?

#284 shows the same behaviour, even with the #240, I'm not entirely sure how it's managing not to be escaped. In addition, with the new nestable yaml format from #274 (which could allow the Parameters yaml value to contain, for example, a list of strings as a default for one of the parameters), escaping each yaml value is no longer sufficient.
I've cooked up a solution by using the jinja template escape filter to escape the json string, which I can submit a PR for, but it brings into play a few other potential issues, which I think might be worth considering before adopting it:
The html 4 spec seems to limit the length of data attributes to 65536 bytes (see the tag ATTSPLEN). While this may or may not actually be true in a given user agent, it seems like it'd be better not to have it break things inexplicably. Also, although 64KiB seems like a lot, since each ' becomes &39; when escaped, and the escaping is also applied to every " in the json, it gets longer quite quickly. Mine is already 16KiB. Since support arbitrary strings in parameter values (which could end up quite long), it would make sense to think about circumventing this limitation.
I propose the following solution:

have the html template add the urls of the extension specification (yaml) files, rather than their contents, and then load them using javascript
ditch YAML in favour of JSON for the specification files, to not rely on javascript yaml-parsing
require the extension specification files to have a specific name (e.g. nbextension-spec.json), since JSON files may be in use in extensions for a variety of purposes.

Any thoughts?

I think you are right, it it not desirable to manually escape all of information we want to send to the Javascript part of the extension. On the other hand I greatly prefer the yaml format over json for humans, and it looks like dealing with yaml in Python is the better approach.
Your idea of using the Jinja template system looks good. I tried this data-extension-list='{{extension_list|e}} in the nbextensions.html template and does what we need.
Regarding the 64k limit, I think the right thing to do would be to either warn or raise an exception when the list is too large.

Right, YAML certainly reads nicer, and works fine for the python side. I think it's certainly possible to work around YAML ok, even if it's as simple as splitting into multiple data attributes if one ends up >64k
Ok, having given it a little more inspection, all the Jinja escaping (which is provided by markupsafe) actually does is replace ', ", <, >, &. In an attribute string, therefore, the only character which should actually need escaping is the single quote - as you correctly deduced previously. So, a fix which might be better could be to just escape the single quotes in the json-ified data string, rather than in the source YAML keys/values. That way, we avoid escaping all the rather numerous double-quotes in the json (which the jinja solution does), while being more robust than trying to escape individual key/value elements.
I think raising an exception (or at least logging a warning) on failure to write/read the data attribute is also a good idea. I'll get onto it.

I guess what you propose is the best approach for now. The Jinja approaches escapes a lot more than necessary, it seems.

I've submitted a PR for this on #292


Cart gettin cleared on refresh

Hi! i am new with this, but i have a question:
I saw when i restart, my Cart instance is getting cleared, is that normal? I mean, how can i do if I want to persist Cart instance between pages?

Let me try first, I didn't notice :)

OMG, it has cleared.
It shouldn't have cleared :(

I was crashing my head since this morning on this :S

I'm figuring it out, thanks for pointing me out. I am working on a huge project, it could be my nightmare too :)

Im sorry! :( let me know!

I checked, sometime it works between pages and sometimes cart cleared. I didn't find anything unusual code that cleared the session.
I think session is expiring too soon.

It is happening sometimes, but I couldn't figure it out.
I checked the package code, I didn't find anything regarding session clear or empty cart.

@quetool did you use the dd() function anywhere while testing this? Because that will destroy the session.

Oh, that's interesting. Thanks :)

@Crinsane nop, i never use dd()

@quetool So basically, you add something to the cart, you go to the cart overview page, and once you refresh it, it's empty?

@Crinsane yeah! that's right!

I mean, refreshing i just for explanation, but if you surf the site it happens too, I mean, if you click on a link to continue shopping for example...

I tried every type of session driver but nothing changes...
<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Default Session Driver
    |--------------------------------------------------------------------------
    |
    | This option controls the default session "driver" that will be used on
    | requests. By default, we will use the lightweight native driver but
    | you may specify any of the other wonderful drivers provided here.
    |
    | Supported: "file", "cookie", "database", "apc",
    |            "memcached", "redis", "array"
    |
    */

    'driver' => env('SESSION_DRIVER', 'database'),

I can't seem to reproduce this. Could you have a look at your session id and see if it changes with each request. Add something like var_dump(Session::getId()) somewhere and see if it changes (because it should not)

Nop! it doesn't change!

I guess I need your code so I can debug this. Because I can't reproduce it.

I installed on localhost (with XAMPP) Laravel Framework version 5.2.45 and it is working just great! (with the deafult Laravel layout)
I do not know why with Laravel 5.3.18 it is happening this issue...
is there a way to uninstall your LaravelShoppingCart, clean laravel and reinstall it?

@Crinsane where can I send you the access to my server? because i can not figured it out!

 I was including <?php echo Cart::destroy(); ?> in a header. I am ashamed! :(

Lol. Well, it happens. 😋 Long day? 😉
Glad you solved it!

Yes! i found it with grep :P
grep -rnw '/var/www/laravel/' -e "Cart:"


Create shivaylamba.md

Hi, I am opening a pull request to join the organization and looking forward to engaging, discuss. contribute.
I have added my profile .md file. Do let me know about the pull request!
Thanks

@NishkarshRaj I see merging is blocked. Could you help?

@NishkarshRaj I see merging is blocked. Could you help?

I had made the setting so that every PR goes through a mandate review. If this is not the correct way to do the same, all suggestions welcomed 👍 😃


cant update brightness slider without triggering fake brightness

https://github.com/OpenVoiceOS/ovos-shell/blob/master/application/qml/panel/quicksettings/BrightnessSlider.qml#L28
if using a PHAL plugin to control the screen, we want to update the slider position but NOT trigger auto brightness changes
related https://github.com/OpenVoiceOS/ovos-gui-plugin-shell-companion/pull/31

i guess we need a config setting handled somewhere around here https://github.com/OpenVoiceOS/ovos-shell/blob/master/application/qml/main.qml#L354


Migrate component pages over to new documentation website

[x] Asset hyperlink
[x] Breadcrumbs
[x] Buttons
[x] Callouts (https://github.com/citizensadvice/design-system/pull/2299)
[x] Contact details (https://github.com/citizensadvice/design-system/pull/2300)
[x] Disclosure (https://github.com/citizensadvice/design-system/pull/2328)
[x] Footer (https://github.com/citizensadvice/design-system/pull/2316)
[x] Header (https://github.com/citizensadvice/design-system/pull/2315)
[x] Navigation (https://github.com/citizensadvice/design-system/pull/2320)
[x] Notice banner (https://github.com/citizensadvice/design-system/pull/2305)
[x] On this page (https://github.com/citizensadvice/design-system/pull/2314)
[x] Page review (https://github.com/citizensadvice/design-system/pull/2305)
[x] Pagination (https://github.com/citizensadvice/design-system/pull/2305)
[x] Search (https://github.com/citizensadvice/design-system/pull/2313)
[x] Section links (https://github.com/citizensadvice/design-system/pull/2324)
[x] SVG Icons (maybe move these into foundations section) (https://github.com/citizensadvice/design-system/pull/2308)
[x] Tables (https://github.com/citizensadvice/design-system/pull/2312)
[x] Targeted content

Forms:

[x] Checkbox
[x] Checkbox group
[x] Error summary (https://github.com/citizensadvice/design-system/pull/2327)
[x] Input (https://github.com/citizensadvice/design-system/pull/2326)
[x] Radio group
[x] Success message (https://github.com/citizensadvice/design-system/pull/2305)
[x] Textarea (https://github.com/citizensadvice/design-system/pull/2326)

🥳 We did this!


Addresses #91 Rename is_valid_packet_header

and its tests

Maybe throw an exception for UnauthorizedCallsign that the calling function can catch and specially handle that case (I.e, on transmission it'd just return the function and not parse)

(I.e, on transmission it'd just return the function and not parse)

This function is going to be called after the packet header is parsed; we did consider having an exception but we want to reserve those for things that are critically wrong. A completely valid packet header can still contain an unauthorized callsign

It seems odd we are parsing unauthorized callsigns, this function is a duplicate of the callsign check code in the parse_rn2483_transmission function. A check that used to return early on unauthorized callsigns but is now allowing them again.

It seems odd we are parsing unauthorized callsigns, this function is a duplicate of the callsign check code in the parse_rn2483_transmission function. A check that used to return early on unauthorized callsigns but is now allowing them again.

The reasoning is because we want to parse and log them. If we are receiving packets from an unauthorized callsign which also happen to follow our packet spec, chances are it just means someone forgot to add their callsign to the list of recognized ones.
I see that the function you mentioned does have the same check. Ideally @Juan-789, this function you are testing could replace that check. The relevant file is here


Support for extends keyword

Adds support for the extends keyword (https://docs.gitlab.com/ee/ci/yaml/index.html#extends)
to the Job type.
Implemented as simple list of strings.

@bgamari This enables gitlab's extend syntax. ANy chance you can take a look? If there is more you need from me please let me know.

Thanks @m4dc4p !


How to use the theme

To deploy the theme on Github-pages, is it supposed to be used in the way:
remote_theme: thelehhman/texture
If yes, can you take a look at _config.yml at my repo... why it doesn't work?

Thanks for pointing this out, it should be remote_theme: samarsault/texture
Fixed in https://github.com/samarsault/texture/commit/593476327d10f93220d1fcb16fa235e47b6f0f19

Thanks for the quick response.
The theme still doesn't load on Github-pages although it works fine locally. Can you see any possible reasons for that?

What does the pages deployment info page (https://github.com/kgarg8/Text-Style-Transfer/settings/pages) show?
Btw, if you are using a forked version, you don't need to include remote_theme:.

Good news, it works now. Just made an additional small change baser: '' to baseurl:, not sure if this helped or Github takes like an hour or so to reflect the changes in the deployment website.

Glad it worked :)


.NET lib sample

This looks really nice thanks for sharing!
Would you have a sample of a custom exit lib that can modify the CSR say for instance modify the request subject name or something like that?
Bo

First of all: exit modules cannot modify anything. They are intended for notifications only. Custom processing is part of policy module. Though this package provides policy module support.
Here is an example of policy module that uses this package: https://github.com/PKISolutions/ADCS-SID-Extension-Policy-Module

Thanks for the quick reply, I will have a look at the policy module and the provide "sample"!


HugePageFiller, how does it do what it does?

After a quick email exchange with @ckennelly , he suggested I open an issue about this, so that there is a public trail of the conversation (good call).
So I've been wondering about the implementation of the huge page aware allocator . While the paper explains really well what the code does and why, the how is a bit more mysterious.
So let me ask a few specific question that would help going through the code to understand it.
The allocator organize itself around huge page. When it needs memory from these pages it prioritize using the existing huge pages that already have a lot of allocation, as statistically, they are less likely to to be returned to the OS, and therefore we want to cram as much as possible in there. Another critical parameter is the longest range of unallocated slots withing the huge page as we want to find a huge page with a range of unallocated memory that is big enough, but also generally want to avoid splitting large range of unallocated memory.
It is unclear to me how the selection process works in practice. As far as i can tell, HugePageFiller is responsible for this. It seems to manage an ungodly amount of freelists (512 possible free range length, 64 priority classes). Is it really that simple? Considering there are lists for partially released and releases huge pages too, as well as donated ones, this makes for a ungodly amount of freelists, no?
Isn't it a problem that the huge page are only selected based on their longest run? A page with a high score (as in, unlikely to become empty) and a large free range (plus other smaller free ranges) will not see its smaller free range being allocated before lower priority huge block run out of small free ranges (if they don't have large one). Isn't it a problem? Or is the correlation between "no large free range" and "unlikely to deallocate" good enough so that it works in practice?
Last, but probably not least, I don't understand the return path. When some allocation is freed, it goes through this magical box that is the middle end is completely opaque to me and i can't find a good explanation of what it does and why.

  Few notes, though:

With HintedTrackerList, the prioritization ends up working through the score, so it's easy to look at the minimum scoring, non-empty list of hugepages with score >= N.  The available hugepages (represented by PageTracker) are stored on an intrusive linked-list, but the bitmask we maintain means we can go straight to it if there's a match.
We end up having several distinct HintedTrackerList instances, to distinctly prefer a hugepage that has never been split up (into small pages) over one that has been, etc.

In terms of longest free run, this is discussed a bit in our paper, section 4.4:

There end up being 8 priorities ("chunk index"), since we're taking the logarithm.

Longest free run is a hard requirement for an allocation.  We have to have at least N contiguous pages to allocate N pages, so it narrows the search dramatically.

For an incoming allocation where we have a choice between two satisifactory hugepages--such as the one with a large LFR (but many allocations increasing its chunk) and one with a smaller LFR (but lower score)--we're aiming for two things

Minimize fragmentation.  We'd like to keep the larger LFR intact for future, large(r) allocations than the one we're making now.  We otherwise need another huge page for such an allocation, so fragmenting the larger LFR might be worse in the long run.
Trying to steer towards hugepages less likely to become free (by avoiding ones more likely to be)

This is just a heuristic though, but it seems to work reasonably well.

In terms of the return path:  We're primarily using the address-indexed radix tree (pagemap) to look up information about what huge page an allocation came from.  As we finished up the allocation during HugePageAwareAllocator::LockAndAlloc, we updated the radix tree with the info we need for deallocation.

Most allocations are small (Figure 5) for the page heap, so we're going from HugePageAwareAllocator::Delete, obtaining a non-nullptr pt, and then going to HugePageFiller::Put.
We remove it (RemoveFromFillerList) from its current list (with its current LFR/chunk index),
Marking the pages as free (PageTracker::Put), and then
Recompute what priority score it should have to re-index it and add it (AddToFillerList) to the new list for that score.

@ckennelly That is very useful information! Thanks!


Replace extension services with filters

The current extension Services are called before the module Methods are invoked.
It is not possible to handle both: modifications before method is called and modifications after method is called (for example for testing).
Instead a filter should be used like the aspnetcore filters or middleware.

This should also consider for the HostFactory, as there are similar issue with the host factory design (see #12).

There should be both a generic (for specific modules) and non-generic (for all other cases) version of the filter. This would also solve #4 .


Support RNDF file generation.

Fixes #31
In this PR:

Changed code to have a generator per format we need
Generate both sdf and rndf files when running the generator
[Minor] Change default sdf file name

@garyservin PTAL

LGTM

Whoa, that was fast, thanks @garyservin !


Improve linting

which is currently run as
npm run lint
Reduce the error count to 0 from
_ 395 problems (395 errors, 0 warnings)
  3 errors and 0 warnings potentially fixable with the `--fix` option.

this is now an idea on the project kanban. closing here.


nixos/tests/knot: wait for successful zone transfers

Depending on the startup order of the two machines it might take a few moments to get both zones transfered, which can lead to SERVFAIL responses on busy machines.
https://hydra.nixos.org/job/nixos/trunk-combined/nixos.tests.knot.aarch64-linux
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

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

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

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

Oh, zone transfer it is.  I had wondered... as waiting for unit to start up should eliminate the start-up SERVFAILs.


[Build/Service] fix indent

Fix build error, clang-format of service-db.

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #324. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ci.nnstreamer.ai/.


make it not close pinned tabs

pretty please :)

Close Tabs 2.0 now leaves pinned tabs alone.

Close Tabs 2.0 now leaves pinned tabs alone.


Change license to be a link instead of a file

Currently the idea is that each operator or recipe we will include a license file - similar to what GitHub provides. I propose that we change how Queenbee license is assigned to operators and recipes and instead of copying the file, provide a link/url to it. Here are the two main reasons:

In 99% of the cases the licenses are not edited and it is really redundant to copy them over with each recipe or operator.

The link will also make it easy to include the licensing information in the executable versions of the code. For instance, queenbee-luigi can add a header that the file is generated based on XYZ and is licensed under ABC with a link to the license. This is specially helpful if the access to the original recipe is not available for some reason and one cannot see the original license file.

@AntoineDao, since this is something that you changed originally to be a file I would like to hear your thoughts first before making a decision. Thanks! :)

Yep I'm happy to use a url. I suppose that we can point to some standard urls for standard licenses right?

I suppose that we can point to some standard urls for standard licenses right?

Yes. That's how OpenAPI specification does it too.


Better documentation: Installed, and then?

Routr is supposed to be easy to install. I installed it with snap, but then what to do next? I cannot find any information. Please add some information for non sys-admins, thanks!

Everything you need from installation to deployment you will find at routr.io. If you find gap in the documentation, please let me know and I will happily update.

I hope you find the information you needed. I'm closing this for now, but you can re-open if necessary.


Simplifying default VS Dockerfile

I have created a new .Net Core-based ASP.NET Core project and chose Linux-based support for Docker:

When I did that, the Dockerfile that was generated was:
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 49357
EXPOSE 44389

FROM microsoft/dotnet:2.1-sdk AS build
WORKDIR /src
COPY WebApplication1/WebApplication1.csproj WebApplication1/
RUN dotnet restore WebApplication1/WebApplication1.csproj
COPY . .
WORKDIR /src/WebApplication1
RUN dotnet build WebApplication1.csproj -c Release -o /app

FROM build AS publish
RUN dotnet publish WebApplication1.csproj -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "WebApplication1.dll"]

It seems to me that this is unnecessarily complicated. What is the reason for having having separate base and build layers? And why run dotnet build explicitly, when dotnet publish runs it implicitly?
Put differently, couldn't the Dockerfile be simplified to the following?
FROM microsoft/dotnet:2.1-sdk AS publish
WORKDIR /src
COPY WebApplication1/WebApplication1.csproj WebApplication1/
RUN dotnet restore WebApplication1/WebApplication1.csproj
COPY . .
WORKDIR /src/WebApplication1
RUN dotnet publish WebApplication1.csproj -c Release -o /app

FROM microsoft/dotnet:2.1-aspnetcore-runtime
WORKDIR /app
EXPOSE 49357
EXPOSE 44389
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "WebApplication1.dll"]

@natemcmaster should this bug move to https://github.com/aspnet/aspnet-docker ?

It should move to https://developercommunity.visualstudio.com. This file is generated by the VS Docker Tooling Team, but they don't really check their GitHub issue tracker.

Thansk @natemcmaster .
@svick - can you please log a new issue using the Report a Problem tool?
If you encounter a problem with Visual Studio, we want to know about it so that we can diagnose and fix it. By using the Report a Problem tool, you can collect detailed information about the problem, and send it to Microsoft with just a few button clicks. See here for more details.


'cfg.OPT.DECAY_EPOCHS' missing

Dear Sir,
It seems some parameters are missing. For example, 'cfg.OPT.DECAY_EPOCHS' from 'lr_scheduler.py' can not be found in 'defaults.py'. Also, some parameters' names seem to be changed. Any advice? Thank you.

Hi @bbb801,
The decay_warmup is a legacy scheduler, the setting in the paper use cosine_warmup only. So you can ignore that configuration.
Best.


Provide a task for copying one file from source to destination

Provide a task for copying one file from source to destination
- type: file-copy
  ensure-path: true                                # optional
  overwrite: false                                 # optional
  source: c:\temp\source.txt
  destination: c:\temp\destination.txt

The defaults:

the destination path must exist (ensure-path set to false)
the overwrite mode is set to false.

However you can specify the boolean flag ensure-path that the path will be created.
The task will fail when:

Permissions are not sufficient
When the source file doesn't exist
When the destination file already exists and the overwrite mode is set to false.

Next to do: extend the document reader for it.