50% kube node CPU spike with Falco deployed

Describe the bug
We're seeing Falco cause a significant increase in CPU utilization when deployed as a daemonset to our kube clusters. We have removed all rules from the deployment to troubleshoot but the resource utilization remains the same which seems to indicate it's unrelated to our ruleset. We do have 1000+ pods and 100+ nodes. The largest jump is generally seen in the kube-system namespace yet around another 10 other namespaces also spike which are our custom application workloads.
How to reproduce it
Deploy falco 0.29.1 to large kube cluster with eBPF probe enabled
Expected behaviour
Based on the documentation this CPU consumption is significantly higher than what is expected for a cluster this size. Would expect ~5% CPU increase.
Screenshots

Environment

Falco version: 0.29.1 and also tried branch from https://github.com/falcosecurity/falco/pull/1671
Falco version: 0.29.1-2+6016c59
Driver version: f7029e2522cc4c81841817abeeeaa515ed944b6c

System info:

Thu Aug 19 22:50:26 2021: Falco version 0.29.1-2+6016c59 (driver version f7029e2522cc4c81841817abeeeaa515ed944b6c)
Thu Aug 19 22:50:26 2021: Falco initialized with configuration file /etc/falco/falco.yaml
Thu Aug 19 22:50:26 2021: Loading rules from file /etc/falco/falco_rules.yaml:
Thu Aug 19 22:50:26 2021: Loading rules from file /etc/falco/falco_rules.local.yaml:
{
  "machine": "x86_64",
  "nodename": "falco-mh7n8",
  "release": "4.19.0-0.bpo.17-amd64",
  "sysname": "Linux",
  "version": "#1 SMP Debian 4.19.194-1~deb9u1 (2021-06-20)"
}

Cloud provider or hardware configuration:
OS: Debian GNU/Linux 9 (stretch)

Kernel: 4.19.0-0.bpo.17-amd64 # 1 SMP Debian 4.19.194-3~deb9u1 (2021-07-19) x86_64 GNU/Linux

Installation method: Kubernetes Daemonset. Kubernetes server v1.15.4

Additional context

Not sure if related but when I tried falco 0.26.0+ebpf, I also noticed performance degrade and syscall event drop in my cluster.  After some investigation it looks like a huge amount of events coming from getsockopt() syscall.  Removing the syscall from here improved the performance a lot.  I didn't find a way to change this option without changing code, so I built falco from source.  Hope this helps.

Is 0.28.0 affected by this issue too?

we discussed a bit in slack, but I found similar behavior with 0.28.0

The left side of the graph is with 0.29.1 , a drop in cpu util where I deleted falco, and then an increase again with the 0.28.0 deployment

did a deploy of docker.io/falcosecurity/falco:0.29.1 earlier with no arguments to see what would happen to kube-system namespace cpu util without the -k and -K options.
Also, no rules were enabled.
Saw similar response as before, here's cpu capacity for the nodes in the cluster, the dip is the duration of the deploy

Some things I'm going to try to figure out, any advice on these would be much appreciated 🙏

