Change judge window view on results crashes game

Describe the bug
Changing Judge windows down higher than J4 on results crashes the game
To Reproduce
Steps to reproduce the behavior:
Expected behavior
View the score downscaled to J4 from J7
Screenshots
My game crashed, no screenshots to be had.
Desktop (please complete the following information):
OS: Arch Linux x64 kernel 5.13.7
Additional context
I'm using the package for the game from the AUR that installs into /opt/. I did chmod /opt/etterna to 777

Your score should have saved. We need to know what score it is. Does it still do this for every score or just that specific score?

Reinstalling the client and deleting a config file resolved this, so I'm going to close this. Apologies for being a hassle.


Stuck in a loop of Password: and failed login attempts

Whenever I attempt to login to any user, this happens:
$ ssh<EMAIL_ADDRESS>Password:
Password:
Password:
<EMAIL_ADDRESS>password:
Permission denied, please try again.
<EMAIL_ADDRESS>password:
Received disconnect from <IP_ADDRESS> port 22:2: Too many authentication failures
Disconnected from <IP_ADDRESS> port 22

The /etc/pam.d/sshd config has the arguments:
nullok echo_verification_code grace_period=300
I'm basically locked out of all the accounts (some of which don't have 2fa activated) and have to manually get on to fix this.
Is it intended behavior or a bug?

I am in a similar situation and hoping someone can provide some clues about fixing this.
I am running 64-bit Raspberry Pi OS on a Raspberry Pi 4 running headless.
Here are the steps I followed to add 2FA to my account
sudo apt install libpam-google-authenticator

google-authenticator

sudo cp /etc/pam.d/sshd !#$.dist
sudo nano /etc/pam.d/sshd

This is the edit I made in the /etc/pam.d/sshd (in order to be asked the verification code before the password)
auth required pam_google_authenticator.so

@include common-auth

Added the authenticator account to Authy.
Now, we I try to ssh back into the pi from a local computer, I get stuck at the Permission denied, please try again loop.
ssh<EMAIL_ADDRESS>gives the following output where it gets stuck
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: password
<EMAIL_ADDRESS>password:
debug1: Authentications that can continue: publickey,password
Permission denied, please try again.
<EMAIL_ADDRESS>password:
debug1: Authentications that can continue: publickey,password
Permission denied, please try again.
<EMAIL_ADDRESS>password:

I've tried using my old password, the default password, authy authentication code, scratch code and this stage but they all lead to the error.
I also don't know why it doesn't ask me about the verification code before the password as I have it configured in the /etc/pam.d/sshd file.
What steps should I try to fix the permission denied errors?

Different issue as you don't use grace period.
I'm locking this issue. File new with the extra info I asked for in my first comment on this issue. And see what extra info you see with debug option added.


SelectMenu search breaks if typing '+' as first symbol

Environment