can we get perf stats out of falco? Like, worst performing syscall capture
can we exclude specific namespaces? (probably a k8s config if it's possible for a daemonset)
what about the kernel module? does it perform better than the eBPF probe?
what about an os-level install of falco?

This was discussed yesterday in the community call, and today I believe I can confirm the root cause here was the sysctl net.core.bpf_jti_enabled set to it's default of 0
Setting this to 1 resulted in a dramatic decrease in CPU utilization, with the CPU util increase perhaps in the low single digits.

This was discussed yesterday in the community call, and today I believe I can confirm the root cause here was the sysctl net.core.bpf_jti_enabled set to it's default of 0
Setting this to 1 resulted in a dramatic decrease in CPU utilization, with the CPU util increase perhaps in the low single digits.

Seems relevant to add this in main documentation, about tuning. wdyt? cc @leogr @danpopSD

Seems relevant to add this in main documentation, about tuning. wdyt? cc @leogr @danpopSD

👋 @Issif I agree, and I made https://github.com/falcosecurity/falco/issues/1721 to track updating the docs 😄

Great finding, thank you all!
@MattUebel Also thank you for having opened the issue. Btw, I will move it to the falco-website repository.
Anyway, I agree we definitively need to update the documentation adding this case. Is anyone willing to make a PR? :smile_cat:

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/close

@stephanmiehe: Closing this issue.

In response to this:

/close

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Multi-people recognition from webcom

face_recognition version: the lastest version
Python version: python 2.7
Operating System: MacOS

Description
As the example script of facerec_from_webcam_faster is for one person, I wonder how to do face recognition for multi-people like the README.md showed.
Any help will be appreciated!

The method compare_faces takes an array of facial encodings as its first paramter. In the example it only took one facial encoding, so simply add another element into the array like so:
match = face_recognition.compare_faces([obama_face_encoding, your_face_encoding], face_encoding)
And to see if the second face is a match, just check if match[1] is true.

I'm also interested in this.  So if you had let's say 200 people's pictures in a folder of "known" people, you would loop through the files in that folder, and add them all to that array, and pass that array into compare_faces?
Thanks!

That's pretty much it.

Thank you so much for your reply~ @The-Perfect-Username
Your code helps me a lot !
I am continuing working on it ^_^

I'm also interested in this. Can you show the code to recognition two "known" face? Thanks!

Can you solve it? @Osmosis311


SDK crash on iOS - FlurrySignalConnectionTypeDataProvider

Describe the bug
I have a lot of crashes in Crashlytics in iOS.
FlurrySignalConnectionTypeDataProvider.m line 89
-[FlurrySignalConnectionTypeDataProvider onqueue_getCellularSignalConnectionType]

Devices:
iPhone 8 Plus -  13.5.1 (17F80)
iPhone SE (2nd generation) -  13.5.1 (17F80)
iPhone 8 - 13.5.1 (17F80)

Stack trace:
FlurrySignalConnectionTypeDataProvider.m line 89
-[FlurrySignalConnectionTypeDataProvider onqueue_getCellularSignalConnectionType]

Crashed: FlurrySignalConnectionTypeDataProvider
0  libobjc.A.dylib                0x19c3b6980 objc_retain + 16
1  CoreFoundation                 0x19c5def7c __NSSingleObjectArrayI_new + 84
2  CoreFoundation                 0x19c556454 -[NSDictionary allValues] + 312
3  xxx                            0x1042ddf34 -[FlurrySignalConnectionTypeDataProvider onqueue_getCellularSignalConnectionType] + 89 (FlurrySignalConnectionTypeDataProvider.m:89)
4  xxx                            0x1042de494 -[FlurrySignalConnectionTypeDataProvider onqueue_connectionTypeChanged] + 157 (FlurrySignalConnectionTypeDataProvider.m:157)
5  xxx                            0x10429ffc0 __30-[FlurryActor wrapAsyncBlock:]_block_invoke + 321 (FlurryActor.m:321)
6  libdispatch.dylib              0x19c33e9a8 _dispatch_call_block_and_release + 24
7  libdispatch.dylib              0x19c33f524 _dispatch_client_callout + 16
8  libdispatch.dylib              0x19c31cb3c _dispatch_lane_serial_drain$VARIANT$armv81 + 564
9  libdispatch.dylib              0x19c31d54c _dispatch_lane_invoke$VARIANT$armv81 + 396
10 libdispatch.dylib              0x19c32684c _dispatch_workloop_worker_thread + 580
11 libsystem_pthread.dylib        0x19c390b74 _pthread_wqthread + 272
12 libsystem_pthread.dylib        0x19c393740 start_wqthread + 8

This Bug is About

[ ] Integration
[x] Analytics
[ ] Messaging/Push
[ ] Remote Configuration
[ ] Flurry Website/Dashboard
[ ] Other

Platform

[ ] Android
[x] iOS
[ ] tvOS

Environment

React Native version: 0.61.5
react-native-flurry-sdk version: 5.6.0

To Reproduce
I can't reproduce in my environment, I have this crash in Crashlytics.
Additional context
Are you using Flurry Push/Messaging? No
(iOS) Are you using CocoaPods for React Native integration? Yes

Hi @RodolfoGS, Thanks for reporting this issue to us, so is 13.5.1 only os version that this crash happened?

@hantao-flurrydev yes, I only see crashes in that version of iOS (13.5.1)

@RodolfoGS After investigation, we found that since we used some KVC method in CoreTelephony request, and the key is no longer valid after iOS 13.5.1 so that we are changing this part to a safer way, and the fix should be out soon. Sorry for this inconvenience.

@hantao-flurrydev awesome, thank you so much!

@RodolfoGS We just released 5.7.0 based on Flurry SDK iOS 10.3.4 that fixes this crash. Thanks a lot for your feedback!


Remove version: Microsoft.Edge.Beta version 118.0.2088.17

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

For moderators
This account is automated by Github Actions and the source code was created by CoolPlayLin. If you have any questions about any pull request, don't hesitate to ping @Exorcism0666, I'll get a notification.

[!important]
Please carefully review these Pull Request before merging. If it is a Pull Request for removing incorrect content and the URLs are issue, free upon manual checking, please close this Pull Request directly. (It is best to inform Exorcism0666 of the closure.)

良い一日をお過ごしください！

URL: https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/fc72332d-831b-47d5-befc-28c4e40c1663/MicrosoftEdgeBetaEnterpriseX86.msi
Status Code: 200
(Automated message - build 694)


generate datasets that links Zotero records with deposits on Zenodo

In attempting to query Zenodo for corresponding content known to BatLit Zotero records, 502 Bad Gateway http result codes are seen -
[...]
"hash://md5/8b48687febd93560b4f06484a2c482fe","10.5281/zenodo.13[main] WARN bio.guoda.preston.store.Archiver - failed to dereference [<https://zenodo.org/api/communities/batlit/records?q=%22hash://md5/306b96829c67ef192ad6534300bab9e6%22&l=list&limit=1>]
org.apache.http.client.HttpResponseException: status code: 502, reason phrase: [<https://zenodo.org/api/communities/batlit/records?q=%22hash://md5/306b96829c67ef192ad6534300bab9e6%22&l=list&limit=1>]Bad Gateway
	at bio.guoda.preston.ResourcesHTTP.asInputStream(ResourcesHTTP.java:135)
	at bio.guoda.preston.ResourcesHTTP.asInputStream(ResourcesHTTP.java:82)
[...]

Seconds later, the same query
https://zenodo.org/api/communities/batlit/records?q=%22hash://md5/306b96829c67ef192ad6534300bab9e6%22&l=list&limit=1

yields expected results
curl 'https://zenodo.org/api/communities/batlit/records?q=%22hash://md5/306b96829c67ef192ad6534300bab9e6%22&l=list&limit=1'

as
{
  "hits": {
    "hits": [
      {
        "created": "2024-08-29T02:06:11.421175+00:00",
        "modified": "2024-08-29T02:06:11.890585+00:00",
        "id": 13421676,
        "conceptrecid": "13421675",
        "doi": "10.5281/zenodo.13421676",
        "conceptdoi": "10.5281/zenodo.13421675",
        "doi_url": "https://doi.org/10.5281/zenodo.13421676",
        "metadata": {
          "title": "On some Species of Chiroptera from Australia",
          "doi": "10.5281/zenodo.13421676",
          "publication_date": "1884",
          "description": "(Uploaded by Plazi for the Bat Literature Project) No abstract provided.",
          "access_right": "open",
          "creators": [
            {
              "name": "Leche, W.",
              "affiliation": null
            }
          ],
          "keywords": [
            "Biodiversity",
            "Mammalia",
            "Chiroptera",
            "Chordata",
            "Animalia",
            "bats",
            "bat"
          ],
          "related_identifiers": [
            {
              "identifier": "hash://md5/306b96829c67ef192ad6534300bab9e6",
              "relation": "hasVersion",
              "scheme": "url"
            },
            {
              "identifier": "hash://sha256/7ac04ba1a713fc6d05ed8abb6e82ebf2306c7ca596cec0b4ffa86bc2ee90ec73",
              "relation": "hasVersion",
              "scheme": "url"
            },
            {
              "identifier": "zotero://select/groups/5435545/items/ITUBJZWW",
              "relation": "isDerivedFrom",
              "scheme": "url"
            },
            {
              "identifier": "https://zotero.org/groups/5435545/items/ITUBJZWW",
              "relation": "isDerivedFrom",
              "scheme": "url"
            },
            {
              "identifier": "https://linker.bio/cut:hash://md5/ca66d444c83a8b95c14c82ae9883f23d!/b103008-105430",
              "relation": "isDerivedFrom",
              "scheme": "url"
            },
            {
              "identifier": "hash://md5/26f7ce5dd404e33c6570edd4ba250d20",
              "relation": "isPartOf",
              "scheme": "url"
            },
            {
              "identifier": "10.5281/zenodo.1410543",
              "relation": "isCompiledBy",
              "resource_type": "software",
              "scheme": "doi"
            }
          ],
          "custom": {
            "dwc:class": [
              "Mammalia"
            ],
            "dwc:kingdom": [
              "Animalia"
            ],
            "dwc:order": [
              "Chiroptera"
            ],
            "dwc:phylum": [
              "Chordata"
            ]
          },
          "resource_type": {
            "title": "Journal article",
            "type": "publication",
            "subtype": "article"
          },
          "journal": {
            "issue": "1",
            "pages": "49-54",
            "title": "Proceedings of the Zoological Society of London",
            "volume": "52"
          },
          "alternate_identifiers": [
            {
              "identifier": "hash://md5/306b96829c67ef192ad6534300bab9e6"
            },
            {
              "identifier": "urn:lsid:zotero.org:groups:5435545:items:ITUBJZWW"
            },
            {
              "identifier": "10.1111/j.1096-3642.1884.tb02807.x"
            }
          ],
          "license": {
            "id": "cc-by-4.0"
          },
          "communities": [
            {
              "id": "batlit"
            },
            {
              "id": "biosyslit"
            }
          ],
          "relations": {
            "version": [
              {
                "index": 0,
                "is_last": true,
                "parent": {
                  "pid_type": "recid",
                  "pid_value": "13421675"
                }
              }
            ]
          }
        },
        "title": "On some Species of Chiroptera from Australia",
        "links": {
          "self": "https://zenodo.org/api/records/13421676",
          "self_html": "https://zenodo.org/records/13421676",
          "doi": "https://doi.org/10.5281/zenodo.13421676",
          "self_doi": "https://doi.org/10.5281/zenodo.13421676",
          "self_doi_html": "https://zenodo.org/doi/10.5281/zenodo.13421676",
          "parent": "https://zenodo.org/api/records/13421675",
          "parent_html": "https://zenodo.org/records/13421675",
          "parent_doi": "https://doi.org/10.5281/zenodo.13421675",
          "parent_doi_html": "https://zenodo.org/doi/10.5281/zenodo.13421675",
          "self_iiif_manifest": "https://zenodo.org/api/iiif/record:13421676/manifest",
          "self_iiif_sequence": "https://zenodo.org/api/iiif/record:13421676/sequence/default",
          "files": "https://zenodo.org/api/records/13421676/files",
          "media_files": "https://zenodo.org/api/records/13421676/media-files",
          "thumbnails": {
            "10": "https://zenodo.org/api/iiif/record:13421676:Leche%20-%201884%20-%20On%20some%20Species%20of%20Chiroptera%20from%20Australia.pdf/full/^10,/0/default.jpg",
            "50": "https://zenodo.org/api/iiif/record:13421676:Leche%20-%201884%20-%20On%20some%20Species%20of%20Chiroptera%20from%20Australia.pdf/full/^50,/0/default.jpg",
            "100": "https://zenodo.org/api/iiif/record:13421676:Leche%20-%201884%20-%20On%20some%20Species%20of%20Chiroptera%20from%20Australia.pdf/full/^100,/0/default.jpg",
            "250": "https://zenodo.org/api/iiif/record:13421676:Leche%20-%201884%20-%20On%20some%20Species%20of%20Chiroptera%20from%20Australia.pdf/full/^250,/0/default.jpg",
            "750": "https://zenodo.org/api/iiif/record:13421676:Leche%20-%201884%20-%20On%20some%20Species%20of%20Chiroptera%20from%20Australia.pdf/full/^750,/0/default.jpg",
            "1200": "https://zenodo.org/api/iiif/record:13421676:Leche%20-%201884%20-%20On%20some%20Species%20of%20Chiroptera%20from%20Australia.pdf/full/^1200,/0/default.jpg"
          },
          "archive": "https://zenodo.org/api/records/13421676/files-archive",
          "archive_media": "https://zenodo.org/api/records/13421676/media-files-archive",
          "latest": "https://zenodo.org/api/records/13421676/versions/latest",
          "latest_html": "https://zenodo.org/records/13421676/latest",
          "versions": "https://zenodo.org/api/records/13421676/versions",
          "draft": "https://zenodo.org/api/records/13421676/draft",
          "reserve_doi": "https://zenodo.org/api/records/13421676/draft/pids/doi",
          "access_links": "https://zenodo.org/api/records/13421676/access/links",
          "access_grants": "https://zenodo.org/api/records/13421676/access/grants",
          "access_users": "https://zenodo.org/api/records/13421676/access/users",
          "access_request": "https://zenodo.org/api/records/13421676/access/request",
          "access": "https://zenodo.org/api/records/13421676/access",
          "communities": "https://zenodo.org/api/records/13421676/communities",
          "communities-suggestions": "https://zenodo.org/api/records/13421676/communities-suggestions",
          "requests": "https://zenodo.org/api/records/13421676/requests"
        },
        "updated": "2024-08-29T02:06:11.890585+00:00",
        "recid": "13421676",
        "revision": 5,
        "files": [
          {
            "id": "8ba86d91-cdb2-4d7c-a77f-bc131d36c4c0",
            "key": "Leche - 1884 - On some Species of Chiroptera from Australia.pdf",
            "size": 1402232,
            "checksum": "md5:306b96829c67ef192ad6534300bab9e6",
            "links": {
              "self": "https://zenodo.org/api/records/13421676/files/Leche - 1884 - On some Species of Chiroptera from Australia.pdf/content"
            }
          }
        ],
        "swh": {},
        "owners": [
          {
            "id": "7292"
          }
        ],
        "status": "published",
        "stats": {
          "downloads": 2,
          "unique_downloads": 2,
          "views": 6,
          "unique_views": 6,
          "version_downloads": 2,
          "version_unique_downloads": 2,
          "version_unique_views": 6,
          "version_views": 6
        },
        "state": "done",
        "submitted": true
      }
    ],
    "total": 1
  },
  "aggregations": {
    "access_status": {
      "buckets": [
        {
          "key": "open",
          "doc_count": 1,
          "label": "Open",
          "is_selected": false
        }
      ],
      "label": "Access status"
    },
    "resource_type": {
      "buckets": [
        {
          "key": "publication",
          "doc_count": 1,
          "label": "Publication",
          "is_selected": false,
          "inner": {
            "buckets": [
              {
                "key": "publication-article",
                "doc_count": 1,
                "label": "Journal article",
                "is_selected": false
              }
            ]
          }
        }
      ],
      "label": "Resource types"
    },
    "subject": {
      "buckets": [
        {
          "key": "Animalia",
          "doc_count": 1,
          "label": "Animalia",
          "is_selected": false
        },
        {
          "key": "Biodiversity",
          "doc_count": 1,
          "label": "Biodiversity",
          "is_selected": false
        },
        {
          "key": "Chiroptera",
          "doc_count": 1,
          "label": "Chiroptera",
          "is_selected": false
        },
        {
          "key": "Chordata",
          "doc_count": 1,
          "label": "Chordata",
          "is_selected": false
        },
        {
          "key": "Mammalia",
          "doc_count": 1,
          "label": "Mammalia",
          "is_selected": false
        },
        {
          "key": "bat",
          "doc_count": 1,
          "label": "bat",
          "is_selected": false
        },
        {
          "key": "bats",
          "doc_count": 1,
          "label": "bats",
          "is_selected": false
        }
      ],
      "label": "Subjects"
    },
    "file_type": {
      "buckets": [
        {
          "key": "pdf",
          "doc_count": 1,
          "label": "PDF",
          "is_selected": false
        }
      ],
      "label": "File type"
    }
  },
  "links": {
    "self": "https://zenodo.org/api/communities/batlit/records?page=1&q=%22hash%3A%2F%2Fmd5%2F306b96829c67ef192ad6534300bab9e6%22&size=25&sort=bestmatch"
  }
}

A dataset linking versioned Zotero records with associated records on Zenodo can be found at https://batlit.org/zenodo/refs-on-zenodo.csv  and https://batlit.org/zenodo/refs-on-zenodo-100.csv .
fyi @myrmoteras

          @myrmoteras thanks for responding

Here's what I had to do to make a versioned snapshot of Zenodo metadata associated with BatLit content:

write a script to mine Zenodo metadata associated with content from a specific BatLit version (minutes, track-zenodo-association.sh)
track and store Zenodo metadata associated with BatLit content (212 minutes ~ 3-4 hours, ~300 MB of metadata resulting from tens of thousands of web api requests, with a few http error messages causing potential unrecoverable dataloss, see https://github.com/bat-literature/bat-literature.github.io/blob/0e7f5b5dd70bf70087bf3103a10f7489bea781ad/zenodo)
write a scripts to associate zenodo DOIs with BatLit content (hours, hash2zenodo.sh, refs2zenodo.sh)
publish refs-on-zenodo.csv and refs-on-zenodo-100.csv (minutes)

sample record, generated from
cat zenodo/refs-on-zenodo-100.csv | head -2 | mlr --icsv --oxtab cat

and based on BatLit v0.7 hash://md5/ce1e7618f237ff56e74d51f496e811a3 (aka corpusId) and Zenodo's BatLit Metadata v0.1 hash://md5/fe634ab84d48b6a9b58adc9e038ecd86 (aka zenodoResponseCorpusId):
authors                Douglas
date                   1967
title                  Article: The Natural History of the Ghost Bat, Macroderma Gigas (Microchiroptera Megadermatidae), in Western Australia
journal                Western Australia. The Western Australian Naturalist
doi
id                     https://www.zotero.org/groups/bat_literature_project/items/M5MZ6NSB
attachment             https://api.zotero.org/groups/5435545/items/223GU789
attachmentId           hash://md5/5e3f7fac483550be7983c6096e9e9800
corpusId               hash://md5/ce1e7618f237ff56e74d51f496e811a3
alternativeDoi         10.5281/zenodo.13521017
alternativeDoiUrl      https://doi.org/10.5281/zenodo.13521017
zenodoResponseCorpusId hash://md5/fe634ab84d48b6a9b58adc9e038ecd86

And, this list (i.e., refs-on-zenodo.csv) is outdated as soon as it is published . . . because . . . metadata for Zenodo deposits has/can/will change in format, content as there's no way for me to algorithmically verify the authenticity content and metadata associated with some Zenodo DOI or deposit id.
In other words, with the current tools and APIs provided by Zenodo, I cannot validate the integrity of the associations of the versioned batlit corpus and their associated Zenodo records (metadata and files) using the corpora I have on file. Instead, I have to constantly poll Zenodo and someone compare the provided metadata and content with the published BatLit corpus.
When building BatLit (and other digital datasets), there's some guiding questions I use to guide tool and infrastructure development:

How to keep track of BatLit data corpus?
How to cite specific versions of the BatLit data corpora?
How to share specific versions of the BatLit data corpora?

Now, I am curious how these questions can be answered using the Zenodo's user friendly communities functionality to compile, manage, and export/share versioned corpora. With the tools / infrastructure, I am aware of, I'd have to revert to web scraping to effectively rebuild batlit from Zenodo instead of Zotero, which seems like double work.
I wonder what the Zenodo technical team (ping @slint) will come up with to satisfy your use case and how your proposed Zenodo -> BiodiversityPMC workflow will be implemented.
Thanks for being patient in discussing these pesky data publication challenges.
Originally posted by @jhpoelen in https://github.com/plazi/Biodiversity-Literature-Repository/issues/106#issuecomment-2540272086

          PS, just in case you are interested in the responses from Zenodo, you can see all of them by pasting this into your bash terminal after installing [preston](https://github.com/bio-guoda/preston).

preston ls\
 --anchor hash://md5/fe634ab84d48b6a9b58adc9e038ecd86\
 --remote https://raw.githubusercontent.com/bat-literature/bat-literature.github.io/0e7f5b5dd70bf70087bf3103a10f7489bea781ad/zenodo\
 | preston cat\
 --remote https://raw.githubusercontent.com/bat-literature/bat-literature.github.io/0e7f5b5dd70bf70087bf3103a10f7489bea781ad/zenodo

Alternatively, you can download the data yourself using https://github.com/bat-literature/bat-literature.github.io/archive/0e7f5b5dd70bf70087bf3103a10f7489bea781ad.zip and peek in the '/zenodo' folder.
Originally posted by @jhpoelen in https://github.com/plazi/Biodiversity-Literature-Repository/issues/106#issuecomment-2540289974

          If you just want to see a single record, you can select the first record from the corpus,

preston ls\
 --anchor hash://md5/fe634ab84d48b6a9b58adc9e038ecd86\
 --remote https://raw.githubusercontent.com/bat-literature/bat-literature.github.io/0e7f5b5dd70bf70087bf3103a10f7489bea781ad/zenodo\
 | grep hasVersion\
 | head -1\
 | preston cat\
 --remote https://raw.githubusercontent.com/bat-literature/bat-literature.github.io/0e7f5b5dd70bf70087bf3103a10f7489bea781ad/zenodo

to get the content associated with the query response
<https://zenodo.org/api/communities/batlit/records?q=%22hash://md5/5e3f7fac483550be7983c6096e9e9800%22&l=list&limit=1> <http://purl.org/pav/hasVersion> <hash://md5/6d291be2f337911396f5f62d2fc165f8> <urn:uuid:520682a0-244b-4da7-883a-f6cc4964ccc3> .

which, at time of writing, can also be found at
https://github.com/bat-literature/bat-literature.github.io/blob/main/zenodo/6d/29/6d291be2f337911396f5f62d2fc165f8
with a "raw" data stream available via
https://raw.githubusercontent.com/bat-literature/bat-literature.github.io/refs/heads/main/zenodo/6d/29/6d291be2f337911396f5f62d2fc165f8
Originally posted by @jhpoelen in https://github.com/plazi/Biodiversity-Literature-Repository/issues/106#issuecomment-2540295403


Old data points on reconnect of device

custom_component/hahomematic version (if applicable):
1.12.0
Home Assistant version (if applicable):
2022.7.4
CCU version:

Model (CCU2/3, Raspi3/4, NUC, ProxmoxVE, HA-Addon ...): CCU3
OS (Original, RaspberryMatic, debmatic ...): Raspberrymatic
Version: latest

Describe the bug
After a device reonnects (e.g. battery was empty for a while and has been replaced) it shows the previous value for a while (10:00 in the screenshot):

Expected behavior
After reconnection, only the new value should be shown.
Additional context
Not sure if this can be fixed by this integration or if it's a CCU thing.

Looks like this device does not send events.
Is it a HM or HmIP device?

It is an HmIP device: HmIP-SWO-PR.
Here's the diagnostic info I get from the device, seems to be not device specific thopugh:
{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2022.7.4",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.10.5",
    "docker": true,
    "arch": "aarch64",
    "timezone": "Europe/Berlin",
    "os_name": "Linux",
    "os_version": "5.15.32-v8",
    "supervisor": "2022.07.0",
    "host_os": "Home Assistant OS 8.3",
    "docker_version": "20.10.14",
    "chassis": "embedded",
    "run_as_root": true
  },
  "custom_components": {
    "opensprinkler": {
      "version": "1.1.10",
      "requirements": [
        "pyopensprinkler==0.7.3"
      ]
    },
    "hacs": {
      "version": "1.26.2",
      "requirements": [
        "aiogithubapi>=22.2.4"
      ]
    },
    "gardena_smart_system": {
      "version": "1.0.0",
      "requirements": [
        "py-smart-gardena==1.3.3"
      ]
    },
    "eufy_security": {
      "version": "2.2.7",
      "requirements": [
        "websocket-client==1.1.0"
      ]
    },
    "homematicip_local": {
      "version": "1.12.0",
      "requirements": [
        "hahomematic==2022.7.9"
      ]
    },
    "webrtc": {
      "version": "v2.3.1",
      "requirements": []
    },
    "miele": {
      "version": "v2021.10.12",
      "requirements": [
        "requests_oauthlib>=1.3.0"
      ]
    }
  },
  "integration_manifest": {
    "domain": "homematicip_local",
    "name": "Homematic(IP) Local",
    "config_flow": true,
    "documentation": "https://github.com/danielperna84/custom_homematic",
    "issue_tracker": "https://github.com/danielperna84/hahomematic/issues",
    "requirements": [
      "hahomematic==2022.7.9"
    ],
    "ssdp": [
      {
        "manufacturer": "EQ3",
        "manufacturerURL": "http://www.homematic.com"
      }
    ],
    "zeroconf": [],
    "homekit": {},
    "dependencies": [],
    "codeowners": [
      "@danielperna84",
      "@SukramJ"
    ],
    "iot_class": "local_push",
    "loggers": [
      "hahomematic"
    ],
    "version": "1.12.0",
    "is_built_in": false
  },
  "data": {
    "config": {
      "entry_id": "2565974ba7d32a6a80e7f2f4a43e1f7e",
      "version": 1,
      "domain": "homematicip_local",
      "title": "CCU3",
      "data": {
        "instance_name": "CCU3",
        "host": "<IP_ADDRESS>",
        "username": "**REDACTED**",
        "password": "**REDACTED**",
        "tls": false,
        "verify_tls": false,
        "callback_host": null,
        "callback_port": null,
        "json_port": null,
        "interface": {
          "HmIP-RF": {
            "port": 2010
          },
          "BidCos-RF": {
            "port": 2001
          }
        }
      },
      "options": {},
      "pref_disable_new_entities": false,
      "pref_disable_polling": false,
      "source": "ssdp",
      "unique_id": "98A99A22B1",
      "disabled_by": null
    },
    "platform_stats": {
      "binary_sensor": 81,
      "climate": 12,
      "cover": 5,
      "lock": 1,
      "number": 12,
      "sensor": 51,
      "switch": 42
    },
    "devices": [
      "HM-LC-Sw1-FM",
      "HM-LC-Sw2-FM",
      "HM-OU-CFM-TW",
      "HM-PB-2-WM55-2",
      "HM-PBI-4-FM",
      "HM-Sen-RD-O",
      "HMIP-PSM",
      "HMIP-SWDO",
      "HmIP-CCU3",
      "HmIP-DLD",
      "HmIP-DRSI4",
      "HmIP-DSD-PCB",
      "HmIP-FBL",
      "HmIP-FCI1",
      "HmIP-FCI6",
      "HmIP-FROLL",
      "HmIP-SCTH230",
      "HmIP-SPI",
      "HmIP-SWDO-I",
      "HmIP-SWO-PR",
      "HmIP-SWSD",
      "HmIP-WRCD",
      "HmIP-eTRV-2"
    ]
  }
}

Yes, diagnostics is only CCU related.
The values are updating in CCU WebUI?

My HmIP-SWO-PR said goodbye yesterday with empty batteries. After changing the battery today, the device connected as expected and updated the values.
A few years ago, however, I had the problem that the HmIP-SWO-PR had to be completely re-taught on the CCU after about a week without a connection.

Unfortunately I do not have protocols enabled on CCU, so I can't find out for that occurrence. I'll keep an eye on when this happens the next time and try to enable some logging beforehand.


Post previews have unformatted markdown

Issue Summary
Not sure when this got broken, but after updating to 5.4.1 I noticed that on my blog's home page post preview texts display unformatted markdown - e.g. clickable URLs are not showing etc. Tried with different themes (including Casper) and the issue remains.
Steps to Reproduce

Update to latest version of Ghost
Witness that your post previews display markdown unformatted

Ghost Version
5.4.1
Node.js Version
14.20.0
How did you install Ghost?
Ubuntu 20.04.4 LTS
Database type
MySQL 8
Browser & OS version
Safari, Firefox / macOS 12
Relevant log / error output
No response
Code of Conduct

[X] I agree to be friendly and polite to people in this repository

Think I figured this out... At some point posts had been converted into markdown "blocks" when viewing them in the editor. Cutting the text, removing the markdown block and then pasting text back into editor fixed the issue.

Glad you figured it out 🙂


Provide a way to disable/control d.ts loading from npm modules

Currently TypeScript compiler automatically loads d.ts files from node_modules.
While convenient, in some cases it leads to ambient definition clash, for instance, between angular2/../protractor.d.ts and jquery.d.ts.
Please provide a way to control this loading behaviour so I can exclude protractor.d.ts when building the project.
At the very least, please provide an option to disable automatic .d.ts discovery and loading in npm packages.

use --moduleResolution classic to disable loading of typings from node_modules.

Can you share your setup, i would like to take a look at the modules causing the conflicts and see what we can do better there.

@mhegazy here you are
typingproblem.zip
npm i
.\node_modules\.bin\tsc

=>
node_modules/angular2/typings/angular-protractor/angular-protractor.d.ts(1679,13): error TS2403: Subsequent variable declarations must have the same type.  Variable '$' must be of type 'JQueryStatic', but here has type 'cssSelectorHelper'.

mmm, i do not see any conflicts here.
c:\test\6639\typingproblem>.\node_modules\.bin\tsc --v
message TS6029: Version 1.7.5

c:\test\6639\typingproblem>tsc

c:\test\6639\typingproblem>echo %ErrorLevel%
0

I also do not think you need typings\angular2\angular2.d.ts, the angular package already have one.

@mhegazy could you please try running tsc from .\node_modules\.bin and not from PATH? I suspect that you ran tsc version 1.0 because that's where PATH points on Windows machines with VisualStudio installed (even if you have other versions).
Also thank you for pointing out that typings/angular2/angular2.d.ts is redundant. I'm aware of that (the file itself contains nothing but comment on that) I just forgot to remove it.

could you please try running tsc from .\node_modules.bin and not from PATH? I suspect that you ran tsc version 1.0 because that's where PATH points on Windows machines with VisualStudio installed (even if you have newer TypeScript versions).

i did, hence the tsc --v comment above. it tried your sample on 1.7.5, and got no errors.

@mhegazy Please look again. You're calling tsc with --v key from node_modules but on the next line you call it from PATH.

c:\test\6639\typingproblem>tsc
^^^^^^^^^^^^^^^^^^

@mhegazy Please disregard previous comments. It seems angular team fixed it in their recent release.  I don't get this error anymore after reinstalling angular2.

@mhegazy Here's the sample to reproduce the issue just in case you need it. It uses angular2 2.0.0-beta.1 which has the problem. They've fixed it in beta 2.

aah.. thanks.. looks like an angular bug then. i think the compiler catches this correctly. they are overloading the $ which will not work if you are using JQuery obviously.


Failing to play avi files

Hi, It seems like .avi files fail to play cause the codec value is 'undf', which I think it means undefined :)
Any idea on how to fix it?
Thanks for your help!

If the codec value is undf, it means that the codec is not supported by WebCodecs. Even if we obtain the correct frame packet, it cannot be decoded by the browser, so web-demuxer does not support it.

Got it, thanks!

@ForeverSc but is it possible to build ffmpeg with software codecs and use them to decode frames of other codecs, from the list that webcodecs not supports?

@ForeverSc but is it possible to build ffmpeg with software codecs and use them to decode frames of other codecs, from the list that webcodecs not supports?

Of course you can. But web-demuxer is designed for demuxing, so it will not support decoding. However, you can fork it and add decoding by yourself.


adding new feature to get current running fiscal year

new method current_fiscal_year added inside datetime class to get current fiscal year

@lalitmahato please raise the PR to develop branch.


Upgrade attempts state the packages are not git repositories

When running fundle install -u I receive the following
Upgrading tuvistavie/oh-my-fish-core
fatal: Not a git repository (or any of the parent directories): .git
Upgrading junegunn/fzf
fatal: Not a git repository (or any of the parent directories): .git
Upgrading oh-my-fish/plugin-grc
fatal: Not a git repository (or any of the parent directories): .git
Upgrading oh-my-fish/theme-robbyrussell
fatal: Not a git repository (or any of the parent directories): .git
Upgrading tuvistavie/fish-completion-helpers
fatal: Not a git repository (or any of the parent directories): .git

Hi, thank you for reporting.
I am going to take a look.
In the meanwhile, if you really need to update just delete
~/.config/fish/fundle and run fundle install.

I just tried to reproduce the issue, but I could not.
I tried in a fresh Ubuntu box with the following config.fish
fundle plugin 'tuvistavie/oh-my-fish-core'
fundle plugin 'junegunn/fzf'
fundle plugin 'oh-my-fish/plugin-grc'
fundle plugin 'oh-my-fish/theme-robbyrussell'
fundle plugin 'tuvistavie/fish-completion-helpers'
fundle init

Have you done anything that could have deleted the .git directory in the plugins directory?
Also, do you have any symlink under .config/fish, I do not think it should be an issue, but maybe it could help reproducing.
By the way, do you still get the error if you remove ~/.config/fish/fundle and run fundle install then fundle install -u again?
Thank you!

After performing a rm -rf ~/.config/fish/fundle and then fundle install, I receive
Installing tuvistavie/oh-my-fish-core
fatal: Not a git repository (or any of the parent directories): .git
Installing junegunn/fzf
fatal: Not a git repository (or any of the parent directories): .git
Installing oh-my-fish/plugin-grc
fatal: Not a git repository (or any of the parent directories): .git
Installing oh-my-fish/theme-robbyrussell
fatal: Not a git repository (or any of the parent directories): .git
Installing tuvistavie/fish-completion-helpers
fatal: Not a git repository (or any of the parent directories): .git

I do not have any symlinks under ~/.config/fish.

This is my config.fish if it helps.
fundle plugin 'tuvistavie/oh-my-fish-core'
fundle plugin 'junegunn/fzf'
fundle plugin 'oh-my-fish/plugin-grc'
fundle plugin 'oh-my-fish/theme-robbyrussell'
fundle plugin 'tuvistavie/fish-completion-helpers'

fundle init

# Custom Path
set -x GOPATH $HOME/.go
set -x PATH /usr/local/opt/coreutils/libexec/gnubin ~/Code/scripts ~/.composer/vendor/bin $GOPATH/bin $PATH
set -x EDITOR (which vim)
set -x MANPATH /usr/local/opt/coreutils/libexec/gnuman /usr/local/share/man /usr/share/man

# Sets LS back to default with GRC plugin
set grcplugin_ls --indicator-style=classify --color -xh

# Aliases
alias hcomposer "hhvm /usr/local/bin/composer"

# fasd support
#function -e fish_preexec _run_fasd
#  fasd --proc (fasd --sanitize "$argv") > "/dev/null" 2>&1
#end

#function z
#  builtin cd (fasd -d -e 'printf %s' "$argv")
#end

#complete -c z --no-files -a (printf "%s " (fasd -ld))

# Command history searching with ctrl + r
function fish_user_key_bindings
#  bind \cr 'peco_select_history (commandline -b)'
  bind \cr 'fh'
end

# enhancd
set -gx ENHANCD_FILTER fzf
source $HOME/.enhancd/fish/enhancd.fish
alias z cd::cd

# iTerm2 integration
test -e {$HOME}/.iterm2_shell_integration.fish ; and source {$HOME}/.iterm2_shell_integration.fish

# Temporary
if not available hub
  echo "🐎  Please install 'hub' first!"
else
  eval (hub alias -s)
end

Thank you very much for the details.
I am going to take a look.

I tracked it down to the line in the install function that deals with checking out a specific sha. That's where the error occurs. I am also running fish from HEAD. I just reinstalled it right now to make sure I am at the very latest commit.

Thanks for the details.
I just tried building fish from master and using your config.fish but still could not reproduce,
I wonder where this error comes from.
Maybe it could be an issue with git version?
This is what I got in the box I used to try to reproduce this issue.
➜  fish-shell git --version
git version 1.9.1
hub version 2.2.3

I do not have an OSX machine to try on, so I will give it a try on OSX tomorrow if we do not found a solution until then.
Thank you for helping tracking this down!

I suspect the git work-tree or git-dir option is not working as expected, which would
explain the message, but this feature has been in git for quite a while, so maybe
an old version of hub could create the issue?

I attempted to use the two options and I could complete a status properly. It shouldn't be an issue with git itself (I'm on 2.7.1 iirc). I suspect for some reason that the command is not getting the proper full path for $git_dir. If you notice the error, it only shows .git as the directory, which is odd.

Ok, so I narrowed the issue down extremely. Hub is causing checkout to not work while using --git-dir. When specifying the checkout command manually using /usr/local/bin/git instead of just git, it works.

Sorry to spam the thread, but I think I found the issue https://github.com/github/hub/commit/40e0cd22fd141d9b98bb69626f338f4fd9d581af. I'm going to close this issue as it's definitely a bug in hub. Thanks so much!

Great you could track down the issue, and thank you for reporting!


[Task] Harvester v1.2.0-rc2 release

Harvester v1.2.0-rc2 Release Tracking:
view all the v1.2.0-rc2 required issues via the zenhub link.
⚠ P0:

https://github.com/harvester/harvester/issues/3747 - owner @guangbochen @bk201

fix PSP issue - blocked by https://github.com/harvester/harvester-installer/pull/492 @w13915984028
https://github.com/harvester/harvester-installer/pull/491, https://github.com/harvester/harvester/pull/3963 - PR review @guangbochen @Vicente-Cheng @futuretea
bump rancher to v2.7.5-head-rc @bk201

https://github.com/harvester/harvester/issues/2198 - owner @ibrokethecloud

https://github.com/harvester/harvester-installer/pull/457 - PR review @Vicente-Cheng @futuretea @bk201 @guangbochen

https://github.com/harvester/harvester/issues/2318 - owner @ibrokethecloud

https://github.com/harvester/seeder/pull/9,  - PR review @guangbochen @starbops  @futuretea @bk201
https://github.com/harvester/charts/pull/139 - PR review @guangbochen @bk201
https://github.com/harvester/harvester/pull/3738 - PR review @guangbochen @bk201

https://github.com/harvester/harvester/issues/2992 - owner @w13915984028

https://github.com/harvester/harvester/pull/3380 - PR review @ibrokethecloud  @starbops  @guangbochen @bk201

https://github.com/harvester/harvester/issues/2679 - owner @ibrokethecloud @WuJun2016

https://github.com/harvester/harvester/pull/3965 - PR review @guangbochen @bk201
https://github.com/harvester/harvester/pull/3981 - PR review @guangbochen @bk201
https://github.com/harvester/harvester/pull/3784  - PR review @futuretea @ibrokethecloud @bk201 @guangbochen

https://github.com/harvester/harvester/issues/2134 - owner @yaocw2020 target on RKE2-June release

https://github.com/harvester/cloud-provider-harvester/pull/32 - PR review @starbops @chrisho @futuretea @guangbochen
https://github.com/harvester/charts/pull/75 @guangbochen

https://github.com/harvester/harvester/issues/3842 - owner @masteryyh

ℹ  P1:

https://github.com/harvester/harvester/issues/3928 - owner @masteryyh
https://github.com/harvester/harvester/issues/3946 - owner @WebberHuang1118 @n313893254
https://github.com/harvester/harvester/issues/3944 - owner @chrisho
https://github.com/harvester/harvester/issues/3218, https://github.com/harvester/harvester/issues/3412 - owner @Vicente-Cheng

https://github.com/harvester/node-disk-manager/pull/55 - PR review @ibrokethecloud @chrisho @guangbochen @bk201

https://github.com/harvester/harvester/issues/3957 - owner @starbops
https://github.com/harvester/harvester/issues/2899 - owner @connorkuehl

need to remove the deprecated beta.kubernetes.io/os label on the harvester/harvester repo

https://github.com/harvester/harvester/issues/2670 - owner @bk201
https://github.com/harvester/security/issues/27 - owner @guangbochen
https://github.com/harvester/harvester/issues/2894 - owner @bk201  patch the timeout via the webhook
https://github.com/harvester/harvester/issues/1723 - owner @connorkuehl

https://github.com/harvester/harvester/pull/3976 - PR review @markhillgit @ibrokethecloud @guangbochen @bk201

https://github.com/harvester/harvester/issues/3702 - owner @ibrokethecloud

HEPs

https://github.com/harvester/harvester/pull/3814 - pending on review @guangbochen @futuretea
https://github.com/harvester/harvester/pull/3673 - pending on review & final polish @bk201 @guangbochen
https://github.com/harvester/harvester/pull/3814 - pending on review & final polish @chrisho @futuretea
https://github.com/harvester/harvester/pull/2378 - @ibrokethecloud address the review comment
https://github.com/harvester/harvester/pull/3666 - @futuretea to polish the HEP
https://github.com/harvester/harvester/pull/1913 - pending on review @bk201
https://github.com/harvester/harvester/pull/3230 - @ibrokethecloud  double check if we need this?

fix PSP issue - blocked by https://github.com/harvester/harvester-installer/pull/492

PR 492 is ready to go for some days, when Rancher is upgraded, the 492 should be merged in parallel, the new rancher-monitoring chart disable PSP by default, thus no error.

when Rancher is upgraded

@w13915984028 Do you mean Rancher or RKE2? I can't figure out why it's related to Rancher, thanks.

@bk201 I took them as a whole, the psp is disabled in upgraded version, thus monitoring needs to be upgraded to align with upstream Rancher/RKE2.

close as the https://github.com/harvester/harvester/releases/tag/v1.2.0-rc2 is out, we will track v1.2.0-rc3 task via https://github.com/harvester/harvester/issues/4105.


Magento 2032 app only coupons

Pull Request Template
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Type of change

[ ] Bug fix
[x] New feature
[ ] This change requires a documentation update

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I updated the CHANGELOG.md

there are a few more tests I need to implement to test unique scenarios of carts that already exists that were not added by us. This will be only replicable by:

creating a cart outside our system
adding an item outside our system
creating a sale-rule for cart_type=app (this is because we identify the cart when an item is added, that includes the coupon line item also)
creating tests that load this cart and check if it has sale rule active + checking if collect totals were ran

Happy days for you @Skistims, they removed the id's already

@Skistims I am done with tests, please check

u are good to go


Add graphical representation of how WebGL works under the hood

This was a request here: https://forum.babylonjs.com/t/some-terms-about-mesh-api/25950/4?u=carolhmj
We could use the diagram that @carolhmj made as a base and maybe add to it :)

Closing as it is not core to us to explain WebGL.


UI enhancement request: Role sorting

Hi, Thank you for creating such a useful tool.
As a small request on the UI,
I thought it would be easier to use if the roles were sorted and displayed.
(For reference, I have attached a screenshot of how the strings are not sorted in v1.5.0)

This has just been implemented as part of #213. It's not part of release 1.5, but it's already available in the master branch.


List limited to 50

I have this class which has worked for almost all messages that it has been used for but now I have been sent some large messages with more than 80 of the "Packs", only 50 are being picked up in my program I'm wondering if this is a limitation in the parser.
[EdiSegment, EdiSegmentGroup("HL"), EdiCondition("2", Path = "HL/0")]
public class Order
{
        [EdiValue("X(2)", Path = "REF/0", Description = "Code describing the reference identification")]
        public string ReferenceIdCode { get; set; }

        [EdiValue("X(50)", Path = "REF/1", Description = "Reference identification")]
        public string ReferenceId { get; set; }

        /// <summary>
        /// Gets or sets the po number.
        /// </summary>
        [EdiValue("X(20)", Path = "PRF/0", Description = "PO Number")]
        public string PurchaseOrderNumber { get; set; }

        /// <summary>
        /// Gets or sets the po reference.
        /// </summary>
        [EdiValue("X(20)", Path = "PRF/1", Description = "PO Reference")]
        public string PurchaseOrderReference { get; set; }