Operating System: Linux
Node Version:     v20.3.1
Nuxt Version:     3.13.2
CLI Version:      3.13.2
Nitro Version:    2.9.7
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      srcDir, ssr, devtools, modules, plugins, runtimeConfig, app, components, content, googleFonts, colorMode, css, ui, tailwindcss, compatibilityDate
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
Version
2.18.7
Reproduction
https://stackblitz.com/edit/nuxt-ui-t94cid?file=app.vue
Description
Hello! Im using SelectMenu element for selecting a phone code, currently im having an issue with default search function - if type in search '+' i`m getting error message "Uncaught (in promise) SyntaxError: Invalid regular expression: /+/i: Nothing to repeat" and search stops working.
I guess its just a problem with regular expression.
Additional context
No response
Logs
No response

Duplicate #2308.
This has been fixed already by https://github.com/nuxt/ui/commit/c68ba76fd0eebf411ccd5f047ee9a01b8ec5f5de but hasn't been released yet.


[helm-oci] ECR auth expires

While attempting to set up ECR as an OCI chart repo, we followed the recommended pattern here to configure a Kube secret with the required registry credentials for the OCI repo, but noticed that the source controller only seems to fetch this secret once on boot. This unfortunately means that once the ECR token expires, the source controller needs to be restarted before authentication will work again and the repo/charts can be reconciled.
Example of the state post expiration:

I can login to ECR via the helm cli with the data in the kube secret

[root@jumbox ~]# kubectl get secret -n flux-system ecr-auth -o json |jq '.data.".dockerconfigjson"' -r |base64 --decode |jq '.auths."<redacted>.dkr.ecr.us-west-2.amazonaws.com/helm".password' -r |helm registry login -u AWS --password-stdin <redacted>.dkr.ecr.us-west-2.amazonaws.com/helm
Login Succeeded
[root@jumpbox ~]# helm show chart oci://<redacted>.dkr.ecr.us-west-2.amazonaws.com/helm/my-chart |grep apiVersion
apiVersion: v2

But if I look at the status of an ECR hosted helm chart there's a chart pull error saying the token has expired

[root@jumpbox ~]# flux get source chart my-chart
NAME            REVISION	SUSPENDED	READY	MESSAGE
my-chart	0.2.0   	False    	False	chart pull error: chart pull error: failed to get chart version for remote reference: GET "https://<redacted>.dkr.ecr.us-west-2.amazonaws.com/v2/helm/my-chart/tags/list": unexpected status code 403: denied: Your authorization token has expired. Reauthenticate and try again.

If I restart the source-controller (delete the pod), then the secret is seemingly reloaded on boot and the chart can reconcile again until the newly loaded token has expired

[root@jumpbox ~]# kubectl delete pod -n flux-system source-controller-644c69fbf7-vpczd
pod "source-controller-644c69fbf7-vpczd" deleted
[root@jumpbox ~]# flux get source chart my-chart
NAME            REVISION	SUSPENDED	READY	MESSAGE
my-chart	0.2.0   	False    	True 	pulled 'my-chart' chart with version '0.2.0'

I know the recommended pattern linked above is from the documentation for the image automation controllers, so wondering if the source-controller is supposed to operate in the same way? It was mentioned here that some caching may be at play.

As requested (had to redact some account IDs and some of the values as they're work specific):
HelmRepostitory:
Name:         ecr
Namespace:    flux-system
Labels:       kustomize.toolkit.fluxcd.io/name=sources
              kustomize.toolkit.fluxcd.io/namespace=flux-system
Annotations:  reconcile.fluxcd.io/requestedAt: 2022-06-20T12:51:19.602886928Z
API Version:  source.toolkit.fluxcd.io/v1beta2
Kind:         HelmRepository
Metadata:
  Creation Timestamp:  2022-06-09T14:57:39Z
  Finalizers:
    finalizers.fluxcd.io
  Generation:  5
  Managed Fields:
    API Version:  source.toolkit.fluxcd.io/v1beta2
    Fields Type:  FieldsV1
    fieldsV1:
      f:metadata:
        f:labels:
          f:kustomize.toolkit.fluxcd.io/name:
          f:kustomize.toolkit.fluxcd.io/namespace:
      f:spec:
        f:interval:
        f:secretRef:
          f:name:
        f:type:
        f:url:
    Manager:      kustomize-controller
    Operation:    Apply
    Time:         2022-06-09T17:55:56Z
    API Version:  source.toolkit.fluxcd.io/v1beta2
    Fields Type:  FieldsV1
    fieldsV1:
      f:metadata:
        f:finalizers:
          .:
          v:"finalizers.fluxcd.io":
      f:status:
        f:conditions:
        f:lastHandledReconcileAt:
        f:observedGeneration:
    Manager:      source-controller
    Operation:    Update
    Time:         2022-06-10T11:32:36Z
    API Version:  source.toolkit.fluxcd.io/v1beta2
    Fields Type:  FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .:
          f:reconcile.fluxcd.io/requestedAt:
    Manager:         flux
    Operation:       Update
    Time:            2022-06-10T11:34:24Z
  Resource Version:  13055348
  UID:               9e31f644-3840-4a7e-a34e-fbbc96e403c0
Spec:
  Interval:  5m0s
  Secret Ref:
    Name:   ecr-auth
  Timeout:  60s
  Type:     oci
  URL:      oci://<redacted>.dkr.ecr.us-west-2.amazonaws.com/helm
Status:
  Conditions:
    Last Transition Time:     2022-06-16T13:52:02Z
    Message:                  Helm repository is ready
    Observed Generation:      5
    Reason:                   Succeeded
    Status:                   True
    Type:                     Ready
  Last Handled Reconcile At:  2022-06-20T12:51:19.602886928Z
  Observed Generation:        5
Events:                       <none>

HelmRelease
Name:         my-app
Namespace:    my-namespace
Labels:       kustomize.toolkit.fluxcd.io/name=my-namespace
              kustomize.toolkit.fluxcd.io/namespace=flux-system
Annotations:  reconcile.fluxcd.io/requestedAt: 2022-06-20T12:51:56.444579522Z
API Version:  helm.toolkit.fluxcd.io/v2beta1
Kind:         HelmRelease
Metadata:
  Creation Timestamp:  2022-06-09T15:05:42Z
  Finalizers:
    finalizers.fluxcd.io
  Generation:  5
  Managed Fields:
    API Version:  helm.toolkit.fluxcd.io/v2beta1
    Fields Type:  FieldsV1
    fieldsV1:
      f:metadata:
        f:labels:
          f:kustomize.toolkit.fluxcd.io/name:
          f:kustomize.toolkit.fluxcd.io/namespace:
      f:spec:
        f:chart:
          f:spec:
            f:chart:
            f:sourceRef:
              f:kind:
              f:name:
              f:namespace:
            f:version:
        f:install:
          f:remediation:
            f:retries:
        f:interval:
        f:releaseName:
        f:targetNamespace:
        f:timeout:
        f:values:
    Manager:      kustomize-controller
    Operation:    Apply
    Time:         2022-06-10T13:00:17Z
    API Version:  helm.toolkit.fluxcd.io/v2beta1
    Fields Type:  FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .:
          f:reconcile.fluxcd.io/requestedAt:
    Manager:      flux
    Operation:    Update
    Time:         2022-06-20T12:52:19Z
    API Version:  helm.toolkit.fluxcd.io/v2beta1
    Fields Type:  FieldsV1
    fieldsV1:
      f:metadata:
        f:finalizers:
          .:
          v:"finalizers.fluxcd.io":
      f:status:
        f:conditions:
        f:failures:
        f:helmChart:
        f:lastAppliedRevision:
        f:lastAttemptedRevision:
        f:lastAttemptedValuesChecksum:
        f:lastHandledReconcileAt:
        f:lastReleaseRevision:
        f:observedGeneration:
    Manager:         helm-controller
    Operation:       Update
    Time:            2022-06-21T00:01:06Z
  Resource Version:  19441662
  UID:               313cd68e-e8bd-4bab-b98b-352bce3d7a64
Spec:
  Chart:
    Spec:
      Chart:               my-chart
      Reconcile Strategy:  ChartVersion
      Source Ref:
        Kind:       HelmRepository
        Name:       ecr
        Namespace:  flux-system
      Version:      0.2.0
  Install:
    Remediation:
      Retries:       3
  Interval:          1m
  Release Name:      my-app
  Target Namespace:  my-namespace
  Timeout:           10m0s
  Values:
    Image:
      Tag:  my-app-1.0.19
Status:
  Conditions:
    Last Transition Time:          2022-06-21T00:01:06Z
    Message:                       HelmChart 'flux-system/my-namespace-my-app' is not ready
    Reason:                        ArtifactFailed
    Status:                        False
    Type:                          Ready
    Last Transition Time:          2022-06-20T12:52:27Z
    Message:                       Helm upgrade succeeded
    Reason:                        UpgradeSucceeded
    Status:                        True
    Type:                          Released
  Failures:                        9337
  Helm Chart:                      flux-system/my-namespace-my-app
  Last Applied Revision:           0.2.0
  Last Attempted Revision:         0.2.0
  Last Attempted Values Checksum:  6dd0181482c19c5a1d858af61822bc1e954ac809
  Last Handled Reconcile At:       2022-06-20T12:51:56.444579522Z
  Last Release Revision:           4
  Observed Generation:             5
Events:
  Type    Reason  Age                      From             Message
  ----    ------  ----                     ----             -------
  Normal  info    3m30s (x21603 over 17d)  helm-controller  HelmChart 'flux-system/my-namespace-my-app' is not ready

Source Controller logs:
{"level":"info","ts":"2022-06-27T11:55:44.970Z","logger":"controller.gitrepository","msg":"no changes since last reconcilation: observed revision 'master/c2be202685fd4c5218d6da49d9eff23480ce7d2f'","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"GitRepository","name":"flux-system","namespace":"flux-system"}
{"level":"info","ts":"2022-06-27T11:56:11.803Z","logger":"controller.helmchart","msg":"artifact up-to-date with remote revision: '1.4.0'","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","name":"kube-system-aws-load-balancer-controller","namespace":"flux-system"}
{"level":"info","ts":"2022-06-27T11:56:12.217Z","logger":"controller.helmchart","msg":"artifact up-to-date with remote revision: 'v3.22.0'","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","name":"calico-system-calico","namespace":"flux-system"}
{"level":"info","ts":"2022-06-27T11:56:13.836Z","logger":"controller.helmchart","msg":"artifact up-to-date with remote revision: 'v2.3.1'","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","name":"kyverno-kyverno","namespace":"flux-system"}
{"level":"info","ts":"2022-06-27T11:56:45.205Z","logger":"controller.gitrepository","msg":"no changes since last reconcilation: observed revision 'master/c2be202685fd4c5218d6da49d9eff23480ce7d2f'","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"GitRepository","name":"flux-system","namespace":"flux-system"}
{"level":"error","ts":"2022-06-27T11:56:46.008Z","logger":"controller.helmchart","msg":"Reconciler error","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","name":"my-namespace-my-app","namespace":"flux-system","error":"chart pull error: chart pull error: failed to get chart version for remote reference: GET \"https://<redacted>.dkr.ecr.us-west-2.amazonaws.com/v2/helm/my-chart/tags/list\": unexpected status code 403: denied: Your authorization token has expired. Reauthenticate and try again."}
{"level":"info","ts":"2022-06-27T11:57:11.826Z","logger":"controller.helmchart","msg":"artifact up-to-date with remote revision: '1.4.0'","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","name":"kube-system-aws-load-balancer-controller","namespace":"flux-system"}
{"level":"info","ts":"2022-06-27T11:57:12.222Z","logger":"controller.helmchart","msg":"artifact up-to-date with remote revision: 'v3.22.0'","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","name":"calico-system-calico","namespace":"flux-system"}
{"level":"info","ts":"2022-06-27T11:57:13.854Z","logger":"controller.helmchart","msg":"artifact up-to-date with remote revision: 'v2.3.1'","reconciler group":"source.toolkit.fluxcd.io","reconciler kind":"HelmChart","name":"kyverno-kyverno","namespace":"flux-system"}

We'll probably have to use @souleb's fork of Helm until this gets merged: https://github.com/helm/helm/pull/11086

I have tested the fix with the following scenarios

ecr registry -> eks cluster with a cronjob rotating the ecr token

create the secret
create a helmrepository and a helmrelease
confirm successful reconciliation
wait 12h hours for the token expiration
confirm that it still works

github registry -> manually rotating the PAT in the kubernetes secret

create the secret
create a helmrepository and a helmrelease
confirm successful reconciliation
delete and recreate PAT on github
update secret with new token
confirm that it still works

@nalbury do you have the possibility to test the fix? See #799

Yup deployed an image built from your branch this morning. Should be able to verify this evening once the currently loaded token expires.


Improve log message during plugin version comparison

Related to #256

Codecov Report

Merging #257 (d166238) into main (83195b7) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #257   +/-   ##
=======================================
  Coverage   64.81%   64.81%
=======================================
  Files          35       35
  Lines        2032     2032
  Branches      428      428
=======================================
  Hits         1317     1317
  Misses        601      601
  Partials      114      114

Impacted Files
Coverage Δ

qgis_deployment_toolbelt/plugins/plugin.py
72.72% <ø> (ø)


Unable to run locally - hard to understand why

Hi! Thanks for doing this, it looks excellent!
Sorry if this is not really an issue - I couldn't figure the code out and hope it might help other idiots like me :)
I downloaded and installed it, then
npm i -s
Is there another step I need to take? I see the travis setup which I presume is for CI
Ran
npm run dev
Had to modify node_modules\webpack-cli\bin\webpack.js to
statsPresetToOptions = require("../../webpack/lib/Stats.js").presetToOptions;
Got to this point:

Can't figure out what to do next.  Looked at the docs but they seem to be GHpages for https://kantord.github.io/just-dashboard/ ?
Basic problem is that I don't understand how the back end is arranged or what the front end code that calls the back end looks like? Looks as if jq-web is used to parse the yaml file? Couldn't figure out the route from api endpoint to the parser. Wanted to try everything locally.
manual_test.html for example, contains this:

Can't figure out what to put in manual_test.js
Maybe be really helpful if there was a version of manual_test.js (say, demo.js) in dist so that,say, demo,html would run locally?

One reason for the confusion is that there is no backend here. This is just a frontend library basically.
The backend used at https://bottoml.in/e/:user/:id is GitHub Gists. Here's the repo for that: https://github.com/kantord/bottoml.in-e/blob/master/src/index.js This basically integrates just-dashboard with GitHub Gists.
Of course, you can use your own backend. You can take the code at bottoml.in/e/ and change it so that it integrates your backend with the frontend.
jq-web is only used for executing queries. (For example, transforming a single CSV file to one chart for each line, instead of one chart for the whole file)
To run manual_test.html locally you can just npm run manual-test. That will start a dev server. You'll need to open 'manual_test.html' through that server.
Another option to use just-dashboard locally is using an Electron wrapper. I'm working on one, which can also open local files. Here's the repo: https://github.com/kantord/just-dashboard-desktop That way you don't need a web server at all.
If you want more examples, you can also consult this repo: https://github.com/kantord/ledger-cli-dashboard This one uses just-dashboard-desktop.

@zawsx Do you still need help? :-)

That's very nice of you - I was too embarrassed to reply because the problems are because I don't understand as much of the code as you, not being able to write it so well. I respect the contributions you've made and don't want you wasting time on a newbie.  I got the system to work eventually (not easy!) but I noticed one or two aspects that it might help to mention.

The bundle.js (as used for one of your simple pie chart examples for instance) is 907kb ([http://bottoml.in/e/kantord/2973bdd4ad689642562018bb4091ffbd]) .  Doesn't that make the idea a bit restricted in the width of uses?  I had hoped to use it in a sort of 'i-frame' manner (without the iframe of course) as I think you intend.
However, in a text and graphics-heavy page, adding 1Kb to that page weight for a graph makes it noticeably slow to load when I try it - will people for the graphs to load whilst browsing the page, especially on mobile? Obviously caching will alleviate massively but for me, it'll only be one page per website so that doesn't help.

I'm actually getting bundle.js split into two parts as my webpack output,  625kb and 2548Kb.  Looking back at the dashboard include, my dashboard.js is  3781kb and my vendors bundle 3335Kb
Is there a minimisation option I can take as I can't figure out why my bundle is 2171kb, more than double yours.

I know it's a huge ask, but, as D3 has become 'serverless' (in that you can address specific 'microlibrary' functions and not have it as a black box that does everything, would it be practical to parse the yaml into more primitive calls? D3.v5.min.js is 231kb. Don't know if there is a service that can call package up the parsing and D3 functions and make them callable via some sort of API - a form of lazy loading that might avoid the loading delay?

It seemed that the 'e' in
http://bottoml.in/e/ was hardwired so I thought to split it out (making it 'g' for gist' etc) as I have no bottomlin**e** to complete :)

Similarly, I wanted to have a collection of relatede files in one single gist so thought to look at the code to see how locked into the appended gist URL format you were. It seemed that you detected input file format initially by file extension so I guess the files need to end in .yml or .json etc?  Wanted to group similar graphs in the same gist but that means a location.hash added to the url so a new regexp needed? For instance, I made this gist

https://gist.github.com/zawsx/84c95865d0613ce210a148421815e966
If contains two of your example files,
https://gist.github.com/zawsx/84c95865d0613ce210a148421815e966#file-g22nutri-json
and
https://gist.github.com/zawsx/84c95865d0613ce210a148421815e966#file-t22-yml
Explicit support for hashes might also bring the possibility of adding #myswitch (e.g. #local, #remote, #debug) so as to maybe bring more flexibility to the segment count approach? My localhost test of the bottomline server wouldn't resolve to the pattern I was expecting - localhost:8080/reponame by default, I got confused as localhost:8080/example worked but not localhost:8080/reponame/example

Wasn't sure if the filename 'must' be called dashboard, as in dashboard.yml? I wanted to have pairs in the gist collection of files, t22-yml, t33.yml, t33A.json t33B.json etc

These next three are about about Windows being non-standard - I have the full WSL installed which doesn't suffer the issues of course so it really isn't a big deal but I still like Windows for a range of stuff as I guess many do.

Had to remove the single quotes around './src/index.js' in package.json for it to work under windows - here's them removed:
"manual-test": "webpack-dev-server ./src/index.js --hot --inline --output-filename 'bundle.js'"

env variable assignments in package.json scripts don't work out of the box in W10 on mine. WEBPACK_ENV for instance.

The Makefile won't work under windows as make isn't native so the examples docs can't be compiled.

Really, I can eventually figure all this out myself and see no reason to bother you unless any of it is useful to you (which is why I write). Thanks again for such an elegant and impressive solution :)

Thanks - this is really useful.
This project is actually quite new, and I have not received a lot of feedback from people who actually tried using it.
Actually, usage should be as clear and easy as possible. By the way when I created it I wasn't thinking that a lot of people would set up their own server.
I think all of the points you are raising are fair and should be resolved.
Regarding 3): the purpose of the code at bottoml.in isn't to be a generic solution for hosting dashboards using just-dashboard, that's why the /e/ is hard wired. The /e/ is not required at all, it's just eye candy. You can safely remove that functionality from your code entirely, if you don't need it.
If you have time, can you please create a separate issue for each point/feature request that you've raised? :-)
Thanks again, this is really useful.

Split this issue into several, as requested.


bump pyright linter version

Codecov Report

Merging #418 (5691537) into main (ad5005a) will decrease coverage by 0.14%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #418      +/-   ##
==========================================
- Coverage   95.49%   95.36%   -0.14%
==========================================
  Files          90       90
  Lines       10685    10684       -1
  Branches       10       10
==========================================
- Hits        10204    10189      -15
- Misses        480      490      +10
- Partials        1        5       +4

Impacted Files
Coverage Δ

pydantic_core/__init__.py
76.47% <0.00%> (-23.53%)
:arrow_down:

src/input/input_abstract.rs
87.23% <0.00%> (-3.20%)
:arrow_down:

src/validators/definitions.rs
97.26% <0.00%> (-1.37%)
:arrow_down:

pydantic_core/core_schema.py
98.63% <0.00%> (-0.69%)
:arrow_down:

src/validators/function.rs
98.85% <0.00%> (-0.58%)
:arrow_down:

src/validators/literal.rs
97.41% <0.00%> (-0.44%)
:arrow_down:

Continue to review full report at Codecov.

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

👍 great.


fixed issue #1982

Q
A

Bug fix?
Yes

New feature?
No

BC breaks?
No

Deprecations?
No

Fixed tickets
#1982

Fixes issue where we use dirname before recursive directory creation to symlink shared folders. For example dirname a/b/c will return a/b and try to create it then next step will try to symlink a/b/c but c was never created

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@b9c436e). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #2067   +/-   ##
=========================================
  Coverage          ?   47.64%
  Complexity        ?      722
=========================================
  Files             ?       62
  Lines             ?     2420
  Branches          ?        0
=========================================
  Hits              ?     1153
  Misses            ?     1267
  Partials          ?        0

Continue to review full report at Codecov.

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

I'm closing this PR for now in order to housekeeping. Fill free to reopen if needed.

how about we merge it instead? closing it won't fix the issue 😄

@antonmedv i can not re-open only you can

Sure. Can you please rebase and add a test case?

sure, thanks

Also, can you add test?

i guess i have to figure out how to do a integration test here, can't see any examples in the current code

There are some in test/recipe dir. Also, I'm working on simplifying tests right now.

ok, will look into test/recipe

I've added one simple test: test/joy/OnceTest for an example. Please refer to it)

Figured out myself. Your fix is incorrect. See 112601294c3c76273322ecc4e5f995e34f27b6f6

thank you


abnormal heart atrium shape

Add new term:
abnormal heart atrium shape (a child of abnormal heart atrium morphology MP:0003105 AND abnormal heart shape MP:0000277)
DEF: any anomaly in the characteristic surface outline or contour of one or both heart atria
SYN: abnormal heart atrial shape
SYN: abnormal cardiac atrium shape
SYN: abnormal cardiac atrial shape

Added new term:
abnormal heart atrium shape MP:0031562


Typos in depends_on can result in test code that never runs

Description

Type: Enhancement
Priority: Minor

Enhancement
If a test case dependency (depends_on:XXX:YYY) is not declared anywhere, we may have tests that never get executed, even though we're confident that they're present. Example: MBEDTLS_ASN1PARSE_C instead of MBEDTLS_ASN1_PARSE_C. (PR incoming that fixes this specific case.)
Most such cases are caught in the library, partly because if code is present then it generally means that someone wants it and hopefully there are tests, and partly because check-names.sh insists that all macros that start with MBEDTLS_ must be present in config.h. This approach is not suitable for the tests because sometimes we do want to use dependencies that are calculated inside a .function file, or inside some internal library header file (e.g. ENTROPY_HAVE_STRONG). But maybe we should have some way to formalize such declarations, to avoid typos?

This would be fixed by ensuring that a CI run always executes each test case at least once, which is ongoing work.
While it would be nice to have a way to detect typos that doesn't require a whole CI run, I really can't justify the effort. So I'm closing this issue as subsumed by #2691.


Assertion for auditd_space_left contradicts what's written in the README

If you look at https://github.com/buluma/ansible-role-auditd/blob/c6d3b62bc0035479bdf984fcbf46378c4d693d94/tasks/assert.yml#L168, you will see that the assertion for auditd_space_left contradicts what's written in the README.
It's written that it can be

auditd_space_left: "75"  # This can be a number ('25') or a percentage. ('25%')

But actually, if you write a percentage, then it's a string, but the assertion checks that it's a number.
The audtid.conf(5) manual says that ;

space_left
If the free space in the filesystem containing log_file
drops below this value, the audit daemon takes the action
specified by space_left_action.  If the value of
space_left is specified as a whole number, it is
interpreted as an absolute size in megabytes (MiB).  If
the value is specified as a number between 1 and 99
followed by a percentage sign (e.g., 5%), the audit daemon
calculates the absolute size in megabytes based on the
size of the filesystem containing log_file.  (E.g., if the
filesystem containing log_file is 2 gigabytes in size, and
space_left is set to 25%, then the audit daemon sets
space_left to approximately 500 megabytes.  Note that this
calculation is performed when the audit daemon starts, so
if you resize the filesystem containing log_file while the
audit daemon is running, you should send the audit daemon
SIGHUP to re-read the configuration file and recalculate
the correct percentage.

Thus, the assertion should check that it's

A number, between 0 and the maximum int value.

OR

A string, containing a value between 0 and 99, ending with '%'.

Currently, it's only possible for the role to specify a value in MB between 0 and 100.
The code should be something like this :

- name: assert | Test auditd_admin_space_left
  ansible.builtin.assert:
    that:
      - auditd_admin_space_left is defined
      - auditd_admin_space_left is number or  auditd_admin_space_left is string
      - auditd_admin_space_left is match("([0-9])%*")
    quiet: true

Actually, it's a bit different. It's not auditd_admin_space_left, but just auditd_space_left The admin value should is defined as :

admin_space_left
This is a numeric value in megabytes that tells the audit daemon when to perform a configurable action because the system is running low on disk space. This should be considered the last chance to do something before running out of disk space. The numeric value for this parameter should be lower than the number for space_left.

Therefore ;
- name: assert | Test auditd_admin_space_left
  ansible.builtin.assert:
    that:
      - auditd_admin_space_left is defined
      - auditd_admin_space_left is number
      - auditd_admin_space_left >= 0
      - auditd_admin_space_left <= auditd_space_left
    quiet: true

and,
- name: assert | Test auditd_space_left
  ansible.builtin.assert:
    that:
      - auditd_space_left is defined
      - auditd_space_left is number or  auditd_space_left is string
      - auditd_space_left is match("([0-9])+%*")
    quiet: true

Should be correct. See merge


Cherry-pick in 0.29: Specify width and height for Image(remote source)

Summary:
Better for doc examples
Original commit: https://github.com/facebook/react-native/commit/6b2a49e73e52bf40ab82f792e7748aa36847c17f

By analyzing the blame information on this pull request, we identified @lacker and @sunnylqm to be potential reviewers.

@facebook-github-bot shipit

Thanks for importing. If you are an FB employee go to Phabricator to review.

Ah -- we don't use the shipit bot for cherry-picks into non-master branches. You just do direct merges.

cc @grabbou


Fix image updates for image names with vars

This now uses docker compose config --images to gather all used images instead of trying to find the image names with a regex.
This has the added benefit of removing comments and interpolating env vars for us.
This fixes the focus updates not getting pulled since #142 because they get their tag from env since that version.
The only concern here is that docker-compose config and docker compose config are not present on the docker versions at some sites.

The only concern here is that docker-compose config and docker compose config are not present on the docker versions at some sites.

Thanks for the important remark. This would break Bridgehead scripts at some sites. Can we have some kind of fallback?

In docker compose config it was added 3years ago https://github.com/docker/compose/commit/45956c36fba5d50cc43312600dd848a2187dc0d8 which was released with v2.2.0
I was not able to find it in the old docker/compose-cli repo so maybe it only works on the docker-compose versions that use docker compose under the hood.

This now uses compose config in a way that is supported by version 2.xx

before merging, please solve this tag with git magic https://github.com/samply/bridgehead/blob/main/ccp/docker-compose.yml#L22


Crawler - Migdal

Homepage - https://www.migdal.co.il/He/Pages/MigdalHomePage.aspx
Potential link(s):

https://www.migdal.co.il/He/MigdalMakefet/Solutions/Documents/AssetsList/0616/2291.xlsx

@nirgn975 I got them as well :)
Closing.


Document fioctl installation and configuration

** Unfinished, some elements are incomplete, detail in TODOs **
I finally figured out how hunks and git add -e work, so I can finally start providing more structured PRs and commits.

Docs for 3a84480a7ff85ef1f3352deeb93e27e05bd43f7b are browesable at: https://ci.foundries.io/projects/fio-docs/builds/535/docs/artifacts/html/index.html

Docs for 0adc08ae589492a0e8b6157783ec986ce29da32e are browesable at: https://ci.foundries.io/projects/fio-docs/builds/536/docs/artifacts/html/index.html

Docs for dfa74fb15860a561e42e2db6988002d4b4fb468d are browesable at: https://ci.foundries.io/projects/fio-docs/builds/537/docs/artifacts/html/index.html

Docs for a7974c9e7eaadb8373b826aad0563b194f94c5c8 are browesable at: https://ci.foundries.io/projects/fio-docs/builds/538/docs/artifacts/html/index.html

Docs for 44045d5c76365782eb6f3cced92e284bdd4959b4 are browesable at: https://ci.foundries.io/projects/fio-docs/builds/539/docs/artifacts/html/index.html

Docs for fa79a067b774e0d899d46dad9000bd488b7098da are browesable at: https://ci.foundries.io/projects/fio-docs/builds/540/docs/artifacts/html/index.html

Docs for d8b99424ff3f216a56a2a8514cd5a4328f5526e7 are browesable at: https://ci.foundries.io/projects/fio-docs/builds/541/docs/artifacts/html/index.html

Docs for 7d6bc27b4be7cd5063a822cb2859da362a6762ee are browesable at: https://ci.foundries.io/projects/fio-docs/builds/544/docs/artifacts/html/index.html

@doanac Unless we plan on solving https://github.com/foundriesio/fioctl/issues/50 before release, I will have to put a note in that warns the user that they have to rm ~/.config/fioctl.yaml if they for some reason input the incorrect credentials. Do we plan on solving this before release?

@MatthewCroughan - i was going to look at this issue tomorrow. I'm pretty sure this is something i can fix and release

@doanac Great. I shall abstain from entering a note then! :)

Docs for fe77c12b1b9a77ee132d576c99e487b5b16d25ec are browesable at: https://ci.foundries.io/projects/fio-docs/builds/553/docs/artifacts/html/index.html

Docs for ebcf89e9ec9e7e3d1b37cfaa5b4993fb15abb481 are browesable at: https://ci.foundries.io/projects/fio-docs/builds/565/docs/artifacts/html/index.html


Cannot found the file install.ps1. Provide the path to an existing '.ps1' file as an argument to the -File parameter.

Prerequisites
Please answer the following questions before submitting an issue.
YOU MAY DELETE THE PREREQUISITES SECTION.

[x] I am running the latest version of Node and the tools
[x] I checked the documentation and found no answer
[x] I checked to make sure that this issue has not already been filed

Expected behavior
Please describe the behavior you were expecting
Current behavior
My system is windows11. When I run npx office-addin-dev-certs install. The program caused an error \node_modules\office-addin-dev-certs\scripts\install.ps1 does not exisst. And I found that files install.ps1 and verify.ps1 have been deleted.

Before run npx office-addin-dev-certs install:

After run npx office-addin-dev-certs install:

And then caused an error:
The developer certificates have been generated in C:\Users\Administrator\.office-addin-dev-certs
Installing CA certificate "Developer CA for Microsoft Office Add-ins"...
Error: Unable to install the CA certificate. The argument 'D:\res\office-add-ins\node_modules\office-addin-dev-certs\scripts\install.ps1' to the -File parameter does not exist. Provide the path to an existing '.ps1' file as an argument to the -File parameter.

Steps to Reproduce
Please provide detailed steps for reproducing the issue.

npm install -D office-addin-dev-certs
npx office-addin-dev-certs install

Context
Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

Operating System: windows 11
Node version: 16.18.0
Office version: office 365
Tool version: 1.9.3

Failure Logs
Please include any relevant log snippets, screenshots or code samples here.
The developer certificates have been generated in C:\Users\Administrator\.office-addin-dev-certs
Installing CA certificate "Developer CA for Microsoft Office Add-ins"...
Error: Unable to install the CA certificate. The argument 'D:\res\office-add-ins\node_modules\office-addin-dev-certs\scripts\install.ps1' to the -File parameter does not exist. Provide the path to an existing '.ps1' file as an argument to the -File parameter.

I'm not able to reproduce this and there is nothing in the code that would be modifying anything on the file system other than the files in the .office-addin-dev-certs folder. The process is checking for valid certificate files in that directory, deleting those if they are not valid, generating certificate files if needed, and then running (via command prompt) "powershell -ExecutionPolicy Bypass -File '' 'CurrentUser' " to update the certificate store.
Seems like something in the environment might be interfering. Are you able to run that last PowerShell command manually from a command window?

Hi, millerds. Thank you for your reply. I have returned to Windows 10. Now everything is normal.


Implementing a reverse operator

This PR implements 2 new operators, having in total 3:

sdp-operator :: syncs entities in a k8s with an appgate system
sdp-operator in reverse mode :: syncs an appgate system with k8s
git-operator (github only for now) :: syncs k8s with git (creating pull request with the changes in the state)

This allows us to migrate entities between appgate systems:

appgate system A where we can use the UI to edit entities
the sdp-operator in reverse mode will sync that state into k8s
the git-operator create pull requests in github with the entities created by the sdp-operator running in reverse mode.
Once an admin merges the pull requests, argocd will add those into k8s
A normal sdp-operator will sync an appgate system B with the entities added by argocd.

Pull request look like this:

The git-operator right now keeps accumulating commits with changes into one pull request until this pull request is merged. Then it will create a new branch and a new pull request from it.
In case the git-operator is restarted it will reuse the latest pull request opened (with sdp-operator) tag.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.2 out of 3 committers have signed the CLA.:white_check_mark: lepiolet:white_check_mark: mandopaloooza:x: thomascellerierYou have signed the CLA already but the status is still pending? Let us recheck it.


dydx v4 trade (intermittently) not executed with/without error

Hi, I've been using this with dydx v4 for few weeks now, it looks like it's not as robust / consistent in trade execution, keep experiencing alerts are sent to Render but certain trades are not triggered for some reason, with or without error. Below is an example of error which I managed to get from Render logs but sometimes I don't even see any error but trades just not executed. Wonder if anyone else experiencing same problem as I do?
Recieved GET request.
API Key for dYdX is not set as environment variable
PERPETUAL_PRIVATE_KEY for Perpetual Protocol is not set as environment variable
GMX_PRIVATE_KEY for GMX is not set as environment variable
TypeError: Cannot read properties of undefined (reading 'getBalance')
at /app/dist/services/gmx/getAccount.js:18:38
at Generator.next ()
at /app/dist/services/gmx/getAccount.js:8:71
at new Promise ()
at __awaiter (/app/dist/services/gmx/getAccount.js:4:12)
at gmxGetAccount (/app/dist/services/gmx/getAccount.js:15:29)
at /app/dist/controllers/index.js:30:40
at Generator.next ()
at /app/dist/controllers/index.js:8:71
at new Promise ()
at __awaiter (/app/dist/controllers/index.js:4:12)
at /app/dist/controllers/index.js:25:31
at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)
at next (/app/node_modules/express/lib/router/route.js:144:13)
at Route.dispatch (/app/node_modules/express/lib/router/route.js:114:3)
at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)

hey, I've improved the logic to send order for dydx v4 and pushed new codes
I think it's more stable now.
could you deploy the latest version's tool and try again?

sure, will observe for a while and update if problem persist. thanks a lot!

not looking good, looks like when last alert was triggered, it keeps retry and ended up multiple orders (total 5) were placed instead of 1.
Error: Order is not found/filled. Retry again, count: 5
at /app/dist/services/dydx_v4/createOrder.js:44:23
at Generator.next ()
at fulfilled (/app/dist/services/dydx_v4/createOrder.js:5:58)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

hey I've adjusted retry part a bit
could you try again with the latest version of the tool?

just had another alert triggered, apparently order not executed, error as below:
Error: Order is not found/filled. Retry again, count: 2
at /app/dist/services/dydx_v4/createOrder.js:44:23
at Generator.next ()
at fulfilled (/app/dist/services/dydx_v4/createOrder.js:5:58)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Client ID:<PHONE_NUMBER>
BroadcastErrorObject: Broadcasting transaction failed: GoodTilBlock 11502623 is less than the current blockHeight 11502625: The next block height is greater than the GoodTilBlock of the message
at TendermintClient.broadcastTransactionSync (/app/node_modules/@dydxprotocol/v4-client-js/build/src/clients/modules/tendermintClient.js:69:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
result: {
code: 10,
codespace: 'clob',
log: 'GoodTilBlock 11502623 is less than the current blockHeight 11502625: The next block height is greater than the GoodTilBlock of the message',
data: Uint8Array(0) [],
events: [],
gasWanted: 0n,
gasUsed: 0n,
hash: Uint8Array(32) [
140,  70,   3,  37,  37, 232, 227, 230,
229, 239,  94,  17,  85,  60, 253, 110,
187, 207, 181, 215, 122,  68,  96,   9,
195, 246, 129, 112, 201,  76, 121,  99
]
},
code: 10,
codespace: 'clob'
}

This is an ongoing issue for me as well. Not running inside docker, just yarn start in terminal
I've modified src/services/dydx_v4/createOrder.ts increasing the count, and increasing the time by 5 second increments before it checks for order completed, but also getting the same error. At least it's not missing the trade entirely now, stopping after the current default of 4 (0,1,2,3) 10 second attempts.
line 34 const maxTries = 8; (from 3)
line 56 await _sleep(30000); (from 10000)
This has gotten the error Error: Order is not found/filled. Retry again, count: 0 to not go past 1 so far (or 2 attempts).
And it will keep trying even if it takes a couple minutes, although I'm not thrilled about the 30 seconds.
I'm not sure what is safer keeping await_sleep lower and bumping up the maxTries much higher, but my thought was give it more time to fill the original market order. I've noticed the market orders can take longer to fill at times, especially compared to v3.
If I see dYdX v4 Address: and dYdX v4 Order ID: at the bottom of terminal, then I know the trade has gone through.
...
  hash: Uint8Array(32) [
  ...
  ]
}
dYdX v4 Address: dydx1...
Error: Order is not found/filled. Retry again, count: 1
    at /.../.../.../dist/services/dydx_v4/createOrder.js:44:23
    at Generator.next (<anonymous>)
    at fulfilled (/.../.../.../dist/services/dydx_v4/createOrder.js:5:58)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
Client ID:<PHONE_NUMBER>
Transaction Result:  {
  code: 0,
  codespace: '',
  log: '[]',
  data: Uint8Array(0) [],
  events: [],
  gasWanted: 0n,
  gasUsed: 0n,
  hash: Uint8Array(32) [
     45, 212, 245, 111,  94,  33,  47, 247,
    134,  24,  17, 202,  96, 111, 158,  28,
    200, 193, 251, 116, 157, 139,  83,  66,
    172,  19, 111, 181, 178,   8,   4, 249
  ]
}
dYdX v4 Address: dydx1...
dYdX v4 Order ID:  xxxxxxxx-...

It is annoying to always need to login and check this every time I get an email alert. But at least I've been able to prevent it from missing a trade entirely with these small changes.
I recently found this cool link to help track the trades, without having to login to the server and connect to dydx.trade
https://community.chaoslabs.xyz/dydx-v4/risk/accounts/dydx1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/subAccount/0/overview
Not sure if it's possible to record the TV price vs the Fill price like v3 used to do in the csv logs, that was a nice feature to track slippage easier.
Hopefully some additional logic can be built out in time, but for now this has been my work around.
Also, I have gotten that log: 'GoodTilBlock... error when I had a lower await_sleep but I found out the trade still does go through, as long as the maxTries isn't hit, and it shows dYdX v4 Address: dydx1... dYdX v4 Order ID:  xxxxxxxx-... at the bottom of terminal.
Cheers, hope this helps.

@BradT7 appreciate your input! it helps a lot
I've pushed new codes just now(updated dydx v4 js library version, and adjusted placeOrder() parameters.
hope it will help to make it more stable.
I'll monitor it on my end

looks like it's completely not working now after latest release update: "[dydx v4]update v4-client-js version, adjust parameters". All i can see from the logs are as follows:
Recieved Tradingview strategy alert: {
market: 'ETH_USD',
position: 'short',
price: '3511.5',
exchange: 'dydxv4',
size: '1.6338',
reverse: false,
order: 'sell',
strategy: xxxx
passphrase: xxxxx
}
strategyData { reverse: false, isFirstOrder: 'false', position: -44.63519999999969 }
latestPrice 3511.5
orderParams for dydx { market: 'ETH-USD', side: 'SELL', size: 1.6338, price: 3511.5 }

I've switched to another validator endpoint, and I think it works well now
If you want to switch by yourself, please modify
https://github.com/junta/tradingview-alert-connector/blob/main/config/production.yaml#L20


Not working with swipe refresh

I have integrated ScrollListener without refreshing it works fine but when i try to swipe refresh its not loading more

@bb1690 please write a proper issue report.
What are you doing.
What is happening.
What do you expect to happen.
Which code are you using.
Which version of the library are you using.


fix(ui): editable region boundaries not persisting on refresh

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #55636

Issue
Despite the challenge files being saved, only their contents (code) were being restored on a reload. This lead to incorrect editable region boundaries since it would fallback to the seed values.
Fix
Implemented restoration of editable region boundaries along with the file contents.
Outcome
Since we always restore the updated editable region boundaries from local storage, we always have the optimal bounds as per the saved code.

Hi @naomi-lgbt,
Thank you! Looking forward to getting this merged once it receives another approval.
Best,
dwrik

@ojeytonwilliams
Thanks, glad you liked the approach 🙂


Icon 'script-execute' and 'script-schedule' not in icon/index.js

I tried to import "scriptExecuteIcon" "scriptScheduleIcon" from '@cds/core/icon' but I couldn't find them.

@ccjasonlin Please try to reproduce your problem in one of our stackblitz templates:
https://stackblitz.com/@clr-team

https://stackblitz.com/edit/clarity-light-theme-clr12-cds5-xgpkdz?file=src%2Fapp%2Fapp.component.ts
You can reproduce it as simple as adding the import
import { ClarityIcons, homeIcon, scriptScheduleIcon } from '@cds/core/icon';
The following error will show
Error: src/app/app.component.ts:2:34 - error TS2305: Module '"@cds/core/icon"' has no exported member 'scriptScheduleIcon'.
2 import { ClarityIcons, homeIcon, scriptScheduleIcon } from '@cds/core/icon';
=====
`import { Component } from '@angular/core';
// import { ClarityIcons, homeIcon } from '@cds/core/icon';
import { ClarityIcons, homeIcon, scriptScheduleIcon } from '@cds/core/icon';
import<EMAIL_ADDRESS>@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
})
export class AppComponent {
title = 'angular-cli';
constructor() {
ClarityIcons.addIcons(homeIcon);
ClarityIcons.addIcons(scriptScheduleIcon);
}
}`

Hi @ccjasonlin,
Seems like we didn't export it as a single icon. You can use the technologyCollectionIcons to use that icon until we export it as one.
https://stackblitz.com/edit/clarity-light-theme-clr12-cds5-rlc6yk?file=src%2Fapp%2Fapp.component.ts Example


lbac-1-general-project-structure

General Project Structure
This task revolves around deciding what kind of structure we want the project to have (initially, as this may and will probably change in the future). Things to do in this task are:

Set up "stack": Dependency management and build tool for Haskell
Decide on unit testing tools
Figure out broad architectural vision for project

Assignees:
@argonauthills
@sophialhudson

An article about installing Stack:
http://seanhess.github.io/2015/08/04/practical-haskell-getting-started.html

I'm going to make this recommendation for our initial testing framework:
QuickCheck

Quickcheck Manual:
https://github.com/stackbuilders/quickcheck-manual


"Unable to find an agent on any manager node"

Bug description
I have a Swarm with 3 Nodes running since several months.
But suddenly now, when I call: https://portainer.***.de/#/stacks or /services or /swarm
I get an error:
Statuscode: 500
{"err":"Unable to find an agent on any manager node"}
portainer & docker swarm manager node:

2018/07/03 07:08:24 Response: map[err:Unable to find an agent on any manager node]
2018/07/03 07:08:24 http: proxy error: Invalid Docker response
2018/07/03 07:08:36 Response: map[err:Unable to find an agent on any manager node]
2018/07/03 07:08:36 http: proxy error: Invalid Docker response
2018/07/03 07:22:25 Response: map[err:Unable to find an agent on any manager node]
2018/07/03 07:22:25 http: proxy error: Invalid Docker response
2018/07/03 07:22:30 Response: map[err:Unable to find an agent on any manager node]
2018/07/03 07:22:30 http: proxy error: Invalid Docker response
2018/07/03 07:25:29 Response: map[err:Unable to find an agent on any manager node]
2018/07/03 07:25:29 http: proxy error: Invalid Docker response

logs from portainer-agent:

2018/07/03 07:16:52 http error: Unable to find an agent on any manager node (code=500)
2018/07/03 07:22:25 http error: Unable to find an agent on any manager node (code=500)
2018/07/03 07:22:30 http error: Unable to find an agent on any manager node (code=500)
2018/07/03 07:22:34 http error: Unable to find an agent on any manager node (code=500)
2018/07/03 07:22:40 http error: Unable to find an agent on any manager node (code=500)
2018/07/03 07:23:31 http error: Unable to find an agent on any manager node (code=500)
2018/07/03 07:25:22 http error: Unable to find an agent on any manager node (code=500)
2018/07/03 07:25:29 http error: Unable to find an agent on any manager node (code=500)
2018/07/03 07:25:29 http error: Unable to find an agent on any manager node (code=500)

But docker swarm manager seems to be able to connect to swarm nodes, because:

docker service ls

shows my the services
Any Ideas how to fix that ?
Expected behavior
I would expect to see the stacks, services or nodes of the swarm
Technical details:

Portainer version: 1.18.1
Docker version (managed by Portainer): 18.03.0-ce
Platform (windows/linux): linux
Command used to start Portainer (docker run -p 9000:9000 portainer/portainer):
Browser: Firefox

it was a reconnecting issue.
the provider had routing problems and afterwards not everything seem to have reconnected correctly.
i restarted portainer and all portainer-agents.
Now it works again


Burn Down Chart

Description
Burn Down Chart
As a "developer",
So that "I can predict my team's likelihood of completing their work in the time available",
I want "a burn down chart"
Acceptance Criteria
What are some implicit tasks/criteria to be achieved within this story?

[x] Criteria/Task 1 Developer can see burn down chart

Completed - is in wiki


Add fdov's gitian key

Merging this after #2682 saves some CodeQL load

Realized my previous assertion is wrong - merging.


Quiet the warning about unused parameters in the blockilu test

This quiets a compiler warning about unused variables. Related: should we upgrade warnings to errors in our build system?

LGTM


Add session monkey-patching features

requests-cache comes with some features to globally patch out requests Sessions with install_cache(). It's preferable to avoid this and directly use CachedSession instead; but this may not always be feasible, and I'm sure someone will have a use case for the install_cache() approach.

On second though, monkey patching introduces a lot of potential problems, and I would rather avoid this if possible.


⚠ Rumah123 has degraded performance

In 7f910b6, Rumah123 (https://www.rumah123.com) experienced degraded performance:

HTTP code: 504
Response time: 20800 ms

Resolved: Rumah123 performance has improved in bffc813.


Register

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/104691
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.0.1 -m "<description of version>" a9b3896d2c846c2e074165f4936456f720b3a40e
git push origin v0.0.1

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/113928
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.0.2 -m "<description of version>" 5e97335edb8e6c91dd2024f3a41bc0d820de2a11
git push origin v0.0.2

@JuliaRegistrator register()

Registration pull request updated: JuliaRegistries/General/113928
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.0.2 -m "<description of version>" 502ab411335a5c45b56d7988f6197de71d35f990
git push origin v0.0.2

Registration pull request updated: JuliaRegistries/General/113928
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.0.2 -m "<description of version>" 502ab411335a5c45b56d7988f6197de71d35f990
git push origin v0.0.2


[FR] Images text wrapping

It would be great to have an ability to set text wrapping around images. I believe three options: Left, Right and None would be enough.
Thanks for the project, guys!

Hi, I would also like to see if text wrapping is possible.  I've been looking for a online documentation system and this is a great project for it.

Hi @sprnza,
The main, WYSIWYG editor has this option:

Does this suit your need?

Hi @ssddanbrown ! It's exactly what I need, but how did you do that? :)

sprnza, hi

Select the picture you want to float
Select the alignment you ans and, viola!

Doesn't work for me for some reason.

@sprnza What browser/OS are you using?

@ssddanbrown
Firefox 53.0
Archlinux

@ssddanbrown It's definitely FF's issue. It works with Luakit (the only extra browser I have)

Since a lot has changed since this issue was created, including changes to aligned image placement, I'm going to close this. If the core issue remains please open a new issue referencing this one.


SetError

Is there a way to set an error on a SelectDataset (or any other dataset for that matter) ? It would be super convenient if my code which is building up a query using goqu could leverage its internal error tracking so a subsequent ToSQL would give me back the error I set (or any other internal goqu error) instead of me having to add another layer on top of goqu to track this.
Here's some pseudocode example of what I'd like to be able to do:
var sel *goqu.SelectDataset = ....
if (filter != Equal) {
    return sel.SetError(fmt.Errorf("Only Equal operation is supported"))
}

Then, later on when I go to execute the resulting SQL, this would provide a really nice idiomatic way to detect and propagate the error:
    query, args, err := sqlizer.ToSQL()
    if err != nil {
        return err
    }

Thoughts? Better ideas on how to handle this ?
Thanks!!

Not currently but I can see how it would be useful. I think we should add it to all the dataset types to keep consistency.

@doug-martin I'd like to try to get this working in a PR. I started what I thought would be pretty straightforward by doing this:
// Get any error that has been set on the underlying SQLBuilder or nil if not error has been set.
func (dd *DeleteDataset) Error() error {
    return dd.deleteSQLBuilder().Error()
}

// Set an error on the underlying SQLBuilder. This error will be returned by a future call to Error or as part of ToSQL.
// This can be used by end users to record errors while building up queries without having to track those separately.
func (dd *DeleteDataset) SetError(err error) *DeleteDataset {
    return dd.deleteSQLBuilder().SetError(err)
}

For all the dataset types. The Error() compiles fine. But no joy on SetError. Instead I get:
# github.com/doug-martin/goqu/v8
./delete_dataset.go:181:39: cannot use dd.deleteSQLBuilder().SetError(err) (type sb.SQLBuilder) as type *DeleteDataset in return argument

So I tried a type-assertion:
// Set an error on the underlying SQLBuilder. This error will be returned by a future call to Error or as part of ToSQL.
// This can be used by end users to record errors while building up queries without having to track those separately.
func (dd *DeleteDataset) SetError(err error) *DeleteDataset {
    return dd.deleteSQLBuilder().SetError(err).(*DeleteDataset)
}

Which causes more type problems:
# github.com/doug-martin/goqu/v8
./delete_dataset.go:181:44: impossible type assertion:
	*DeleteDataset does not implement sb.SQLBuilder (missing CurrentArgPosition method)

I'm clearly doing this wrong. Do you see a better way to implement SetError or is this just going to take more digging.

I almost think that Error and SetError need to get moved out of sql_builder.go and up into each dataset. That will lead to code duplication though. Perhaps there should be a common Dataset interface to avoid the code duplication...

Interestinly, If I implement CurrentArgPosition for DeleteDataset and have it just return 0, I then get a new fun error b/c the SetError I'm trying to implement doesn't have the right type at that point.
# github.com/doug-martin/goqu/v8
./delete_dataset.go:181:44: impossible type assertion:
	*DeleteDataset does not implement sb.SQLBuilder (wrong type for SetError method)
		have SetError(error) *DeleteDataset
		want SetError(error) sb.SQLBuilder

I think a solution that may work, to keep changes to a minimum, could be to add a SetError method to each Dataset, and in the sqlBuilder method set the error if it exists on the dataset. So for DeleteDataset the changes could be.
type DeleteDataset struct {
	dialect      SQLDialect
	clauses      exp.DeleteClauses
	isPrepared   bool
	queryFactory exec.QueryFactory
	err          error
}

// used interally to copy the dataset
func (dd *DeleteDataset) copy(clauses exp.DeleteClauses) *DeleteDataset {
	return &DeleteDataset{
		dialect:      dd.dialect,
		clauses:      clauses,
		isPrepared:   dd.isPrepared,
		queryFactory: dd.queryFactory,
		err:          dd.err,
	}
}

func (dd *DeleteDataset) deleteSQLBuilder() sb.SQLBuilder {
	buf := sb.NewSQLBuilder(dd.isPrepared)
	if dd.err != nil {
		return buf.SetError(dd.err)
	}
	dd.dialect.ToDeleteSQL(buf, dd.clauses)
	return buf
}

The same pattern would be followed for the other datasets. If you can think of a way to abstract that logic out go for it.
Hope this helps.

If you are going to work this I'd like to get it in before merging #151, since it could be part v8. Let me know your thoughts.

If you are going to work this I'd like to get it in before merging #151, since it could be part v8. Let me know your thoughts.

I agree. I think the suggestion you have will work great. I think I can have something ready tomorrow. Then we can work on getting in #151 afterwards.
Thanks so much for your help, it's been very appreciated!

@doug-martin I've gone with the suggestion you gave me and created a PR: https://github.com/doug-martin/goqu/pull/152
There's a fair bit of code duplication but without some major refactoring I didn't see a simple way around that. And I wanted to keep this change simple.
I did add some tests around the new behavior as well. Please let me know what you think.

@marshallmcmullen just released this, Great job!

Woohoo! Great news. Thanks for helping me through my first goqu PR @doug-martin !


add event recorder

What type of PR is this?

/kind feature
What this PR does / why we need it:
Add event recorder when we exec kubectl describe ** -n xxx or when we exec kubectl get event -n xxx for
easier watch resource what happed, like this:

Which issue(s) this PR fixes:

Does this PR introduce a user-facing change?:

Add resource event recorder

Nice work. Thanks for contributing!


SSL Wrong Version

Unifi Protect Backup version: Protect 1.21.4
Python version: ?
Operating System: Unraid 6.9.2

Description
When py.unifi.protect attempts to connect to my UDM SE it throws an 'SSL: WRONG_VERSION_NUMBER'
What I Did
The docker must be set to the correct port given it is attempting to connect with the account I had made for it, however I am unsure if the SSL Version on my Unraid, Docker, or UDM SE is the culprit.
client_session: <aiohttp.client.ClientSession object at 0x149a27d2de80>
2022-04-15 02:56:30 [DEBUG]:unifi_protect_backup.unifi_protect_backup: Config:
2022-04-15 02:56:30 [DEBUG]:unifi_protect_backup.unifi_protect_backup: address='<IP_ADDRESS>'
2022-04-15 02:56:30 [DEBUG]:unifi_protect_backup.unifi_protect_backup: port=8080
2022-04-15 02:56:30 [DEBUG]:unifi_protect_backup.unifi_protect_backup: username='Alexandria_Backup'
2022-04-15 02:56:30 [DEBUG]:unifi_protect_backup.unifi_protect_backup: password=REDACTED
2022-04-15 02:56:30 [DEBUG]:unifi_protect_backup.unifi_protect_backup: verify_ssl=False
2022-04-15 02:56:30 [DEBUG]:unifi_protect_backup.unifi_protect_backup: rclone_destination='local:/data'
2022-04-15 02:56:30 [DEBUG]:unifi_protect_backup.unifi_protect_backup: retention='7d'
2022-04-15 02:56:30 [DEBUG]:unifi_protect_backup.unifi_protect_backup: rclone_args=''
2022-04-15 02:56:30 [DEBUG]:unifi_protect_backup.unifi_protect_backup: ignore_cameras=()
2022-04-15 02:56:30 [DEBUG]:unifi_protect_backup.unifi_protect_backup: verbose=1
2022-04-15 02:56:30 [DEBUG]:unifi_protect_backup.unifi_protect_backup: detection_types=['motion', 'person', 'vehicle', 'ring']
2022-04-15 02:56:30 [DEBUG]:unifi_protect_backup.unifi_protect_backup: file_structure_format='{camera_name}/{event.start:%Y-%m-%d}/{event.end:%Y-%m-%dT%H-%M-%S} {detection_type}.mp4'
2022-04-15 02:56:30 [INFO]:unifi_protect_backup.unifi_protect_backup: Starting...
2022-04-15 02:56:30 [INFO]:unifi_protect_backup.unifi_protect_backup: Checking rclone configuration...
2022-04-15 02:56:30 [DEBUG]:unifi_protect_backup.unifi_protect_backup: rclone found: /usr/bin/rclone
2022-04-15 02:56:30 [DEBUG]:unifi_protect_backup.unifi_protect_backup: ffprobe found: /usr/bin/ffprobe
2022-04-15 02:56:30 [INFO]:unifi_protect_backup.unifi_protect_backup: Connecting to Unifi Protect...
Traceback (most recent call last):
File "/usr/bin/unifi-protect-backup", line 8, in <module>
sys.exit(main())
File "/usr/lib/python3.9/site-packages/click/core.py", line 1137, in __call__
return self.main(*args, **kwargs)
File "/usr/lib/python3.9/site-packages/click/core.py", line 1062, in main
rv = self.invoke(ctx)
File "/usr/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/lib/python3.9/site-packages/click/core.py", line 763, in invoke
return __callback(*args, **kwargs)
File "/usr/lib/python3.9/site-packages/unifi_protect_backup/cli.py", line 109, in main
loop.run_until_complete(event_listener.start())
File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
return future.result()
File "/usr/lib/python3.9/site-packages/unifi_protect_backup/unifi_protect_backup.py", line 288, in start
await self._protect.update()
File "/usr/lib/python3.9/site-packages/pyunifiprotect/api.py", line 507, in update
self._bootstrap = await self.get_bootstrap()
File "/usr/lib/python3.9/site-packages/pyunifiprotect/api.py", line 663, in get_bootstrap
data = await self.api_request_obj("bootstrap")
File "/usr/lib/python3.9/site-packages/pyunifiprotect/api.py", line 248, in api_request_obj
data = await self.api_request(
File "/usr/lib/python3.9/site-packages/pyunifiprotect/api.py", line 231, in api_request
data = await self.api_request_raw(
File "/usr/lib/python3.9/site-packages/pyunifiprotect/api.py", line 197, in api_request_raw
await self.ensure_authenticated()
File "/usr/lib/python3.9/site-packages/pyunifiprotect/api.py", line 277, in ensure_authenticated
await self.authenticate()
File "/usr/lib/python3.9/site-packages/pyunifiprotect/api.py", line 293, in authenticate
response = await self.request("post", url=url, json=auth)
File "/usr/lib/python3.9/site-packages/pyunifiprotect/api.py", line 184, in request
raise NvrError(f"Error requesting data from {self._host}: {err}") from None
pyunifiprotect.exceptions.NvrError: Error requesting data from <IP_ADDRESS>: Cannot connect to host <IP_ADDRESS>:8080 ssl:False [[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1129)]
2022-04-15 02:56:30 [ERROR]:asyncio : Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x152b92ba59a0>
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.

Have you provided unifi with a SSL certificate or are you using the default one it generates? In the case of the default self signed certificate I usually just disable ssl verification, we would need to add their CA to the container for it to work otherwise.
please see if that fixes it for now and I will take a look into this further in a few days when I am free

I have the certificate flag as false, however my UDMP SE has the following settings.

Ah, the underlying API only works for local users with username/password authentication. It is common to create a user with only permissions to access the needed api functions. I will add a note to the readme about this.

https://github.com/ep1cman/unifi-protect-backup/blob/main/README.md#account-setup < I have now added instructions

What is the difference with the local account I have been using, Alexandria_Backup?
It has viewer permissions but to the whole console.

Ah ok, that should be fine. From your previous screenshot I assumed you were trying to use the SSH credentials to log in.
Are you using port 443 ?

No I’m using port 8080. Should I switch to 443?
https://help.ui.com/hc/en-us/articles/218506997-UniFi-Ports-Used

Yes please try that. Its the default port the API is accessible on.

Perhaps wrong password? I swear I copy and pasted it.
`connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x151c2e97c6a0>,<PHONE_NUMBER>01011)]']
connector: <aiohttp.connector.TCPConnector object at 0x151c2e986070>
2022-04-17 13:28:56 [DEBUG]:unifi_protect_backup.unifi_protect_backup: Config:
2022-04-17 13:28:56 [DEBUG]:unifi_protect_backup.unifi_protect_backup: address='<IP_ADDRESS>'
2022-04-17 13:28:56 [DEBUG]:unifi_protect_backup.unifi_protect_backup: port=443
2022-04-17 13:28:56 [DEBUG]:unifi_protect_backup.unifi_protect_backup: username='Alexandria_Backup'
2022-04-17 13:28:56 [DEBUG]:unifi_protect_backup.unifi_protect_backup: password=REDACTED
2022-04-17 13:28:56 [DEBUG]:unifi_protect_backup.unifi_protect_backup: verify_ssl=False
2022-04-17 13:28:56 [DEBUG]:unifi_protect_backup.unifi_protect_backup: rclone_destination='local:/data'
2022-04-17 13:28:56 [DEBUG]:unifi_protect_backup.unifi_protect_backup: retention='7d'
2022-04-17 13:28:56 [DEBUG]:unifi_protect_backup.unifi_protect_backup: rclone_args=''
2022-04-17 13:28:56 [DEBUG]:unifi_protect_backup.unifi_protect_backup: ignore_cameras=()
2022-04-17 13:28:56 [DEBUG]:unifi_protect_backup.unifi_protect_backup: verbose=1
2022-04-17 13:28:56 [DEBUG]:unifi_protect_backup.unifi_protect_backup: detection_types=['motion', 'person', 'vehicle', 'ring']
2022-04-17 13:28:56 [DEBUG]:unifi_protect_backup.unifi_protect_backup: file_structure_format='{camera_name}/{event.start:%Y-%m-%d}/{event.end:%Y-%m-%dT%H-%M-%S} {detection_type}.mp4'
2022-04-17 13:28:56 [INFO]:unifi_protect_backup.unifi_protect_backup: Starting...
2022-04-17 13:28:56 [INFO]:unifi_protect_backup.unifi_protect_backup: Checking rclone configuration...
2022-04-17 13:28:56 [DEBUG]:unifi_protect_backup.unifi_protect_backup: rclone found: /usr/bin/rclone
2022-04-17 13:28:56 [DEBUG]:unifi_protect_backup.unifi_protect_backup: ffprobe found: /usr/bin/ffprobe
2022-04-17 13:28:56 [INFO]:unifi_protect_backup.unifi_protect_backup: Connecting to Unifi Protect...
Traceback (most recent call last):
File "/usr/bin/unifi-protect-backup", line 8, in
sys.exit(main())
File "/usr/lib/python3.9/site-packages/click/core.py", line 1137, in call
return self.main(*args, **kwargs)
File "/usr/lib/python3.9/site-packages/click/core.py", line 1062, in main
rv = self.invoke(ctx)
File "/usr/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/lib/python3.9/site-packages/click/core.py", line 763, in invoke
return __callback(*args, **kwargs)
File "/usr/lib/python3.9/site-packages/unifi_protect_backup/cli.py", line 109, in main
loop.run_until_complete(event_listener.start())
File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
return future.result()
File "/usr/lib/python3.9/site-packages/unifi_protect_backup/unifi_protect_backup.py", line 288, in start
await self._protect.update()
File "/usr/lib/python3.9/site-packages/pyunifiprotect/api.py", line 507, in update
self._bootstrap = await self.get_bootstrap()
File "/usr/lib/python3.9/site-packages/pyunifiprotect/api.py", line 663, in get_bootstrap
data = await self.api_request_obj("bootstrap")
File "/usr/lib/python3.9/site-packages/pyunifiprotect/api.py", line 248, in api_request_obj
data = await self.api_request(
File "/usr/lib/python3.9/site-packages/pyunifiprotect/api.py", line 231, in api_request
data = await self.api_request_raw(
File "/usr/lib/python3.9/site-packages/pyunifiprotect/api.py", line 209, in api_request_raw
raise NvrError(msg % (url, response.status, reason))
pyunifiprotect.exceptions.NvrError: Request failed: /proxy/protect/api/bootstrap - Status: 500 - Reason: Invalid token
2022-04-17 13:28:56 [ERROR]:asyncio : Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x151c2e9cbee0>
2022-04-17 13:28:56 [ERROR]:asyncio : Unclosed connector
connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x151c2e97c6a0>,<PHONE_NUMBER>01011)]']
connector: <aiohttp.connector.TCPConnector object at 0x151c2e986070>
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.
`

Updated the password, typo, but looks like my time zone is the wrong format. I assumed to put in CST, but logs show to use “Continent/City”.
Fixed TZ to be the Continent/City format and it seems to be working and showing my cameras in the logs.
I’ll have to change the password back to something more secure. Thank you for your help!


SQL keywords seem to be case-sensitive

in SQL mode, the editor won't accept LEFT OUTER JOIN, but will gladly accept LEFT outer JOIN.

This already works on the development version.


HLS playback triggering PLAYBACK_LEVELS_AVAILABLE repeatedly

I noticed that using the HLS playback, the event PLAYBACK_LEVELS_AVAILABLE gets triggered repeatedly (non-stop), causing the level-selector plugin to reinitialize and re-render. I believe the plugins should only trigger this event when the levels actually changed, what you guys think? RTMP plugin works that way.
We could check on level-selector plugin if the levels changed every time the callback of PLAYBACK_LEVELS_AVAILABLE gets called, but it doesn't seem right to me.

Would you like a PR for this? I fixed it, but used an outside dependency (lodash.isequal) to compare levels.

@NicholasAsimov @thiagopnts is working hard to remove external dependencies but we're always happy to merge PRs 😄


model-viewer support on line addition

Dod: a .glb file that has lines in it and is displayed in web using

what does using at the end of the sentence mean?


Try alternative StorageSharedKeyCredential for sending blobs to azure

In
https://github.com/Azure/azure-sdk-for-js/issues/8950 it was suggested that we use StorageSharedKeyCredential to authenticate with blob store. If we try this, then maybe we can turn back on concurrency.

@aeisenberg or who ever picks up this ticket the call flow here should be:

Use managed identity to get the shared storage key
Create a blob storage client using the shared storage key
Use only the client that authenticates with storage key for all future API calls

cc/ @devigned

There was another comment on the issue that we could just try to stagger our uploads. There is a limit of 5 uploads/second. If we wait 1s between uploads, we might be ok.

Ah...and I see it was @devigned who mentioned that.

The uploads are not throttled, but rather requesting the JWT from the machine local IMDS service (getting the Manage Identity token).
What seems weird to me is it seems like the client is asking for a token for each request. I don't think that should the case. The client should cache the token and only ask upon first request.
Either way, 429s from the IMDS service should be treated as transient failures.
Happy to help if ya'll need a hand.

Closed by https://github.com/Azure/azure-sdk-for-js/issues/8950


EL-1191: Welsh CW7 form

Jira ticket
What changed and why

Enable CCQ to populate a Welsh CW7 form

Guidance to review
N/A
Checklist
Before you ask people to review this PR:

Tests and rubocop should be passing
Branch is generally up to date with main Github - definitely no conflicts
No unnecessary whitespace changes. These make diffs harder to read and conflicts more likely.
PR description says what changed and why, with a link to the JIRA story.
Diff has been checked for unexpected changes being included.
Commit messages say why the change was made.

Looks good to me! Approving, although the only thing I noticed was some dodgy formatting on a couple of fields - you can see in the below screenshot the 0's in two of the fields aren't the right font. I'm not sure if that is something we are able to correct our end or a design thing?
This was taken from page 5 on the 'Less monthly allowances' section (attaching the English too for easy comparison)

I think that is how the text field was initially formatted. I'll see if I can make it similar to the existing ones.


virt-handler does not clean up labels added by node-labeller

Is your feature request related to a problem? Please describe:
When KubeVirt is uninstalled, the labels added to each node by virt-handler are not cleaned up.
Describe the solution you'd like:
Remove the kubevirt labels during the kubevirt removal. This should also include unit tests.

@alicefr i want to work on this issue

/assign

/remove-lifecycle stale


Issue reading parquet files out of seaweed

Describe the bug
Unable to read Parquet files from seaweed via hive or impala.
System Setup

List the command line to start "weed master", "weed volume", "weed filer", "weed s3", "weed mount".

weed -logdir /var/log/seaweedfs/filer filer -ip <IP_ADDRESS> -port 8888 -master <IP_ADDRESS>:9333 -collection COL1 -maxMB 128 -defaultReplicaPlacement 001
weed -logdir /var/log/seaweedfs/master master -defaultReplication 001 -ip <IP_ADDRESS> -port 9333 -peers <IP_ADDRESS>:9333 -mdir /var/lib/seaweedfs/master -volumeSizeLimitMB 64000 -volumePreallocate
weed -logdir /var/log/seaweedfs/volume volume -max=2 -dataCenter DC1 -rack rack1 -dir=/data/d2/seaweedfs -mserver <IP_ADDRESS>:9333 -port 5200

OS version
Ubuntu 16.04.6 LTS

output of weed version
version 8000GB 2.02 9ab98fa linux amd64

seaweed hadoop client
seaweedfs-hadoop2-client-1.4.7.jar

seaweed hadoop client properties

<property>
<name>fs.seaweedfs.impl</name>
<value>seaweed.hdfs.SeaweedFileSystem</value>
</property>

<property>
<name>fs.AbstractFileSystem.seaweedfs.impl</name>
<value>seaweed.hdfs.SeaweedAbstractFileSystem</value>
</property>

<property>
<name>fs.seaweed.buffer.size</name>
<value>134217728</value>
</property>

if using filer, show the content of filer.toml

# A sample TOML config file for SeaweedFS filer store
# Used with "weed filer" or "weed server -filer"
# Put this file to one of the location, with descending priority
#    ./filer.toml
#    $HOME/.seaweedfs/filer.toml
#    /etc/seaweedfs/filer.toml

####################################################
# Customizable filer server options
####################################################
[filer.options]
# with http DELETE, by default the filer would check whether a folder is empty.
# recursive_delete will delete all sub folders and files, similar to "rm -Rf"
recursive_delete = false
# directories under this folder will be automatically creating a separate bucket
buckets_folder = "/buckets"
buckets_fsync = [          # a list of buckets with all write requests fsync=true
        "important_bucket",
        "should_always_fsync",
]

####################################################
# The following are filer store options
####################################################

[redis2]
enabled = true
address  = "<IP_ADDRESS>:6390"
password = "SOMEPASSWORD"
database = 0

Additional context
When Parquet files are written to seaweed, they are easily read manually using Parquet-tools and dumping the contents to a plaintext file. But when impalad reads the file, it errors with the following error in impala:
File 'seaweedfs://<IP_ADDRESS>:8888/dir1/file.parquet' has an invalid version number: ","s
also
Error from query blah:blah: ParquetScanner: reached EOF while deserializing data page header. file=seaweedfs://<IP_ADDRESS>:8888/dir1/file.parquet
Additional Notes
It was mentioned by a co-worker the issue with reading the parquet file could be due to the file being little endian and maybe adding some null bytes to the file when its written to seaweedfs. We have also written a tool to anonymize our parquet data if you would like to test or have me do some more testing to add more context

Thanks! The bug has been fixed in 00a75d7c You can use the latest 1.5.6


Export fails

HI,
I'm not sure why the export fails. It doesn't matter what type of file it is.
I installed the Pandoc Obsidian extension to see if it was a problem with my Pandoc install, but it exported documents as excpected.
Here is  a screenshot:

sorry, I can't reproduce your problem. Please provide more informations.

I think it's because the path had a period (.) in it.

Can confirm.
Windows 11.  Im copied pandoc.exe to the Obsidian dir. Enhanced Export option screen showing:

But export fails with error message:


Resources created with .NET SDK aren't listed in deployment history

When creating a resource through the Azure portal the deployment history can be viewed for the resource group and it also provides a preview of the ARM template and parameters of the deployment. For example of what I mean, please see this article: https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/deployment-history?tabs=azure-portal#resource-group-deployments.
However, when I create resources programmatically with the .NET SDK (not using ARM), my new resources do not show in the deployment history for the resource group.
Is there something additional I need to do in the SDK for the deployments to show in the deployment history?

Hi @jacobslusser , thank you for your feedback. Regarding your question, if you have already deployed your application using the Azure .NET SDK, it should automatically show up in the deployment history. However, if you are experiencing issues with the deployments not showing up, you can try checking the connection string configuration in the Azure portal. If the connection strings are not set up correctly, the logs may not display properly. Another possible reason could be that the endpoints are not configured properly in the ServiceDefinition.csdef file.
If you are still experiencing issues, you can refer to the Azure documentation on troubleshooting common Azure deployment errors
Certainly, the issue you are facing might be due to the portal not being updated in a timely manner. You can try other methods to query deployment history, such as using Azure CLI, REST API, and more. You can refer to the following article for more information on these methods: https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/azure-resource-manager/templates/deployment-history.md


Merge with Stardust?

I'm definitely not of the opinion there should only be one version of anything, but in this case does it make sense to merge the expert dev of semantic-react  with Stardust?
https://github.com/TechnologyAdvice/stardust

We had some discussion with TA folks some time ago about this, that wouldn't going to be happen. The reason is the different ways to expose API for consumer and produce final html markup. stardust is going this way:
<List>
  <ListItem>
   <ListItem.Header>
     <ListItem.Icon/>
   </ListItem.Header>
   <ListItem.Image/>
  </ListItem>
etc...
</List>

i.e they're making separate subcomponents for different parent contexts (items,cards,menu,modal,etc..). Although this is semantically correct (because header in list doesn't support all ordinary header properties) and restricts using these elements to produce only correct markup, i don't think that is correct API to consume.
semantic-react is going by different way: we're only handling using of ui class in these components and removing it by parent context (using react context types) but reusing same standalone components:
<List>
  <ListItem>
     <Header/>
     <Icon/>
     <Image/>
  </ListItem>
</List>

Here Header, Icon and Image are same as standalone components. They have same propTypes and you can break layout if you pass some prop that's not suitable for semantic CSS.

Fair enough, thanks.

Sorry just saw #62


Is this working with Android API 19?

I almost did everything, and i cant find solutions to my problem. I am testing and building my application on android api 19. It doesn't open after building it, after adding react native google sign in and i've done all of the steps. This is my build.gradle:
dependencies {
compile 'com.android.support:multidex:1.0.1'
compile(project(":react-native-google-sign-in")) { // ADD this
exclude group: "com.google.android.gms"
}
compile(project(':react-native-firebase')) {
transitive = false
}
compile project(':react-native-fbsdk')
compile project(':react-native-vector-icons')
compile(project(':react-native-maps')){
exclude group: 'com.google.android.gms'
}
compile project(':react-native-geocoder')
compile fileTree(include: ['*.jar'], dir: 'libs')
// From node_modules
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'com.facebook.react:react-native:+'
compile ("com.google.android.gms:play-services-base:11.0.4") {
force = true;
}
compile ("com.google.android.gms:play-services-maps:11.0.4") {
force = true;
}
compile ("com.google.firebase:firebase-core:11.0.4") {
force = true;
}
compile ("com.google.firebase:firebase-auth:11.0.4") {
force = true;
}
}
apply plugin: 'com.google.gms.google-services'
While this is my android/build.gradle:
dependencies {
    classpath 'com.android.tools.build:gradle:2.2.3'
    classpath 'com.google.gms:google-services:3.0.0'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

Please help me?

@sircEUNHO Do you have any error messages?
It may be related to https://github.com/joonhocho/react-native-google-sign-in/issues/34 as you are using firebase in your project. there may be some conflicts in library versions.
Please try the gradlew commands that I posted here, https://github.com/joonhocho/react-native-google-sign-in/issues/34#issuecomment-328105207, and see if you have any version conflicts.


Suggestion: Have color pre-populated

Currently Text Color field shows inherit. It would be nice to have the theme's default pre-populated instead and a default button to restore it back. In its current state, it might cause confusion to users

You're making a very good point.
But it also means that all other styles need the same "default" button. A lot of "default" buttons will clutter the ui. I think we need to explore the best practices for such kind of situations in ui...

We can skip the default button for now but pre-populating is the main concern for this issue.
We can open an new issue for the default button later.

It seems you found a bug because pre-populating should work. But I see, it doesn't.


Fix AssetManager startup retry

Resolves https://github.com/hyperledger/firefly/issues/1483

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 99.99%. Comparing base (577e8c4) to head (5c7a291).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1484   +/-   ##
=======================================
  Coverage   99.99%   99.99%
=======================================
  Files         322      322
  Lines       23406    23406
=======================================
  Hits        23404    23404
  Misses          1        1
  Partials        1        1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Support for SSH agent

It would be great if OLV supported the use of an SSH agent like PuTTY's
Pageant. Using a key file without passphrase is inherently unsafe.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 30 Sep 2013 at 9:01

Added Support for pageant on windows.


Custom Field CSS is not loaded/merged correctly

Problem Description
Currently I am trying to recreate the dynamic URL field logic without the need to click on the dynamic content icon as I need only a list of posts of a specific post type. The CSS file in the same folder is not taken into account.
yarn build does not help here either. yarn zip and an installation of the plugin on a clean wordpress / divi installation shows that this css is not implemented anywhere. Funny thing though, if I rename the field back as it was, the css is loaded..so the standard dummy field which is delivered with npx create-divi-extension seems to work....
Steps To Reproduce

Create a divi-extension with npx create-divi-extension extension-name
Rename existing "Input" folder in the "includes/fields" folder
Rename class in .jsx file as well in the index.js inside the "includes/fields" folder as well as jsx file
Edit index.js accordingly
Rename css classes accordingly
Build a module with the custom field as field type
CSS is not loaded inside backend

Is there any solution now on how to load the css correctly into the admin? After nearly one year, I suspected any form of reply ...


building package with requirements

Hi,
I'm trying to build a package. When I add the function "requirements(self)" to the recipe with an dependency to e.g. zlib (conan/stable) then conan stopps processing with the following error:
conans.errors.ConanException: More than 1 conanfile in the file
exception origin: ...\conans\client\loader_parse.py", line 45, in _parse_module
I tested creating the package by using the "conan create" command and it worked without any problems.
But creating it with the conan-package-tools builder will result in a failure if I add any dependency in form of a requirement.
Best regards
Johannes

Hi, I would need some trace of the error.

The following is trace output.
I shortened the paths (cut leading parts) of ".conan" and replaced it with "..." and the python path and replaced it with "PYTHON".

parse_module ({module: <module 'conanfile' from '...\.conan\data\testpkg\4.2.1\rms\testing\export\conanfile.py'>}, {filename: conanfile})
inspected ({name: testpkgConan}, {attr: <class 'conanfile.testpkgConan'>})
result was none
parse_module ({module: <module 'conanfile' from '...\.conan\data\zlib\1.2.11\conan\stable\export\conanfile.py'>}, {filename: conanfile})
inspected ({name: testpkgConan}, {attr: <class 'conanfile.testpkgConan'>})
result was none
inspected ({name: ZlibConan}, {attr: <class 'conanfile.ZlibConan'>})
result was already set ({result: <class 'conanfile.testpkgConan'>})
Traceback (most recent call last):
File "PYTHON\lib\site-packages\conans\client\loader_parse.py", line 18, in load_conanfile_class
return _parse_module(loaded, filename)
File "PYTHON\lib\site-packages\conans\client\loader_parse.py", line 45, in _parse_module
raise ConanException("More than 1 conanfile in the file")
conans.errors.ConanException: More than 1 conanfile in the file

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "build.py", line 12, in
builder.run()
File "PYTHON\lib\site-packages\cpt\packager.py", line 335, in run
self.run_builds(base_profile_name=base_profile_name)
File "PYTHON\lib\site-packages\cpt\packager.py", line 411, in run_builds
r.run()
File "PYTHON\lib\site-packages\cpt\runner.py", line 72, in run
profile_name=self._profile_abs_path)
File "PYTHON\lib\site-packages\conans\client\conan_api.py", line 76, in wrapper
return f(*args, **kwargs)
File "PYTHON\lib\site-packages\conans\client\conan_api.py", line 328, in create
test_build_folder, test_folder, conanfile_path)
File "PYTHON\lib\site-packages\conans\client\cmd\create.py", line 51, in create
keep_build=keep_build)
File "PYTHON\lib\site-packages\conans\client\manager.py", line 357, in install
deps_graph = graph_builder.load_graph(conanfile, False, update)
File "PYTHON\lib\site-packages\conans\client\graph\graph_builder.py", line 44, in load_graph
loop_ancestors, aliased, check_updates, update)
File "PYTHON\lib\site-packages\conans\client\graph\graph_builder.py", line 110, in _load_deps
new_options, new_loop_ancestors, aliased, check_updates, update)
File "PYTHON\lib\site-packages\conans\client\graph\graph_builder.py", line 107, in _load_deps
aliased, check_updates, update)
File "PYTHON\lib\site-packages\conans\client\graph\graph_builder.py", line 213, in _create_new_node
reference=requirement.conan_reference)
File "PYTHON\lib\site-packages\conans\client\loader.py", line 37, in load_conan
result = load_conanfile_class(conanfile_path)
File "PYTHON\lib\site-packages\conans\client\loader_parse.py", line 20, in load_conanfile_class
raise ConanException("%s: %s" % (conanfile_path, str(e)))
conans.errors.ConanException: ....conan\data\zlib\1.2.11\conan\stable\export\conanfile.py: More than 1 conanfile in the file

For debugging I inserted 3 print outputs into conan's _parse_module function:
def _parse_module(conanfile_module, filename):
   print("parse_module ({module: %s}, {filename: %s})" % (conanfile_module, filename))
   result = None
    for name, attr in conanfile_module.__dict__.items():
        if name[0] == "_":
            continue
        if (inspect.isclass(attr) and issubclass(attr, ConanFile) and attr != ConanFile and
                attr.__dict__["__module__"] == filename):
            print("inspected ({name: %s}, {attr: %s})" % (name, attr))
            if result is None:
                print("result was none")
                result = attr
            else:
                print("result was already set ({result: %s})" % (result))
                raise ConanException("More than 1 conanfile in the file")
        if (inspect.isclass(attr) and issubclass(attr, Generator) and attr != Generator and
                attr.__dict__["__module__"] == filename):
            registered_generators.add(attr.__name__, attr)
    if result is None:
        raise ConanException("No subclass of ConanFile")
    return result

The OpenSSL recipe is using the requirements to zlib and it is working properly. I cannot reproduce the issue. Could you prepare a minimum example failing and share it?

I'll have to prepare one. Need some minutes.

Ah found the error.
The problem was, I have a function in the conanfile.py. In the build.py I use this function also.
So I had an import at the beginning von the build.py
from conanfile import MYFUNCTION

When I remove this line everything runs fine. So it was a circular reference and the parsing function of conan parsed something it has already processed.
Thanks anyway :)
I'll close the topic as the problem was found has been "resolved".


WiFi Enhanced Open in soft AP mode (IDFGH-12437)

Is your feature request related to a problem?
Open wifi networks can be insecure to users, since an attacker can eavesdrop on wifi packets in the air. I have an application where I don't want to go through the hassle of distributing a PSK but cannot have eavesdroppers.
Describe the solution you'd like.
I'd like support for OWE/Enhanced Open when broadcasting a soft AP.  It already exists for STA mode.
Describe alternatives you've considered.

WPA - I cannot easily distribute the PSK, so this is infeasible
Open wifi and HTTPS for this purpose, but I don't want to have to distribute keys and have users install them.

Additional context.
No response

@kevinhikaruevans will wps registrar with PBC help for this use case ?

I don't think so unfortunately. I'd really like to have an open network for this use case.

Hello, I just wanted to see if this task was on the roadmap and when this might get added into ESP-IDF. Thank you!

@kevinhikaruevans , this is a big feature and it's currently not on the Wi-Fi feature roadmap. The ideal use case here would be to have an AP with Open + OWE mixed mode, so that legacy devices (most common case) can fall back to Open mode. But this requires dual Beaconing which is a big requirement for a SoftAP.