        /// <summary>
        /// Gets or sets the PRF DateTime.
        /// </summary>
        [EdiValue("9(8)", Path = "PRF/3", Format = "yyyyMMdd", Description = "DateTime")]
        public DateTime PRFDateTime { get; set; }

        public List<Pack> Packs { get; set; }
    }

Hi there is no built in limitation whatsoever. So either this is a bug or something is different in the transmission file after the 50th pack.
Please create a pull request with test models and sample transmission.

closed because of inactivity


Color Picker eyedropper tool selects Node instead of picking color

Tested versions
4.3.beta2
System information
Windows 10
Issue description
https://github.com/godotengine/godot/assets/157412753/c51c5838-9fb5-40e0-8f18-e904d461cc80
In the video, I try to use the eyedropper tool of the ColorPicker, but whenever I select the red color (which is a ColorRect), instead of properly changing the color, the red ColorRect is selected instead. This behavior seems much more consistent when you are on single window mode, but it also occurs when you are not on single window mode as well.
Steps to reproduce

Download the sample project
Change editor settings to enable single window mode
Try to change the modulate property of the white ColorRect by using the color picker eyedropper onto the red area

Minimal reproduction project (MRP)
Test.zip

Bisecting points to #74962 as the culprit:

I also tried to reproduce the issue without --single-window but wasn't able to replicate.

Still reproducible in 4.3-rc1

CC @KoBeWi

It's worse than that. When another node gets selected, the color change is not stored in undo history.


Add tests for ConfigPaths

Fixes #510.
Reviews from anyone are welcome! This is a lot of boring code, and I'm not sure what I expect from a reviewer, but I guess it won't hurt either.

Coverage increased (+1.2%) to 41.223% when pulling dcd0a7362bd3eaa721d0112869bfbab4afc16787 on feature/configpaths-tests into 89b2381a39f6458cfdb04102dac24f117f20a559 on master.


Improve request debugDescription to include HTTP method

Using Alamofire 4.2.0 (in Xcode 8.2.1 on macOS 10.12.2) like so:
Alamofire.request(fullPath, method: httpMethod(for: action), parameters: parameters, encoding: JSONEncoding.default, headers: headers).responseJSON { dataResponse in
    // some code
    print(dataResponse.debugDescription)
}

I'm getting the following output:
[Request]: https://my.webservice.net/api/v1/people
[Response]: <NSHTTPURLResponse: 0x618000033420> { URL: https://my.webservice.net/api/v1/people } { status code: 404, headers {
    Connection = "keep-alive";
    "Content-Encoding" = gzip;
    "Content-Type" = "text/html; charset=utf-8";
    Date = "Thu, 22 Dec 2016 09:11:54 GMT";
    Server = nginx;
    "Transfer-Encoding" = Identity;
    "X-Request-Id" = "32f6de11-52b6-4357-878e-1a52467b1d5a";
    "X-Runtime" = "0.306651";
} }
[Data]: 119035 bytes
[Result]: FAILURE: responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0." UserInfo={NSDebugDescription=Invalid value around character 0.}))
[Timeline]: Timeline: { "Request Start Time": 504090714.667, "Initial Response Time": 504090714.998, "Request Completed Time": 504090714.999, "Serialization Completed Time": 504090714.999, "Latency": 0.331 secs, "Request Duration": 0.332 secs, "Serialization Duration": 0.000 secs, "Total Duration": 0.332 secs }

As you can see there's plenty of information about the response, result, timeline – the data is stripped, which is IMHO a good idea. But what I'm really missing here is the info about the HTTP method that was used  to send a request to the requested URL, which is the only information about the request. As many APIs have several endpoints for the same URL (differing in the HTTP method) the current information will not be helpful to debug issues with log files.
For example we could change the current output to something like this (analogous to the Timeline):
[Request]: Request { url: "https://my.webservice.net/api/v1/people", method: "PATCH" }
[Response]: [...]

We could of course think about adding parameters to the debug info, too. But that's out of scope of this issue, I'm explicitly asking for the HTTP method here.

A good idea. I've opened #1880 to take care of this.

Thanks for the PR! 👍


Make a slash governance proposal

Summary
There should be a governance proposal type to slash a validator. It would specify slash_percentage and validator address.
Problem Definition
This has a number of use cases. It allows blockchain communities to codify social standards that validators have to adhere to, and in the event they are 'caught' by the community, it allows them to slash them on-chain. (Without needing a hard fork)
A social slashing standard that has interest from the Osmosis community is essentially a "No Sybilling" condition, where they can all agree that if governance is presented with sufficiently persuasive evidence of a validator sybilling in order to game airdrops, newer staking reward designs, etc. they would be slashed for a certain factor. (With some carveout for cotenancy situations etc.). This is in part motivated by some validator-sybil-gameable decentralization ideas, cref https://commonwealth.im/osmosis/discussion/2036-proposal-per-validator-epoch-bonus-for-better-decentralization
I'm generally of the view that this is important for many chains, if validators commit malicious activities not yet thought about in advance, or on other chains. I propose we add this as a governance proposal type to the slashing module. Chains can simply choose not to add this governance proposal type to their governance router if they don't want this feature.
Proposal
Make a new governance proposal type in slashing with the following proto:
message SlashValidatorProposal {
  option (gogoproto.equal) = true;
  option (gogoproto.goproto_getters) = false;
  option (gogoproto.goproto_stringer) = false;

  string title = 1;
  string description = 2;
  string  validator_address = 3 [(cosmos_proto.scalar) = "cosmos.AddressString"];
  string slash_factor_percent = 4 [
    (cosmos_proto.scalar)  = "cosmos.Dec",
    (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec",
    (gogoproto.nullable)   = false
  ];
}

Heres an example of how you do custom governance proposal types if folks are interested:

proto: https://github.com/osmosis-labs/osmosis/blob/main/proto/osmosis/pool-incentives/v1beta1/gov.proto
gov.go: https://github.com/osmosis-labs/osmosis/blob/main/x/pool-incentives/types/gov.go
keeper: https://github.com/osmosis-labs/osmosis/blob/main/x/pool-incentives/keeper/gov.go
app.go: https://github.com/osmosis-labs/osmosis/blob/main/app/keepers.go#L263

Happy to help guide anyone interested in implementing this
To do this, you'd implement:

the proto file here: https://github.com/cosmos/cosmos-sdk/tree/master/proto/cosmos/slashing/v1beta1
gov.go here: https://github.com/cosmos/cosmos-sdk/tree/master/x/slashing/keeper

basically just calling https://github.com/cosmos/cosmos-sdk/blob/2f335a2b8cc4fcfa337c104823fab9f6ecb387da/x/slashing/keeper/keeper.go#L68 with distributionheight = ctx.BlockHeight()

Another gov.go in the types folder

Reference SDK issue
There is a reference issue in the SDK here https://github.com/cosmos/cosmos-sdk/issues/10917 . I expect that I'm only going to track this one for the foreseeable future, since that one is blocked on a multi-month gov refactor.

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

From @hleb-albau
I created a small draft, now lets discuss next:

What validator state should be considered for slashing(now, proposal creating or other)? How it should influence delegations and re-delegations before and after slashing point? Should we allow safe re-delegate tokens during vote or during deposit or not?
What if chain has unbounding period is less than vote period? (maybe just leave it as is, just make sanity check before call actual slash). We loose info about delegations and re-delegations after unbound succeed.
Can validator and its delegators vote on prop?
It seems that gov module has very simple route handler that not allow to register more advanced checks on proposal creation. For example, it is not possible to validate on proposal creation that validator exist and in active set. Maybe we need to advance route architecture?(or it should be done in ADR in other issue?)

Re the questions:

I think the only way to do it efficiently in the SDK atm is Now. That will cover unbondings / redelegations though.
Hrm, I think thats an ok edge case. Would be good to potentially emit a warning if theres a sensible way of doing so.
Yup! If your being slashed, you should be allowed to say that you don't agree
Yeah, this is really unfortunate that none of the relevant validation methods get the context passed in. I think for a v1 of this feature, we'd have to be ok with the edge case of being able to slash inactives.


this is a new example to export to Microsoft Power BI

I have created this example against exporting to Microsoft Power BI via Workflow.
Could you review this?

@kajuki1113 LGTM! Thank you for your contribution!


Command Terminal Window is unavailable

I am currently unable to bring up the terminal window via keyboard shortcut and have been unable to do so for some time.  I don't remember when it stopped working (it was possibly around the 16.3 update), but it still does not work as of 16.3.5.  The message on the bottom of the Visual Studio window states "The key combination (Ctrl+, Ctrl+) is bound to the command (Terminal Window) which is not currently available."  When I add the View.TerminalWindow command to a menu item under View -> Other Windows, the Terminal Window option appears disabled.  I am able to access it by using Visual Studio search, or by clicking on the tab if it is currently open.

Same problem here. Terminal window appears gray and with a solid cursor, but typing does nothing. Also Ctrl+\, Ctrl+\ does not work.

When I went to Options | Keyboard and searched for "terminal", I could see that there were two commands called View.TerminalWindow. One of them had the Ctrl+\, Ctrl+\ shortcut assigned, and the other did not.
I removed the shortcut from the one that had it and added it to the other one, and now everything works for me as expected.

This was due to the 16.3 version using Ctrl+\, Ctrl+\ as a placeholder shortcut for the built-in terminal. This has been rectified in 16.4 since the built-in terminal now uses Ctrl+`

I tried uninstalling & reinstalling, but still get the gray disabled Terminal window that can't be typed in.

@alandraper your issue is separate since the command is available and I believe is tracked by #81


Textfield Keyboard="NONE" doesn't accept input on Android

When using Keyboard="NONE" on a TextField in Android no input and be entered (with a hardware keyboard). Input works fine with the keyboard without the parameter.
import flet as ft
def main(page):
textfield = ft.TextField(autofocus=True, keyboard_type="NONE")

page.add(textfield)

ft.app(target=main)

Oh, there is Flutter issue discussing that.


"Extended Summary" is not a section header in numpydoc.

📚 Documentation
There seem to be a few use case of the "Extended Summary" header in napari:
$ rg 'Extended Summ'| wc -l
      10

This is likely a miss-interpretation of the numpydoc format.
what is called the "Extended summary" is the multiline section that directly follows the one-line summary.
"""
This is the summary

This is the "Extended Summary which is directly after the
summary but can be more than one line it does not have a section delimitation
"""

Using the header "Extended Summary" does not fail but numpydoc get confused on so does sphinx that start to merge the values of "Extended Summary" with parameters.

From a quick look, in a few cases what is meant is likely the "Attributes" section.

Ok, thanks for flagging - we can gradually work to remove them.

From a quick look, in a few cases what is meant is likely the "Attributes" section.

I think most of these are "private" attributes and methods, and we took guidance from https://numpydoc.readthedocs.io/en/latest/format.html#class-docstring
If it is necessary to explain a private method (use with care!),
it can be referred to in the Extended Summary or the Notes section.
Do not list private methods in the methods section.

It's not quite clear to me how to proceed. Maybe we just shouldn't include doc strings for these private methods/ attributes? What do you recommend @Carreau?

Ok, thanks for flagging - we can gradually work to remove them.

From a quick look, in a few cases what is meant is likely the "Attributes" section.

I think most of these are "private" attributes and methods, and we took guidance from https://numpydoc.readthedocs.io/en/latest/format.html#class-docstring
If it is necessary to explain a private method (use with care!),
it can be referred to in the Extended Summary or the Notes section.
Do not list private methods in the methods section.

It's not quite clear to me how to proceed. Maybe we just shouldn't include doc strings for these private methods/ attributes? What do you recommend @Carreau?

I have no particular preferences; I'm used to the "responsible user" that know that if it start with a _ it should be used with care. It can be a case-by-case basis, but I'm tempted to think that Notes is likely to be more toward the end and will not be prominently visible for users.
Nothing prevent us also from suggesting changes to numpydoc; for example there is no guidance on how to document *args and **kwargs... should the name in the Parameters section have leading *, ** or not ? we can also add a note to numpydoc format that "Extended Summary" is not a valid section name...

I have no particular preferences; I'm used to the "responsible user" that know that if it start with a _ it should be used with care. It can be a case-by-case basis, but I'm tempted to think that Notes is likely to be more toward the end and will not be prominently visible for users.
Nothing prevent us also from suggesting changes to numpydoc; for example there is no guidance on how to document *args and **kwargs... should the name in the Parameters section have leading *, ** or not ? we can also add a note to numpydoc format that "Extended Summary" is not a valid section name...

If there were to be a change to numpydoc one option would be a new section like Private Attributes, where people could then include them if they wanted too when writing code and doc renderers could then decide to show them or not depending on some setting.
Alternatively, maybe they can all go inside Attributes, but just be listed at the bottom of that section and a doc renderer could then decide to show them or not depending on some setting, I'm not sure if that's possible now or not, but that might be the cleanest.
@jni / @tlambert03 do you have any preferences here? We could also just drop them too, I suspect many have not been kept up to date and aren't that important.

If there were to be a change to numpydoc one option would be a new section like Private Attributes, where people could then include them if they wanted too when writing code and doc renderers could then decide to show them or not depending on some setting.
Alternatively, maybe they can all go inside Attributes, but just be listed at the bottom of that section and a doc renderer could then decide to show them or not depending on some setting, I'm not sure if that's possible now or not, but that might be the cleanest.
@jni / @tlambert03 do you have any preferences here? We could also just drop them too, I suspect many have not been kept up to date and aren't that important.

@jni / @tlambert03 do you have any preferences here? We could also just drop them too, I suspect many have not been kept up to date and aren't that important.

I'd just drop them, and probably put a # comment just above the private method wherever it is created.  I don't think they need to be in the class docstring.

@jni / @tlambert03 do you have any preferences here? We could also just drop them too, I suspect many have not been kept up to date and aren't that important.

I'd just drop them, and probably put a # comment just above the private method wherever it is created.  I don't think they need to be in the class docstring.

I'd just drop them, and probably put a # comment just above the private method wherever it is created. I don't think they need to be in the class docstring.

Works for me!

I'd just drop them, and probably put a # comment just above the private method wherever it is created. I don't think they need to be in the class docstring.

Works for me!


Refactor of plugin

@eviltrout I made all the suggested changes in the latest commit. Some of these things I didn't know were possible (i.e. link-to) and others were oversights on my part. Thanks for taking a look!

@eviltrout I added some logic now for loading more topics.
It feels hacky since we're filtering after the latest_results query fires. Basically it will keep trying to load topics even if there are no filtered results because it can't see ahead. Example: If there are only 15 results tagged with "test-tag" that are in the selected KE categories/tags, it will try to query ALL latest topics to find those, instead of just the items that match the filters, and will keep doing so until the end of the list is hit (obviously not ideal).
I have a couple possible solutions:

Append a custom filter into the TopicQuery library (similar to this). I'm not sure if this is the most stable approach, but it would let us use the protected functions in TopicQuery to generate our own list a bit more carefully. I think this is probably the best approach, but I don't know if it's acceptable.
Create our own custom topic query exclusively for the knowledge explorer. A lot of work but it would give us what we want.
Up the topics load to something higher, like 200. This will reduce the number of calls, but it's not a real solution and still breaks when there are a lot of topics in the KB.

Thoughts on approach here?
The Ember side seems to work ok, but I'm not really sure if there's a better way to do it. My understanding of Ember here is limited.
I also realize I'm counting tags only off the segmented lists, so those are not accurate either. That'll need some revising, but will have to come after figuring out the topic query bit.

and will keep doing so until the end of the list is hit (obviously not ideal).

Can you point me to this part of the code?
It's a problem if we are repeatedly making new queries. If we are only querying once it's probably not a big deal.

This line returns the first 30 results of latest (or whatever page is passed in via params)
https://github.com/discourse/discourse-knowledge-explorer/blob/163f08357dc3451f5fd93776f8a8c79e43e5b31d/lib/knowledge_explorer/query.rb#L21
The rest of the query filters those 30 results down to the topics that match our criteria.
Here, we determine if we should load more or not by adding a load more link with an incremented page number.
https://github.com/discourse/discourse-knowledge-explorer/blob/163f08357dc3451f5fd93776f8a8c79e43e5b31d/lib/knowledge_explorer/query.rb#L58-L60
The problem is not necessarily in the logic of the code here, but the structure of how we're pulling it.
Say we have 200 topics total we can access via the latest_results query, and only 15 of those match the selected filters. Assume those 15 topics are in the first two queries. In this instance, the loadMore function will fire 5 more times without the API returning any data (while still querying for the next paginated chunks of the latest_results query) because we don't have a way to know we're at the end of the filtered list, only the latest list.
For a site with 15,000+ topics like dev, or 130,000+ like meta, that's probably not ideal.

@eviltrout I've made a number of changes to this now that I've gotten the load more functionality sorted out. Can you or someone else give it another once-over to see if I'm making any enormous errors?


Backport support for PEP-623 to 0.29.x

I hope this PR is accepted and merged before next patch release 0.29.33. Without these fixes, I cannot start testing mpi4py against Py312-dev on GitHub Actions [logs].

LGTM. Thanks.


Exam 4 Question 1

A developer needs to set up an SSL security certificate for a client's eCommerce website in order to use the HTTPS protocol. Which of the following AWS services can be used to deploy the required SSL server certificates? (Choose TWO)
A. Amazon Route 53.
B. AWS ACM.
C. AWS Directory Service.
D. AWS Identity & Access Management.
E. AWS Data Pipeline.
Should be A B

Thanks for the correction.


How to make labels from human?

@MountGuy
I read your paper and code.
I want to get labels from human which is not synthetic labels.
But some codes are not working well.
e.g. human_label_preprocess_*.py

Thank you for your interest in our paper.
I think the source code is not perfectly refactored during the camera-ready phase.
We pushed the fixed version that contains index sampling step and label merging step.
Please try it and report again if it doesn't work.

@MountGuy Thank you for your reply.
By the way,  i have a single question about your project.
In your paper said that MDP components are <S, A, T, R, p0, H>, where H is a time horizon. H means that a fixed horizon?.
Or just slicing trajectories which were connected with the others to make segments ?
Here is the fixed horizon reference

@MountGuy Thank you for your reply. By the way, i have a single question about your project. In your paper said that MDP components are <S, A, T, R, p0, H>, where H is a time horizon. H means that a fixed horizon?. Or just slicing trajectories which were connected with the others to make segments ?

Here is the fixed horizon reference

Recall the robots of mujoco can go forward infinitely, so we mostly use halfcheetah, hopper, and walker a timeout termination. In our paper, a component H indicates this parameter and so the rollout process always ends after H steps.

@MountGuy Do you mean to only consider 'Truncation'?. i.e. terminate_when_unhealthy = False in refer

terminate_when_unhealthy option is True on our settings. However, even if we use that option, trained policy does well so it works infinitely without a timeout option. To summarize, our MDP is terminated by the either time horizon and unhealthy state.

Thank you!


Improved Chinese localization

'L(s)' and 'l(s)' get the same result,but standard months('L') should use the Chinese number. GB/T 7408-1994

@suupic @zenozeng what do you think?

@Vic020 you need to modify only files under src/. Check https://github.com/moment/moment/blob/develop/CONTRIBUTING.md

@Vic020 Sorry, I did not find any section that indicates we should use MMMMD in LLL in GB/T 7408-2005/ISO 8601:2000. Can you pointer out the detail section? Thanks.


Fixing native image generation

Fixing native image generation

Updating maven and gradle wrapper
Upgrading project to Spring Boot 3.0.2 and dependencies/plugins
Adding hint for resource bundles -> message.properties (not solved just by upgrading)
Adding native image plugin because of PARSE ERROR and NonJtaPlattform Exception (known issue which is produced by Hikari)

Hello @dsyer and @snicoll
I think, I have fixed known issues for native images in the Petclinic. Please tell me what is missing for getting my changes approved and merged?
TIA,
Patrick

Rebased in 0962ed7


Non-Send boxed()

This PR adds non-Send versions of BoxFuture and boxed(), prompted by the Send requirement in #1494 (and thus the latest release) breaking some of our code. This allows avoiding unnecessary Send bounds in generic-heavy code.

Dealing with the same issue here.
@cramertj Is it possible to simply revert the boxed changes in #1494? The new alpha 15 release today broke several of my projects, requiring hefty propagation of Send throughout many modules. Specifically, is there a reason why this change was necessary?

The CI failure is related to #1555 and https://github.com/rust-lang/rust/pull/60289, I'm looking into a fix for it.


Failed adding agent with default config

Environment

OS / version: Fedora
Processor architecture: X64
TPM Manufacturer: Proxmox virtual TPM
Keylime version: latest

Description
I am researching keylime and my first step is to get functional configuration.
I managed to overcome instalation problems and have rust agent and keylime running. But I have problem adding agent to verifier.
Expected behavior vs. actual behavior
After fresh install of keylime (with installer) and rust-keylime run everything in order. It generates certificates and no errors are present.
After running keylime_tenant -c add -t <IP_ADDRESS> -v <IP_ADDRESS> -u 309fd0a3-d552-48a0-a744-b513f27c7883
the output is:
root@localhost:~# keylime_tenant -c add -t <IP_ADDRESS> -v <IP_ADDRESS> -u 309fd0a3-d552-48a0-a744-b513f27c7883
INFO:keylime.config:Reading configuration from ['/etc/keylime/logging.conf']
2024-10-09 17:37:07.930 - keylime.config - INFO - Reading configuration from ['/etc/keylime/tenant.conf']
2024-10-09 17:37:07.930 - keylime.tenant - INFO - Setting up client TLS...
2024-10-09 17:37:07.930 - keylime.tenant - INFO - Using default client_cert option for tenant
2024-10-09 17:37:07.930 - keylime.tenant - INFO - Using default client_key option for tenant
2024-10-09 17:37:07.930 - keylime.tenant - INFO - No value provided in client_key_password option for tenant, assuming the key is unencrypted
2024-10-09 17:37:07.940 - keylime.tenant - INFO - TLS is enabled.
2024-10-09 17:37:08.040 - keylime.cli.policies - INFO - TPM PCR Mask from policy is 0x0
{'code': 200, 'status': 'Success', 'results': {'quote': 'r/1RDR4AYACIAC+GGefanRCWtIdIgB3isCIaYVMJsN+fixhqFJpCIp6O+ABRkamRPTlhvREFDUTN3Tkl3M2dvTgAAAAAASs5mAAAABAAAAAABIBkQIwAWNjYAAAABAAsDAAABACBT/RhG3WyoSg5GW/jamPF+F7xccYapvmP16S33HKnmfA==:ABQACwEAFiNOKuF4N3XvkO6rP3utS4PKz/3WoJW/njGqlWNVHqlvdXdmk8ETvY57o/Whk4WcsR/39jUba6nHA4v4h2muzE++BxOGhokMi1dwwh1fj+DZvejlUQVx7y8t6Y3lMvu11YoHLr04ICCnprWRCXTfR6Io2J0eLgrDSCMMNwgeMt8xYxK75xGSMeawYTHfvHUhxN3ephl7iI1p8QSVySJfqPUsLXIs4Kuu4agNfy92ewcKCQ5fd/FnkidZwiTDp4q8JksHUej67PdxNRrAi2RLmmw9jKoKhVLk/KEqzKjvC8TPiqqSBm9kD2WA7OpfKNfoXQ41K0w9CZ30azJQlMwCoQ==:AQAAAAsAAwAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAgAPcbYq9lRNNJVQPD36xGI7P5xgFRykofUt9L1kT/TDApAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=', 'hash_alg': 'sha256', 'enc_alg': 'rsa', 'sign_alg': 'rsassa', 'pubkey': '-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxGBP+EfnBDXSLYmOd4u/\n7mUTCuAo1cxJqUN1DRsnu4jNpdQQqWByuL54/5MUDMj8DNkrbAOQGuDg0UWNA9OW\n45Mm5QCrWzygftGqhrIUxOp+eeTzfdulZ9IGrlcK1SbyR8B+Zh1ppqUYOHYwRUhV\nlCNGxyafkWNOcsgSeTY+4X5ki2eWFy6vouvMyhpFdsp1mKeCGP7cPWP7FHH/DyPu\nfeGiX7GppKiwO5eG0z8145vRGF+0baKRxlaASItPeg5tn3/N53zpqBVHGQzdZ35T\nhMK7cudU6BbTQNKCs+Mjvxq1zR+NOWSx9N/qzfDk7ElcY7APbnxEFTdUDc4MPAEg\nswIDAQAB\n-----END PUBLIC KEY-----\n'}}
2024-10-09 17:37:08.322 - keylime.cert_utils - WARNING - Failed to parse PEM data with python-cryptography (might not be strictly conforming to DER ASN.1 encoding): error parsing asn1 value: ParseError { kind: InvalidSetOrdering, location: ["Certificate::tbs_cert", "TbsCertificate::issuer", 0, 2] }
2024-10-09 17:37:08.324 - keylime.cert_utils - WARNING - Failed to parse PEM data with python-cryptography (might not be strictly conforming to DER ASN.1 encoding): error parsing asn1 value: ParseError { kind: InvalidSetOrdering, location: ["Certificate::tbs_cert", "TbsCertificate::issuer", 0, 2] }
2024-10-09 17:37:08.326 - keylime.cert_utils - WARNING - Failed to parse PEM data with python-cryptography (might not be strictly conforming to DER ASN.1 encoding): error parsing asn1 value: ParseError { kind: InvalidSetOrdering, location: ["Certificate::tbs_cert", "TbsCertificate::issuer", 0, 2] }
2024-10-09 17:37:08.328 - keylime.cert_utils - WARNING - Failed to parse PEM data with python-cryptography (might not be strictly conforming to DER ASN.1 encoding): error parsing asn1 value: ParseError { kind: InvalidSetOrdering, location: ["Certificate::tbs_cert", "TbsCertificate::issuer", 0, 2] }
2024-10-09 17:37:08.330 - keylime.cert_utils - WARNING - Failed to parse PEM data with python-cryptography (might not be strictly conforming to DER ASN.1 encoding): error parsing asn1 value: ParseError { kind: InvalidSetOrdering, location: ["Certificate::tbs_cert", "TbsCertificate::issuer", 0, 2] }
2024-10-09 17:37:08.332 - keylime.cert_utils - WARNING - Failed to parse PEM data with python-cryptography (might not be strictly conforming to DER ASN.1 encoding): error parsing asn1 value: ParseError { kind: InvalidSetOrdering, location: ["Certificate::tbs_cert", "TbsCertificate::issuer", 0, 2] }
2024-10-09 17:37:08.334 - keylime.cert_utils - WARNING - Failed to parse PEM data with python-cryptography (might not be strictly conforming to DER ASN.1 encoding): error parsing asn1 value: ParseError { kind: InvalidSetOrdering, location: ["Certificate::tbs_cert", "TbsCertificate::issuer", 0, 2] }
2024-10-09 17:37:08.336 - keylime.cert_utils - ERROR - No Root CA matched EK Certificate
2024-10-09 17:37:08.336 - keylime.tenant - WARNING - Invalid EK certificate for Agent 309fd0a3-d552-48a0-a744-b513f27c7883 (<IP_ADDRESS>:9002)
2024-10-09 17:37:08.336 - keylime.tenant - ERROR - TPM Quote from Agent 309fd0a3-d552-48a0-a744-b513f27c7883 (<IP_ADDRESS>:9002) is invalid for nonce: djdONXoDACQ3wNIw3goN

With no change in verifier.
I tried with different UUID in agent too.

Environment
* OS / version: Fedora

* Processor architecture: X64

* TPM Manufacturer: Proxmox virtual TPM

* Keylime version: latest

Description
I am researching keylime and my first step is to get functional configuration. I managed to overcome instalation problems and have rust agent and keylime running. But I have problem adding agent to verifier.
Expected behavior vs. actual behavior
After fresh install of keylime (with installer) and rust-keylime run everything in order. It generates certificates and no errors are present. After running keylime_tenant -c add -t <IP_ADDRESS> -v <IP_ADDRESS> -u 309fd0a3-d552-48a0-a744-b513f27c7883 the output is:
root@localhost:~# keylime_tenant -c add -t <IP_ADDRESS> -v <IP_ADDRESS> -u 309fd0a3-d552-48a0-a744-b513f27c7883
INFO:keylime.config:Reading configuration from ['/etc/keylime/logging.conf']
2024-10-09 17:37:07.930 - keylime.config - INFO - Reading configuration from ['/etc/keylime/tenant.conf']
2024-10-09 17:37:07.930 - keylime.tenant - INFO - Setting up client TLS...
2024-10-09 17:37:07.930 - keylime.tenant - INFO - Using default client_cert option for tenant
2024-10-09 17:37:07.930 - keylime.tenant - INFO - Using default client_key option for tenant
2024-10-09 17:37:07.930 - keylime.tenant - INFO - No value provided in client_key_password option for tenant, assuming the key is unencrypted
2024-10-09 17:37:07.940 - keylime.tenant - INFO - TLS is enabled.
2024-10-09 17:37:08.040 - keylime.cli.policies - INFO - TPM PCR Mask from policy is 0x0
{'code': 200, 'status': 'Success', 'results': {'quote': 'r/1RDR4AYACIAC+GGefanRCWtIdIgB3isCIaYVMJsN+fixhqFJpCIp6O+ABRkamRPTlhvREFDUTN3Tkl3M2dvTgAAAAAASs5mAAAABAAAAAABIBkQIwAWNjYAAAABAAsDAAABACBT/RhG3WyoSg5GW/jamPF+F7xccYapvmP16S33HKnmfA==:ABQACwEAFiNOKuF4N3XvkO6rP3utS4PKz/3WoJW/njGqlWNVHqlvdXdmk8ETvY57o/Whk4WcsR/39jUba6nHA4v4h2muzE++BxOGhokMi1dwwh1fj+DZvejlUQVx7y8t6Y3lMvu11YoHLr04ICCnprWRCXTfR6Io2J0eLgrDSCMMNwgeMt8xYxK75xGSMeawYTHfvHUhxN3ephl7iI1p8QSVySJfqPUsLXIs4Kuu4agNfy92ewcKCQ5fd/FnkidZwiTDp4q8JksHUej67PdxNRrAi2RLmmw9jKoKhVLk/KEqzKjvC8TPiqqSBm9kD2WA7OpfKNfoXQ41K0w9CZ30azJQlMwCoQ==:AQAAAAsAAwAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAgAPcbYq9lRNNJVQPD36xGI7P5xgFRykofUt9L1kT/TDApAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=', 'hash_alg': 'sha256', 'enc_alg': 'rsa', 'sign_alg': 'rsassa', 'pubkey': '-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxGBP+EfnBDXSLYmOd4u/\n7mUTCuAo1cxJqUN1DRsnu4jNpdQQqWByuL54/5MUDMj8DNkrbAOQGuDg0UWNA9OW\n45Mm5QCrWzygftGqhrIUxOp+eeTzfdulZ9IGrlcK1SbyR8B+Zh1ppqUYOHYwRUhV\nlCNGxyafkWNOcsgSeTY+4X5ki2eWFy6vouvMyhpFdsp1mKeCGP7cPWP7FHH/DyPu\nfeGiX7GppKiwO5eG0z8145vRGF+0baKRxlaASItPeg5tn3/N53zpqBVHGQzdZ35T\nhMK7cudU6BbTQNKCs+Mjvxq1zR+NOWSx9N/qzfDk7ElcY7APbnxEFTdUDc4MPAEg\nswIDAQAB\n-----END PUBLIC KEY-----\n'}}
2024-10-09 17:37:08.322 - keylime.cert_utils - WARNING - Failed to parse PEM data with python-cryptography (might not be strictly conforming to DER ASN.1 encoding): error parsing asn1 value: ParseError { kind: InvalidSetOrdering, location: ["Certificate::tbs_cert", "TbsCertificate::issuer", 0, 2] }
2024-10-09 17:37:08.324 - keylime.cert_utils - WARNING - Failed to parse PEM data with python-cryptography (might not be strictly conforming to DER ASN.1 encoding): error parsing asn1 value: ParseError { kind: InvalidSetOrdering, location: ["Certificate::tbs_cert", "TbsCertificate::issuer", 0, 2] }
2024-10-09 17:37:08.326 - keylime.cert_utils - WARNING - Failed to parse PEM data with python-cryptography (might not be strictly conforming to DER ASN.1 encoding): error parsing asn1 value: ParseError { kind: InvalidSetOrdering, location: ["Certificate::tbs_cert", "TbsCertificate::issuer", 0, 2] }
2024-10-09 17:37:08.328 - keylime.cert_utils - WARNING - Failed to parse PEM data with python-cryptography (might not be strictly conforming to DER ASN.1 encoding): error parsing asn1 value: ParseError { kind: InvalidSetOrdering, location: ["Certificate::tbs_cert", "TbsCertificate::issuer", 0, 2] }
2024-10-09 17:37:08.330 - keylime.cert_utils - WARNING - Failed to parse PEM data with python-cryptography (might not be strictly conforming to DER ASN.1 encoding): error parsing asn1 value: ParseError { kind: InvalidSetOrdering, location: ["Certificate::tbs_cert", "TbsCertificate::issuer", 0, 2] }
2024-10-09 17:37:08.332 - keylime.cert_utils - WARNING - Failed to parse PEM data with python-cryptography (might not be strictly conforming to DER ASN.1 encoding): error parsing asn1 value: ParseError { kind: InvalidSetOrdering, location: ["Certificate::tbs_cert", "TbsCertificate::issuer", 0, 2] }
2024-10-09 17:37:08.334 - keylime.cert_utils - WARNING - Failed to parse PEM data with python-cryptography (might not be strictly conforming to DER ASN.1 encoding): error parsing asn1 value: ParseError { kind: InvalidSetOrdering, location: ["Certificate::tbs_cert", "TbsCertificate::issuer", 0, 2] }
2024-10-09 17:37:08.336 - keylime.cert_utils - ERROR - No Root CA matched EK Certificate
2024-10-09 17:37:08.336 - keylime.tenant - WARNING - Invalid EK certificate for Agent 309fd0a3-d552-48a0-a744-b513f27c7883 (<IP_ADDRESS>:9002)
2024-10-09 17:37:08.336 - keylime.tenant - ERROR - TPM Quote from Agent 309fd0a3-d552-48a0-a744-b513f27c7883 (<IP_ADDRESS>:9002) is invalid for nonce: djdONXoDACQ3wNIw3goN

With no change in verifier.
I tried with different UUID in agent too.

Looking at the log you attached, it seems you did not add the EK certificate root CA to the trust store (by default it should be placed at /var/lib/keylime/tpm_cert_store) on the machine that is running the keylime_tenant.
We have some CA certificates from some TPM manufacturers that we use by default. If you are using a hardware TPM, it means we do not have the CA certificate from your TPM vendor. If you are using a vTPM, then you need to add the CA certificate manually to the trust store.
If you just want to test if your setup is working regardless of the validity of the EK certificate (BEWARE, this is INSECURE), you can disable EK certificate verification on the tenant by setting the require_ek_cert to False in the /etc/keylime/tenant.conf or alternatively simply overriding it by setting the env var KEYLIME_TENANT_REQUIRE_EK_CERT=False.
Please, prefer asking this kind of question on our #keylime slack channel on CNCF instance: https://slack.cncf.io/


broken links to https://github.com/IdeaBlade/angular2-quickstart

Ward, did you remove this repo? Could you update the links please?

Sorry about that.  I fixed it on #978

closed by #978


Capture dropzones for correct enter/leave state

This is one attempt at implementing isOverCurrent by @itrelease extracted from #85.
This still doesn't solve enter / over / leave. We want to be able to execute side effects on enterCurrent, overCurrent and leaveCurrent. (By the way I'm open to better name suggestions.)
If there are better API ideas, again, I'm all ears.

For some potentially better API ideas: https://github.com/gaearon/react-dnd/pull/98#issuecomment-76321732

Superseded by dnd-core and context.isOver(handle, shallow) API.
We're figuring out how to transition to dnd-core in #111.


Update DownloadLatestCUs.ps1

added Azure Stack HCI 23H2 CU and Servicing Stack  in a new PR we should remove SSU as they are now part of the CU for all supported releases of Windows Server and Client AFTER 1607
ref: https://www.catalog.update.microsoft.com/Search.aspx?q=servicing stack

related #577

for some reason adding the string it does see the CU but does not download it

A does not work or ID does not work.


[Bug]: Import and Export option Icons looks similar in Application home page and Workspace settings

Is there an existing issue for this?

[X] I have searched the existing issues

Description
When we click on application settings option in Home page, icon of the Export and in Workspace level settings Import Icon looks similar, I think Import icon should have the arrow mark facing upwards.
https://user-images.githubusercontent.com/104895602/231257039-adf48319-de4b-4232-ac82-6f8dcabf4248.mp4

Steps To Reproduce

Go to Application level settings and observe the Export option icon
Click on the Workspace level settings and observe the Import option icon

Public Sample App
No response
Environment
Production
Issue video log
No response
Version
Appsmith v1.9.15-SNAPSHOT

@Sripriya93
I have raised a PR. Please review.

The icons present are the best 2 icons for import and export. Closeing this.

@piyushkrmaurya please send me the PR will check it, apologies for not checking it earlier. Reopening the issue.


support case sensative paths

Currently the path normalizer converts everything into lower case.
Add support for customzing the path normalizer so people can provide a normalizer that doesnt change anything to support case sensative paths.

 Gestalt gestalt = new GestaltBuilder()
            .addSource(MapConfigSourceBuilder.builder().setCustomConfig(configs).build())
            .useCacheDecorator(false)
            // do not normalize the sentence return it as is.
            .setSentenceLexer(new PathLexer(".", DEFAULT_EVALUATOR, (it) -> it))
            .build();

If you set a new lexer that is for example case-sensitive, when you decode an object
public record Person(String name, Integer id) if in the properties it is admin.Name = sarah
it will not be able to decode as the name field is lower case and the property is upper case.


Failed at bower install & grunt build

When I try to manually push the repo to heroku I receive this error and the deploy fail.
When I use the button "deploy to heroku" found on github this doesn't happen.
But when I try to push my changes to the project I receive this error.
I tried to add bower cache clean in postinstall but doesn't help...
remote:        npm ERR! Linux 3.13.0-71-generic
remote:        npm ERR! argv "node" "/tmp/build_f6d4937dfe38ee8b0eea2c95b856dd30
/.heroku/node/bin/npm" "install" "--unsafe-perm" "--userconfig" "/tmp/build_f6d4
937dfe38ee8b0eea2c95b856dd30/.npmrc"
remote:        npm ERR! node v0.10.41
remote:        npm ERR! npm  v2.1.18
remote:        npm ERR! code ELIFECYCLE
remote:        npm ERR<EMAIL_ADDRESS>postinstall: bower install  && grunt build
remote:        npm ERR! Exit status 6
remote:        npm ERR!
remote:        npm ERR! Failed at the<EMAIL_ADDRESS>postinstall s
cript 'bower install && grunt build'.
remote:        npm ERR! This is most likely a problem with the loopback-angular-
admin package,
remote:        npm ERR! not with npm itself.
remote:        npm ERR! Tell the author that this fails on your system:
remote:        npm ERR!     bower install && grunt build
remote:        npm ERR! You can get their info via:
remote:        npm ERR!     npm owner ls loopback-angular-admin
remote:        npm ERR! There is likely additional logging output above.

so to fix my various publishing issues and complete a push to heroku succesfully I had to complete various step. I'll leave them here just in case someone is facing my same problems.

in package.json -> scripts ->  "postinstall": "bower cache clean && bower install && grunt build"
...this will clean bower cache and prevent some errors

in package.json update node and npm engines version to yours values. In my case
"engines": {
"node": "5.4.0",
"npm": "3.3.12"
}

had support for a different session storage method: in my case
npm install connect-mongostore --save
npm install express-session-mongo --save

create a providers.json with values for local
{
"local": {
"provider": "local",
"module": "passport-local",
"usernameField": "username",
"passwordField": "password",
"authPath": "/auth/local",
"successRedirect": "/auth/account",
"failureRedirect": "/local"
}
}

in /boot/passport.js add this
var MongoStore = require('express-session-mongo');

around line 22 modify the session storage like this
app.use(loopback.session({
store : new MongoStore({
db : 'your_mongo_db_name',
ip : 'ip_or_url_of_mongodb_server',
port :  'your_mongodb_port',
username : 'mongodb_username',
password: 'mongodb_password'
}),
secret: app.get('cookieSecret'),
saveUninitialized: true,
resave: true
}));

in /boot/storage.js create a dataSource different from local and storage folder. In my case in heroku that path didn't exists and I was unable to proceed. So I created a storage on Amazon.

create or modify the container model in /commons/models

in my case I had to install grunt and grunt-cli globally as well
npm install -g grunt grunt-cli

And that's all.

@dev-augmenta can you verify that this issue still exists when trying to use the steps for manual Heroku deployment that I've added to the readme?


Slow on the try/catch case

While profiling an application, I found is-string (and a few related libraries) pretty much topping the charts across the entire codebase:

It appears that the try/catch check in tryStringObject does not get optimized (due to being a try/catch, I assume) and this makes the type checks very slow, comparatively speaking. It's on a hot path for me due to being used in argument validation code.
The same problem manifests in is-number-object and is-date-object (and presumably others that happen to not be used in this particular project).
Perhaps this check could be replaced with a faster one in some way, or if not, only applied if the value hits a (faster) test that suggests this check should be applied?

hmm, the intention behind putting the try/catch inside a separate function wad that it allows v8 to optimize the main function. What browsers is this profiled in?
The current implementation already does all the fast checks it can - typeof, mainly - before hitting the try/catch (i could add an additional truthiness check to account for null, but i doubt that’ll help much)
Do you know what parts of your application are calling the predicates?

hmm, the intention behind putting the try/catch inside a separate function wad that it allows v8 to optimize the main function.

That part seems to be working; the main functions do not meaningfully show up on the profiler. But the separate try/catch functions are themselves still slow/unoptimized enough to take a comparatively large amount of time :)

What browsers is this profiled in?

This was in Node.js 18.20.3, run with --inspect --inspect-brk and using Chromium developer tools to connect to the process (profiling with its Performance tab).

The current implementation already does all the fast checks it can - typeof, mainly - before hitting the try/catch (i could add an additional truthiness check to account for null, but i doubt that’ll help much)

I don't think that would help in my case - the case that I suspect it's triggering on a lot, is "argument that can be either a string or a number, and so one of the validators has to fail before it checks the next one", which means that it hits the no-match case quite often with non-null values.

Do you know what parts of your application are calling the predicates?

They're called from within the corresponding Validatem validators, which do the argument validation for my SPARQL query builder, so they get called quite a lot (one to multiple times for each query builder method). I control basically the entire stack right up to the inspect-js libraries, and there's nothing else slow inbetween.
For now I've vendored a modified version of these libraries that does an instanceof check instead (at the cost of no cross-realm support), and total runtime was cut by about 30%.

If you're going for a caveat-d approach, why not use typeof x === 'string' etc for the primitives?
The only reason to use the inspect-js predicate packages for primitives is to handle boxed primitives.

Well, the intention was to get as close as possible to a correct/comprehensive check :)

instanceof isn't just about cross-realm, though - it can be faked with Symbol.hasInstance, and can be tricked by setting a .constructor property. Unfortunately the slow method here is the only way I know of to check the internal slot.


Nextcloud securityContext and rootlessness

Goal
securityContext should be able to be configured in a values.yaml file.
With the configuration available, there should be default rules to secure the container to make it run as www-data instead of root (this may require running on a different port).

/assign @BobyMCbobs

@BobyMCbobs the nextcloud chart has migrated to a new repo.  Can you please raise that issue over there?  https://github.com/nextcloud/helm

Superseded by https://github.com/nextcloud/helm/issues/9


Can't iterate over iterators

The following iteration works:
let vec: Vec<()> = vec!();
html! {
    $for _ in &vec {
    }
};

However, iterating over vec.iter() fails to compile:
let vec: Vec<()> = vec!();
let iter = vec.iter();
html! {
    $for _ in &iter {
    }
};

This fails with:
error: the trait `core::iter::Iterator` is not implemented for the type `&core::slice::Iter<'_, ()>` [E0277]

Iterating over vec.into_iter() fails to compile with a similar error.

Take out that extra &.

Without the &, it also fails to compile:
error: cannot move out of captured outer variable in an `Fn` closure

(might be related to issue #13)

An html! block is a Fn closure, so everything it refers to must be borrowed not moved. This is why neither .into_iter() nor passing in an externally-constructed iterator work. Both of these require moving out of an outer variable, which Fn closures do not allow.
I'm open to changing this behavior, though. Do you have any use cases for consuming a structure in the template rather than borrowing it?
I might drop the closure machinery altogether, and expose only a write!-style macro instead. The current design is based on format_args! but I don't see anyone taking advantage of this flexibility.

Do you have any use cases for consuming a structure in the template rather than borrowing it?

It appears that there are many such use cases in the wild.
For example, if someone wants to stream the contents of a file line-by-line, they'd use BufRead::lines. But this method consumes the original file.
I'll keep this issue closed as #18 sums up the issue more clearly. Either way I think the issues you have are valid.