Restructure Components section

@RFMVasconcelos , one suggestion that came out of the last community meeting was to see if we can start work on some of the uncontroversial parts of the restructuring plan (Kubeflow/Community PR #440) that you proposed. From this meeting, the community seems to agree that we can move forward with the proposed changes to the Components section.
If there are no objections, I propose that we use this issue to coordinate the work for updating the Components section. Here is the proposed structure for the Components section:

Components (remove "of Kubeflow", components reordered as per user journey)

Central Dashboard

Central Dashboard
Registration Flow

Notebook Servers (moved to under components, renamed from "Jupyter Notebooks")

Overview of Jupyter Notebooks in Kubeflow
Set Up Your Notebooks
Create a Custom Jupyter Image
Submit Kubernetes Resources
Build a Docker Image on GCP
Troubleshooting Guide

Kubeflow Pipelines (add "Kubeflow", remove redirects)

Pipelines Quickstart
Installing Pipelines

Installation Options for Kubeflow Pipelines
Kubeflow Pipelines Standalone Deployment
Deploying Kubeflow Pipelines on a local cluster

Understanding Pipelines

Overview of Kubeflow Pipelines
Introduction to the Pipelines Interfaces
Concepts

Building Pipelines with the SDK

Introduction to the Pipelines SDK
Install the Kubeflow Pipelines SDK
Build Components and Pipelines
Create Reusable Components
Building Python function-based components
Best Practices for Designing Components
Pipeline Parameters
Python Based Visualizations
Visualize Results in the Pipelines UI
Pipeline Metrics
DSL Static Type Checking
DSL Recursion
Using environment variables in pipelines
GCP-specific Uses of the SDK
Manipulate Kubernetes Resources as Part of a Pipeline

Multi-user Isolation for Pipelines
Caching
Upgrading
Samples and Tutorials

Using the Kubeflow Pipelines Benchmark Scripts
Using the Kubeflow Pipelines SDK
Experiment with the Kubeflow Pipelines API
Experiment with the Pipelines Samples
Run a Cloud-specific Pipelines Tutorial

Troubleshooting
Reference

Component Specification
Pipelines API Reference
Pipelines SDK Reference

Frameworks for Training

Chainer Training
MPI Training
MXNet Training
PyTorch Training
TensorFlow Training (TFJob)

Tools for Serving

Overview
KFServing
Seldon Core Serving
BentoML
NVIDIA Triton Inference Server
TensorFlow Serving
TensorFlow Batch Prediction

Katib

Introduction to Katib
Getting Started with Katib
Running an Experiment
Resuming an Experiment
Overview of Trial Templates
Using Early Stopping
Katib Configuration Overview
Environment Variables for Katib Components

Metadata
Fairing

Overview of Kubeflow Fairing
Install Kubeflow Fairing
Configure Kubeflow Fairing
Fairing on Azure
Fairing on GCP
Tutorials
Reference

Feature Store

Introduction to Feast
Getting started with Feast

Nuclio functions (remove "Miscellaneous" layer)
Istio (remove "usage in Kubeflow")
Multi-Tenancy (remove "in Kubeflow")

Introduction to Multi-user Isolation
Design for Multi-user Isolation
Getting Started with Multi-user Isolation

Gang-scheduling (current "Job scheduling" - only keep if has owners)

/assign @RFMVasconcelos
/assign

/assign @RFMVasconcelos
/assign

I propose that we update the Components section within the docs folder (keeping /docs/components instead of moving to /components). This reduces the effort required to implement these changes, and reduces the number of redirects that are necessary. My understanding is that the weight that search engines give a link is shared when a page is redirected (and shared several ways if a page redirects multiple times). So, this has the added benefit of helping us with SEO.

I propose that we update the Components section within the docs folder (keeping /docs/components instead of moving to /components). This reduces the effort required to implement these changes, and reduces the number of redirects that are necessary. My understanding is that the weight that search engines give a link is shared when a page is redirected (and shared several ways if a page redirects multiple times). So, this has the added benefit of helping us with SEO.

Sounds good @joeliedtke, do you think its realistic to aim to implement these changes within the next week?
This will give time for WGs to update their component docs ahead of Kubeflow 1.3's release in 1 month.

Sounds good @joeliedtke, do you think its realistic to aim to implement these changes within the next week?
This will give time for WGs to update their component docs ahead of Kubeflow 1.3's release in 1 month.

@animeshsingh @Bobgy @joeliedtke what are your comments?
(Specifically, related to how we implement these changes, not the changes themselves, which have already been agreed to in: https://github.com/kubeflow/community/pull/440)
Also cc @castrojo who is wanting to get involved in this kind of stuff.

@animeshsingh @Bobgy @joeliedtke what are your comments?
(Specifically, related to how we implement these changes, not the changes themselves, which have already been agreed to in: https://github.com/kubeflow/community/pull/440)
Also cc @castrojo who is wanting to get involved in this kind of stuff.

@joeliedtke, I think this is a great start!
I've started this project, so we can add smaller chunks as issues and track the progress of the overall initiative.
We might want to split this initiative into several sub-tasks - e.g. 1. rename Components section; 2. Rename and move Notebooks section under Components; etc.
So, let me create a bunch of issues that encompass this first part of moving things under components.

@joeliedtke, I think this is a great start!
I've started this project, so we can add smaller chunks as issues and track the progress of the overall initiative.
We might want to split this initiative into several sub-tasks - e.g. 1. rename Components section; 2. Rename and move Notebooks section under Components; etc.
So, let me create a bunch of issues that encompass this first part of moving things under components.

Agree with the overall structure, some individual items were discussed in their issues.

@RFMVasconcelos just wondering how far along the implementation of this is?
I still see some strangeness on https://www.kubeflow.org/docs/components/

"Kubeflow Pipelines" is not under "components"
There are a bunch of things which are not components under "components"

@thesuperzapper, for Pipelines I've just made final commits on #2505 to address some concerns with redirects. I'll bring it to the Kubeflow pipelines meeting in 5 minutes so we can get that merged.
As per other non components things under components what do you think should definitely be repositioned?

FYI @thesuperzapper Pipelines under Components just got merged

We are now at the state proposed in this issue, let's close this one and if there are other proposed changes to the components section we can create separate issues/PRs.
Thank you for the help @joeliedtke @Bobgy @thesuperzapper !


Infra red

I've got the Landis & Gyr ZCF120ABd  which doesn't have a P1 port. Instead it uses infrared to communicate. I can translate this signal via to a P1-usb cable. Is this kind of communication supported?

I don't think you'll be able to generate DSMR telegrams from the pulse signal.  Better ask your network company for a smart meter.


Relayout landing page

Make spielwiese and editor more prominent,
quests are ordered by tag (not tagged separately)
GitHub -> über das Projekt

wow, took a while, but it now looks good


Sometimes it fails to bypass cloudflare

In the case of Chrome  and Edge, sometimes (and not for always) it does not work for the particular site I was focusing on. But I did not encounter any problems with Firefox  and Safari.
This is the main sample site: https://pegaxy.io/
You can specifically focus on this address: https://api.pegaxy.io/my/info
And I used it on Docker.
You can send consecutive requests and test.
By the way, I already asked about the details of what I want to do here:
https://stackoverflow.com/q/71529199/1407491
Here is an example of a log that works:
SHOW LOG
# docker run --rm lwthiker/curl-impersonate:0.3-chrome curl_chrome99 'https://api.pegaxy.io/my/info' \
>   -H 'authority: api.pegaxy.io' \
>   -H 'sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="99", "Google Chrome";v="99"' \
>   -H 'accept: application/json' \
>   -H 'sec-ch-ua-platform: "Windows"' \
>   -H 'sec-ch-ua-mobile: ?0' \
>   -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36' \
>   -H 'sec-ch-ua-platform: "Windows"' \
>   -H 'origin: https://play.pegaxy.io' \
>   -H 'sec-fetch-site: same-site' \
>   -H 'sec-fetch-mode: cors' \
>   -H 'sec-fetch-dest: empty' \
>   -H 'referer: https://play.pegaxy.io/marketplace' \
>   -H 'accept-language: en-US,en;q=0.9,fa;q=0.8,de;q=0.7' \
>   --compressed -s -vv
*   Trying <IP_ADDRESS>:443...
* Connected to api.pegaxy.io (<IP_ADDRESS>) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-GCM-SHA384,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-ECDSA-CHACHA20-POLY1305,ECDHE-RSA-CHACHA20-POLY1305,ECDHE-RSA-AES128-SHA,ECDHE-RSA-AES256-SHA,AES128-GCM-SHA256,AES256-GCM-SHA384,AES128-SHA,AES256-SHA
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: none
* ALPS, offering h2
} [5 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* TLSv1.2 (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
{ [19 bytes data]
* TLSv1.3 (IN), TLS handshake, Unknown (25):
{ [3156 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [80 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [36 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [36 bytes data]
* SSL connection using TLSv1.3 / TLS_CHACHA20_POLY1305_SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=*.pegaxy.io
*  start date: Mar  3 05:22:24 2022 GMT
*  expire date: Jun  1 05:22:23 2022 GMT
*  subjectAltName: host "api.pegaxy.io" matched cert's "*.pegaxy.io"
*  issuer: C=US; O=Let's Encrypt; CN=E1
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
} [5 bytes data]
* Using Stream ID: 1 (easy handle 0x7f0ad96c1a90)
} [5 bytes data]
> GET /my/info HTTP/2
> Host: api.pegaxy.io
> sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="99", "Google Chrome";v="99"
> sec-ch-ua-mobile: ?0
> sec-ch-ua-platform: "Windows"
> upgrade-insecure-requests: 1
> user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36
> accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
> sec-fetch-site: none
> sec-fetch-mode: navigate
> sec-fetch-user: ?1
> sec-fetch-dest: document
> accept-encoding: gzip, deflate, br
> accept-language: en-US,en;q=0.9
> authority: api.pegaxy.io
> sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="99", "Google Chrome";v="99"
> accept: application/json
> sec-ch-ua-mobile: ?0
> user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36
> sec-ch-ua-platform: "Windows"
> origin: https://play.pegaxy.io
> sec-fetch-site: same-site
> sec-fetch-mode: cors
> sec-fetch-dest: empty
> referer: https://play.pegaxy.io/marketplace
> accept-language: en-US,en;q=0.9,fa;q=0.8,de;q=0.7
>
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [222 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [222 bytes data]
* old SSL session ID is stale, removing
{ [5 bytes data]
* Connection state changed (MAX_CONCURRENT_STREAMS == 256)!
} [5 bytes data]
< HTTP/2 200
< date: Mon, 21 Mar 2022 23:22:10 GMT
< content-type: application/json; charset=utf-8
< vary: Accept-Encoding
< vary: Origin
< access-control-allow-origin: https://play.pegaxy.io
< etag: W/"29-bVHj0ypH/h4ZX9esOoZbwspQiQY"
< x-frame-options: SAMEORIGIN
< x-xss-protection: 1; mode=block
< x-content-type-options: nosniff
< referrer-policy: no-referrer-when-downgrade
< content-security-policy: default-src 'self' http: https: data: blob: 'unsafe-inline'
< strict-transport-security: max-age=31536000; includeSubDomains
< cf-cache-status: DYNAMIC
< expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
< set-cookie: __cf_bm=5alOaylVbD3I6nERRUHj3COnrAUKDaLA0KIZt9bE8ww-1647904930-0-AWqZ1lWXsTPZlGfyqlMjEtpAUJK8Qjbj8rDlMh2vHuuLEIWEH9vFrwcc/lCm4WBFkT/MMs68cv04GOiBTvbTALw=; path=/; expires=Mon, 21-Mar-22 23:52:10 GMT; domain=.pegaxy.io; HttpOnly; Secure; SameSite=None
< server: cloudflare
< cf-ray: 6efa6d987ed09b71-FRA
< content-encoding: br
<
{ [45 bytes data]
* Connection #0 to host api.pegaxy.io left intact
{"status":false,"error":"USER_NOT_FOUND"}

And here is a sample log for when it does not work:
SHOW LOG
# docker run --rm lwthiker/curl-impersonate:0.3-chrome curl_chrome99 'https://api.pegaxy.io/my/info' \
>   -H 'authority: api.pegaxy.io' \
>   -H 'sec-ch-ua-mobile: ?0' \
>   -H 'sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="99", "Google Chrome";v="99"' \
>   -H 'accept: application/json' \
>   -H 'sec-ch-ua-mobile: ?0' \
>   -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36' \
>   -H 'sec-ch-ua-platform: "Windows"' \
>   -H 'origin: https://play.pegaxy.io' \
>   -H 'sec-fetch-site: same-site' \
>   -H 'sec-fetch-mode: cors' \
>   -H 'sec-fetch-dest: empty' \
>   -H 'referer: https://play.pegaxy.io/marketplace' \
>   -H 'accept-language: en-US,en;q=0.9,fa;q=0.8,de;q=0.7' \
>   --compressed -s -vv
*   Trying <IP_ADDRESS>:443...
* Connected to api.pegaxy.io (<IP_ADDRESS>) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-GCM-SHA384,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-ECDSA-CHACHA20-POLY1305,ECDHE-RSA-CHACHA20-POLY1305,ECDHE-RSA-AES128-SHA,ECDHE-RSA-AES256-SHA,AES128-GCM-SHA256,AES256-GCM-SHA384,AES128-SHA,AES256-SHA
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: none
* ALPS, offering h2
} [5 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* TLSv1.2 (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
{ [19 bytes data]
* TLSv1.3 (IN), TLS handshake, Unknown (25):
{ [3156 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [78 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [36 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [36 bytes data]
* SSL connection using TLSv1.3 / TLS_CHACHA20_POLY1305_SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=*.pegaxy.io
*  start date: Mar  3 05:22:24 2022 GMT
*  expire date: Jun  1 05:22:23 2022 GMT
*  subjectAltName: host "api.pegaxy.io" matched cert's "*.pegaxy.io"
*  issuer: C=US; O=Let's Encrypt; CN=E1
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
} [5 bytes data]
* Using Stream ID: 1 (easy handle 0x7f396fbbda90)
} [5 bytes data]
> GET /my/info HTTP/2
> Host: api.pegaxy.io
> sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="99", "Google Chrome";v="99"
> sec-ch-ua-mobile: ?0
> sec-ch-ua-platform: "Windows"
> upgrade-insecure-requests: 1
> user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36
> accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
> sec-fetch-site: none
> sec-fetch-mode: navigate
> sec-fetch-user: ?1
> sec-fetch-dest: document
> accept-encoding: gzip, deflate, br
> accept-language: en-US,en;q=0.9
> authority: api.pegaxy.io
> sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="99", "Google Chrome";v="99"
> accept: application/json
> sec-ch-ua-mobile: ?0
> user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36
> sec-ch-ua-platform: "Windows"
> origin: https://play.pegaxy.io
> sec-fetch-site: same-site
> sec-fetch-mode: cors
> sec-fetch-dest: empty
> referer: https://play.pegaxy.io/marketplace
> accept-language: en-US,en;q=0.9,fa;q=0.8,de;q=0.7
>
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [222 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [222 bytes data]
* old SSL session ID is stale, removing
{ [5 bytes data]
* Connection state changed (MAX_CONCURRENT_STREAMS == 256)!
} [5 bytes data]
< HTTP/2 403
< date: Mon, 21 Mar 2022 17:14:41 GMT
< content-type: text/html; charset=UTF-8
< cache-control: max-age=15
< expires: Mon, 21 Mar 2022 17:14:56 GMT
< x-frame-options: SAMEORIGIN
< expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
< set-cookie: __cf_bm=nEnD.QUz3L43TqTxUdnxUWV7R3svGpN9CQ8MU3thu88-1647882881-0-AT/Vw/Y/DoqdLAESxkrplf95mmnU269etAJ8DpG5l//9sJ3+zDd8fC5iTyhD5x7trGkAsWonR5ErB3lSN+RuLvg=; path=/; expires=Mon, 21-Mar-22 17:44:41 GMT; domain=.pegaxy.io; HttpOnly; Secure; SameSite=None
< vary: Accept-Encoding
< server: cloudflare
< cf-ray: 6ef8534949b69b3f-FRA
< content-encoding: br
<
{ [922 bytes data]
* Connection #0 to host api.pegaxy.io left intact
<!DOCTYPE html>

<title>Attention Required! | Cloudflare</title>
<meta charset="UTF-8" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
<meta name="robots" content="noindex, nofollow" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<link rel="stylesheet" id="cf_styles-css" href="/cdn-cgi/styles/cf.errors.css" type="text/css" media="screen,projection" />

Please enable cookies.

Sorry, you have been blocked

You are unable to access pegaxy.io

Why have I been blocked?

This website is using a security service to protect itself from online attacks. The action you just performed triggered the security solution. There are several actions that could trigger this block including submitting a certain word or phrase, a SQL command or malformed data.

What can I do to resolve this?

You can email the site owner to let them know you were blocked. Please include what you were doing when this page came up and the Cloudflare Ray ID found at the bottom of this page.

    Cloudflare Ray ID: 6ef8534949b69b3f
    •
    Your IP: xx.xx.xx.xx
    •
    Performance & security by Cloudflare

Thanks for great project.

Thanks. No problem right now. If the problem is repeated, I will leave the message again.

A.Z.,
Im trying to acess pegaxy api and its impossibl. i tried add headers e sessio, but nothing. can u help me? i saw ur post about the that.
import requests
import json

url = "https://api.pegaxy.io/rent/0?rentMode=SHARE_PROFIT"

headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Firefox/91.0' ,
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' ,
'Accept-Language': 'en-US,en;q=0.5' ,
'Connection': 'keep-alive' ,
'Upgrade-Insecure-Requests': '1' ,
'Sec-Fetch-Dest': 'document' ,
'Sec-Fetch-Mode': 'navigate' ,
'Sec-Fetch-Site': 'none' ,
'Sec-Fetch-User': '?1',
'Pragma': 'no-cache' ,
'Cache-Control': 'no-cache'
}

response = requests.get(url, headers=headers)
response.raise_for_status()  # raises exception when not a 2xx response
if response.status_code != 204:
   return response.json()
response

Im getting this error
HTTPError: 403 Client Error: Forbidden for url: https://api.pegaxy.io/rent/0?rentMode=SHARE_PROFIT

Thanks

@ElPapi89
I do not see anything of this project and curl_chrome99 command in your code.
If you plan to run it in Python. You must first compile this project or launch Docker for it and make sure that the following command on the command line gives the correct result:
curl_chrome99 'https://api.pegaxy.io/rent/0?rentMode=SHARE_PROFIT'
or
docker run --rm lwthiker/curl-impersonate:0.4-chrome curl_chrome99 https://api.pegaxy.io/rent/0?rentMode=SHARE_PROFIT
Then, with the help of shell command methods, call it in Python. For example, something like this:
import subprocess
p = subprocess.Popen("curl_chrome99 https://api.pegaxy.io/rent/0?rentMode=SHARE_PROFIT", stdout=subprocess.PIPE, shell=True)
print(p.communicate())

Or other methods mentioned in this article, for example:
https://www.the-analytics.club/python-shell-commands


BONNIE-326

Addresses BONNIE-326
JIRA Test: https://jira.mitre.org/browse/BONNIE-917
Related Pull Requests:
projectcypress/health-data-standards#518
https://github.com/projecttacoma/bonnie_bundler/pull/96

Regression test passed.

I confirmed over VSAC that no value sets have colons in their description. However, this could change at some point, which would mess this test up (it looks for the last colon).

Manual JIRA test is good.


Console version reversing overview

(E: updated with some things about the PC UHD release too)
Saw there was some recent interest in reversing the console versions, I looked into a bunch of different builds/ports to gather info for re4_tweaks over the past year, so figured a write up of the things learned there might come in useful.
There's a good chance I might have misremembered something here though, if you notice anything wrong feel free to post any corrections 😸, besides that I hope this might help someone out in some way!
(I was mainly working on recovering symbol names at the time too, so this info is mostly focused around symbols, but hopefully should also be able to help show where code for certain things can be found)
Sadly other than these I don't really think we'll get to see much else from the actual RE4 engine for a long while, been teased by several different groups with the idea of builds that have even more debug-symbols included, but disappointingly there doesn't seem to be any intention of those ever being released.
Oh well, there's still quite a lot of different builds out there publicly that can reveal a lot about the game engine, here's a quick overview of some interesting ones:
Gamecube (debug)

Symbol type: SYM files (use re4sym tool, build available here), function names only, no function prototypes, no structures, small amount of global variable names.
Overlay type: DolphinOS REL

Unlike the PC "Ultimate HD" (UHD) version, the code for maps/characters/weapons/etc are split into separate REL overlays, a little similar to DLL files on Windows, helping to save memory by only loading in code for things that are actually in use.
Bio4.sym file contains symbols for the main .dol executable, SYM files are also included for each of the REL overlays too.
Some of the REL overlays can be found in the raw filesystem, but most are stored in DRS container files (usually as the last file inside the DRS)
SYMs are also available for RELs which weren't included on the debug disc 1 ISO, sadly disc 2 currently remains private, but it's possible to match the symbols inside those SYM files with the retail disc 2 RELs (you can work out the function size from the addresses in the SYM, then match against functions in the retail REL by similar size), or match them against the incomplete Wii debug RELs (see below)
RELs also contain unnamed imports from the main .dol, but your REL loader should hopefully expose the address of the import, so it'd be possible to match those addrs against the main Bio4.sym to name them in your disassembly.
SDA & TOC/SDA2 note
When loading PowerPC dol/rel files you should also make sure to set the SDA & TOC/SDA2 addresses if your disassembler allows it, to help it to track down more variable usages. In IDA these can be set via "Processor specific analysis options" button on the initial file loading screen.
You can usually find the values of these somewhere near the start/main function of the main executable - r13 holds the SDA value while r2 holds the TOC value.
For the debug build these should be TOC = 0x8032BEE0, SDA = 0x8031BEE0.
PS2 (retail)

Symbol type: .sndata ELF section, very incomplete function names (import/exports only), some function prototypes, no structures, some variables.
Overlay type: ProDG "SNR2" relocatable EXE (IDA loader, file format)

It's been known for a long time that the retail PS2 version contains symbols, but the symbols included are very incomplete, and seem to only be for functions that get used by overlay RELs - though these symbols do provide prototypes for certain functions, revealing the names of some structures used by the engine.
Similar to GC version REL overlays are used, though these are stored inside the main AFS file now (and also still inside DRS containers too), and the format used is different to DolphinOS, instead using a unique ProDG format used that I couldn't find much info about (ProDG SDKs do contain something similar, but IIRC it wasn't an exact match) - symbols inside the PS2 RELs are usually very poor though, hardly even worth trying to load in, main executable symbols are a lot more interesting.
While some things (graphics/audio related) were rewritten to work on PS2 hardware, the majority seems to be using the same code as GC (though with some enhancements due to the additional scenario that PS2 added)
Oculus Quest (RE4VR)

Symbol type: ELF DWARF, many function names (most of them UE4 specific, but a lot from the RE4 UHD engine too), many function prototypes, no structures, more variables than the others.
Overlay type: not used, all overlays are combined into the libUE4.so similar to UHD version (RE4VR seems to be built on the UHD version, based on some references to QLOC in the symbols)

Despite all the UE4 boilerplate code this is probably one of the best sources for finding UHD info, they did seem to remove code for a lot of things though, but in most cases the removed functions still had a stub function left in the code, giving us the function name and prototype for free. (or it was only the call to the function removed, with the actual function still left in place)
Unfortunately a lot of the code that used to be included in REL files doesn't seem to be included in the symbols here, making GC debug the best for completeness, but RE4VR still gives a lot more info via function prototypes.
Seems they might have ran some kind of strip tool on the ELF since there's sadly no DWARF structs or anything like that, could have saved us a lot of work if those were included, ah well.
Bonus: Wii (debug, incomplete)

Symbol type: N/A
Overlay type: DolphinOS REL (little-endian header - needs byte-swap before most dol/rel loaders will work)

The PC UHD release actually seems to include REL files for a debug Wii version, likely one of the last versions before they branched off for the X360 port.
Sadly the main executable for that version isn't included so there's not much chance of ever getting to actually boot those files, but the RELs themselves seem pretty interesting, might be easier to match missing RELs from the GC debug to these rather than the GC retail.
(UHD does seem to still read these RELs for some reason, not really sure why since there's no chance of it executing the PowerPC code inside, hopefully some way to stub that code out eventually...)
Similar engine: Viewtiful Joe 2 (PS2 prototype)

Symbol type: MIPS .mdebug section, many function names, much prototypes, such structures!
Overlay type: unknown

The .mdebug section contains a huge amount of structures/function names/prototypes, but seems this is based on a very early version of whatever engine RE4 was based on (maybe started with P.N.03?), so a lot of the stuff RE4 makes use of isn't included here, or is included but in a very early state with a lot missing from it.
A dump of the symbols from this build can be found here: https://github.com/emoose/re4-research/issues/3#issuecomment-1061447972
Similar engine: P.N.03 (GC prototype)

Symbol type: SYM file (similar to RE4 SYMs but missing a field in header, re4sym can work with it with modifications) - function names only, no prototypes, no structures, small amount of global variable names.
Alternate symbol type: MAP file, many function names & prototypes, some global variable names, funcs are organized by object file (with object filenames included), giving a small idea of the source tree layout.
Overlay type: unknown

Maybe earliest form of the engine used by RE4, not hugely useful because of how early everything is, but can give some idea about certain things used by the GC debug version which didn't have much information available (eg. the sound engine)
IIRC the MAP symbols didn't actually match up to the main executable though, but .SYM should match fine, the MAP is still useful for function prototypes.
PC UHD release

Symbol type: N/A
Overlay type: none (all merged into main bio4.exe file)

Since I'm pretty much tallying all the different editions I've looked at here it's probably worth mentioning what I know about the UHD release too, this appears to be based on the X360 port of the game, which itself seems to be based on the original Wii release, AFAIK QLOC mainly worked on the PC-specific enhancements, doesn't seem that anything was shared with the older 2007 PC Ubisoft port.
The PC version was compiled with VS2010 (likely because that was the last version that the X360 SDK supports, which the PC ver. still seems to tap into for compression code), and all builds I've looked through seem to be incremental, meaning most functions are called through small thunks to make incremental linking easier - this does carry a small performance penalty AFAIK, but also makes hooking things for re4_tweaks a lot easier too, so I won't complain about it much.
What I'd like to complain about is how almost all floating-point-related code makes use of the older x87 instruction set (though there are some small sections that make use of SSE as well), from some tests to try generating similar code I noticed this seems to be default behaviour in VS2010, where project settings need to be explicitly set to generate SSE/AVX code - a shame they never changed this themselves, since even the ancient SSE1 which all post-2000 PCs include can give a performance boost in vector/matrix related code in the game.
(re4_tweaks allows replacing some of this code with SSE-enabled equivalents, though this only affects some functions and not the entire game code, so the improvement is only minor)
This port seems to make use of a GX emulation layer that was introduced with the X360 release, which exposes itself to the game code with the same API as Gamecube/Wii's GX API, but then translates those calls over to DX9, pretty neat stuff, though sadly seems the emulation might not be that precise as certain effects from the GC release (Filter03...) don't seem to work properly after being re-enabled (even when using code recreated from the GC build)
For some reason certain graphical effects were left disabled/incomplete during the X360 port, and so also were left disabled for the PC release too - re4_tweaks tries filling in the gaps based on the GC version to re-enable these effects, which works well for some (the transparent item pickup screen overlay) and not so great on others (the low-resolution depth-of-field effect) - in both cases the cause of those being missing seemed to be pretty much a single line/block being absent in the code, maybe something that was commented out during development but forgot to be re-enabled.
This port also added a 60FPS mode to the game (which originally only ran at 30FPS on all earlier releases), this seems to work by allowing the game code to run twice as fast (for it to achieve 60 frames/second), but with an internal game-speed variable set to 1/2 - in the original releases not many things actually respected this game-speed variable though, so a lot of things had to be updated to make use of it in order for everything to run at the normal speed.
Of course from the end result we can see that many spots were accidentally left out of these game-speed changes, resulting in things like falling items/water animations/others to run at double speed - fortunately re4_tweaks has been able to fix most of these left-out spots.
Generally the RE4 community doesn't seem to think too highly about this port, besides the much higher system requirements compared to 2007 it's also been plagued by issues since release, and Capcom only seems to have supported it for a brief few months before giving up on it - though the game did receive an update many years after initial release to add Chinese localisation support.
A debug version was also accidentally released during that Chinese localisation work, but sadly is nowhere near as fully featured as the earlier GC debug version, almost seems to just be a Release build with a couple debug toggles enabled, not too incredibly useful - it did at least help to show us what was needed to re-enable certain debug menus in the normal non-debug builds.
Conclusion
The engine was used for quite a few early-00 Capcom titles, starting with P.N.03 as the earliest game I could find (2003), lasting over ~5 years up until Clover Studio was closed down & Capcom focused on MT Framework instead (even then, some MT Framework games do seem to include some tiny pieces of the RE4 engine inside them), of course later ports of RE4 would allow the engine to live on even longer.
(though certain Platinum Games titles do seem to use very similar things to RE4 too, eg. models are handled through a cModel class, effects are named as "ESPs", actors use sets of 4 "Rno" routine/state machine indexes, debug flag menus (and the flags themselves) work the exact same way... this could just be the result of a single programmer from Capcom/Clover joining PG & using a similar programming style though, or maybe it's something more, sadly there's not that much to go on right now since no PG titles have ever had debug symbols released)
There's a good chance I've left out some other offshoots of the RE4 engine here, maybe another game similar to Viewtiful Joe will come to light eventually with even more information, until then I guess we're stuck manually reversing the rest out of what we have.
Spent nearly a year working on an IDA database for the UHD version, including trying to recreate structs, still a lot more work to be done though: https://github.com/emoose/re4-research/issues/3

Big Thanks

Huh, just found out PlatinumGames Bayonetta did actually have some symbols leaked, https://archive.org/details/Bayonetta20090524 includes a nice 60MB PDB with it, which IDA loads in fine with https://github.com/emoose/idaxex (and PDB_PROVIDER = PDB_PROVIDER_MSDIA set), seems to name pretty much every function & gives plenty of structs/local types too 😸
Haven't looked too deep into it yet, but seems despite similar names not many functions are actually shared with RE4, classes like cModel/cParts/etc seem to contain completely different fields inside too...
I guess the PG dev-team maybe had to start from scratch with a new engine but also wanted to keep things familiar with the CPS4 engine, or maybe figured the way CPS4 did things with stuff like Rno / model parts / Esp was the best way for them, who knows.
IMO it's probably not that helpful for RE4, but anyone working on PG games should find it really useful, wish I knew about this when I was doing work on NA >.>

Hi, its garbage.
i'm cnexabyte(ツ)


Layout not cancelling swap after copy

I'm using the following code to generate a TikZ diagram:
using Catlab, Catlab.Theories
using Catlab.Programs
using Catlab.WiringDiagrams
using Catlab.Graphics
import TikzPictures, Convex, SCS

@present P(FreeSymmetricMonoidalCategory) begin
  (M,S,H)::Ob
  psi::Hom(M,H)
  kappa::Hom(H,otimes(H,S))
  u::Hom(otimes(S,M), M)
end

# hack to make the greek letters render correctly
P[:psi].args[1] = Symbol("\\psi")
P[:kappa].args[1] = Symbol("\\kappa")

diagram = @program P (m1::M) begin
    h1 = psi(m1)
    h2, s = kappa(h1)
    m2 = u(s, m1)
    h3 = psi(m2)
  return h3, m2
end

tikz_diag = to_tikz(
    to_hom_expr(FreeCartesianCategory,diagram),
    labels=true,
)

The diagram comes out looking like this:

Why is that swap there after the second copy morphism, and is there a way to remove it? (Or better still, have it removed automatically.)

It's because the layout preserves the order of the outer ports (which is meaningful).
If you replace return h3, m2 with return m2, h3, you'll get the desired result.

Hmm, but that's not really the desired result - I want the return type to be H⊗M rather than M⊗H. That gives the result

but what I want is this:

OK, I see what you mean. The problem is that the crossing minimization in to_hom_expr doesn't account for the fact that comultiplication (copy) is commutative:
compose(mcopy(X), braid(X,X)) == mcopy(X)

It won't be entirely trivial to fix this and I'm quite busy right now.
The simplest workaround, if you just need one-off graphic, is to manually create the morphism expression, using the primitive operations (compose, mcopy, delete, etc), rather than using @program and then to_hom_expr. That is a bit more work but it isn't too bad.


⚠ Jenkins Plugins Artifactory has degraded performance

In eea44d8, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1278 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 0ae62d3 after 33 minutes.


Horizontal swiping is still causing a vertical page moving

Check that this is really a bug

[X] I confirm

Reproduction link
https://swiperjs.com/demos
Bug description
A few months ago this error was reported, but considered resolved after the release of iOS 16!
I am afraid that iOS 16.x was not 100% of the problem here!
Indeed it got a bit less sensitive on iOS 16, but it still happening and affecting negatively the UX.
The bug is still reproducible even in the demos on oficial website.
I have SwiperJS running on my website + framework7 on my app, and testing on iOS 16.x and 17.x (on different iPhones versions) the swiper horizontal still scrolling page up and down depending on the diagonal direction in which the finger swipe is made!
In most swipers or even in the browsers' native scrollbar, vertical movement is completely prevented, but using swiperJS any inclination above 20 degrees in lateral swiping causes vertical movement... which is very little tilt.
In my app the situation is even worse... it is impossible to use the scroll without having the screen jumping up and down all the time :(
Can someone help me please?
Expected Behavior
Page should not scroll up and down when the horizontal swipe is running!
Actual Behavior
It is impossible to have a natural swipe effect without having the page jumping up and down :(
Swiper version
10+
Platform/Target and Browser Versions
iOS browsers and applications (mac and iphone)
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
[X] Make sure this is a Swiper issue and not a framework-specific issue

Would you like to open a PR for this bug?

[ ] I'm willing to open a PR

Update to Swiper 11

@nolimits4web thanks for your answer!
On web, it works perfectly !!!
But on my Framework7 App it still buggy due to the dependency version loaded: "^10.2.0"
How can it be fixed? Or do you expect release an update to framework7 soon?


site trying to load translation locale for es

The website is looking for es translation file although it has already correctly loaded es-ES which is in the code. I think it shouldn't be trying to load es because es-ES is there and working correctly

I don't see anyway to correct this.  It appears the i18next library tries to load es and then if that fails tries es-es.
http://i18next.com/pages/doc_init.html

I see. It seems more an issue of i18next because it does load the es-ES correctly but it keeps on loading the es even though the es-ES worked.
Do you think it is worth informing on that project?

I am going to close this for now.


Make ComputationContext perform tasks based on RuleFragment

It's not needed right now, I've implemented all that functionality on the client side


Enhance SERP display by specifying if natural, local, maps, youtube, images...

Hi
what would be great is to have a picto to tell if result is a local/geo/maps result or a natural/serp result.
And best would be to have, if it's the case the local result position AND the natural result position for a keyword.
regards

do you use the last version ? it is already displayed.

hi
yes, i'm using 2.4.0.
I have only a geo picto in front of the keyword, but it's because i have set local research.
Do you have a screenshot of how it should be displayed ?

regards

OK I undestand. No it is not displayed yet but it's on the TODO (medium priority).

Not sure where this stands on the current priority list, but it's definitely something that I could use. The agency I develop for would really like to ditch a paid service and move to using an open source solution, but being able to see these local results is really important.


[dev-tool] fix samples typescript source to include sub directory

Sample source structure used to be flat but later nested directories are supported as well. This PR fix the glob pattern to also include sub directories.

also re-publish samples for @azure/service-bus

I didn't update all the other samples as there are no complaints. They can get new update in their next publish.

API change check
API changes are not detected in this pull request.


[top/dv] Add spi_tpm test

The test issues writes from the host to spi device.
Spi device then loops back data back to the host
on a read command.

I still need to do some clean up...for example...renaming the test...


technology radar doesn't utilize description

When I follow the documentation for adding data to the technology radar it lists url and description in the data structure.  It would seem logical that this data would be shown to users somewhere within the interface.
Expected Behavior
Description data is shown to the user in some fashion
Current Behavior
nothing, data is not being utilized
Possible Solution
Update the technology radar plugin to display the description when the user hovers over a blip or the name of the technology or both.
Steps to Reproduce
if you just visit the default tech radar and click around you'll see it does not utilize the description field in any way.
Context
Your Environment

NodeJS Version (v12):
Operating System and Version (e.g. Ubuntu 14.04):
Browser Information: chrome

I'll also, mention I'd be happy to work on this issue.

Awesome - welcome the contrib, you got it @johnnyiller !

I'll add in, when I've used the Tech Radar, I've never really had enough info on the elements.  I like the hover. I also wonder whether or not a separate tab, that maybe presents each element in the text stack with a description and maybe a link out to much more info.  Allows the user to USE that plugin to really LEARN about the stack, as opposed to just the visual.
All in all, a way for me to allow my new hires to learn more about the stack and where to get more info on it. (maybe even linking to a TechDocs releavent page that elaborates further, which could just be done via URL as it's most simple)  Your tool tip idea for sure helps elevate the info if it's not used today!

@adamdmharvey agreed.  For this round, I'm just going to try to get the information that the README implies should work to appear somewhere in the UI in a reasonable way, but thin, the more we can make the process one of exploration the better since that seems to be the intent of a technology radar in the first place.

@adamdmharvey I assume you'll see the PR for this issue, but not super clear how it works.  This work is done for my purposes but perhaps you have some other changes that make sense. If so I'd be happy to add them.

Hi @johnnyiller/@adamdmharvey,
I love the dialog but it got me thinking around the meaning of the description within the timeline.
Should it be used to describe the timeline event?
Maybe we need a top level description field that would we used for the dialog?
The dialog could be expanded later to show the timeline entries.

@niallmccullagh thats a great point.  My intention here was to leave the existing data structure, but it probably does make sense to explain the technology separate from the decision to transition the technology.  If @adamdmharvey is agreeable to that direction I'd be cool with it.


[monorepo-builder] Using dataToAppend and config section

Hello, i have a problem using function dataToAppend with combination of config composer section in monorepo-builder.php. My code looks like this
$mbConfig->dataToAppend([
ComposerJsonSection::REQUIRE_DEV => [
	'phpunit/phpunit' => '^9.5',
	'pd/coding-standard' => '^1.29.0',
	'phpstan/phpstan' => '^1.7.14',
	'symplify/monorepo-builder' => '^10.3'
],
ComposerJsonSection::CONFIG => [
	'allow-plugins' => [
		'dealerdirect/phpcodesniffer-composer-installer' => true,
	]
]
]);

The problem is that running command vendor/bin/monorepo-builder merge does not create config section in resulting composer.json. What am i doing wrong ?

Hi, there is explicit list of section that get merged
They make sense in local one, but not in root one.
You can try to modify it and see if it helps.
It also possible the merge works only for existing sections. I personally don't use this feature, so I'm not sure :)

Closing for lack of feedback. We're narrowing issues to keep focus on active and engaging contributor to keep project growing. Thank you for understanding.
Feel free to re-open with a proposed feature :+1:


MariaDB Deployment vs Statefulset

Hey @groundhog2k
A few weeks ago you added the deployment option on the Redis chart.

So in that case we don't mind it would be emptied if the node goes offline.
Would het be an option to support for the MariaDB chart itm to be deployed as a Deployment instead of the current StatefulSet?

@tim-hanssen https://github.com/groundhog2k/helm-charts/pull/1219 will be the solution :-)


make changes in frontend and routes

https://user-images.githubusercontent.com/56212958/109425473-67878e80-7a0e-11eb-8669-b448fe13ff62.mp4

I've checked out the PR and after successful npm install I ran into this error when visiting the new route while logged in as demo or<EMAIL_ADDRESS>Error: No default engine was specified and no extension was provided.
    at new View (C:\Data\GitHub\juice-shop\node_modules\express\lib\view.js:61:11)
    at Function.render (C:\Data\GitHub\juice-shop\node_modules\express\lib\application.js:570:12)
    at ServerResponse.render (C:\Data\GitHub\juice-shop\node_modules\express\lib\response.js:1012:7)
    at C:\Data\GitHub\juice-shop\routes\data-erasure.js:23:13

Can you reproduce this problem?

Commit 452c218 seems to revert #1587, which doesn't seem right 😕

@J12934
Commit 452c218 seems to revert #1587 because the version I was working was old I will folk the latest version and the create a PR
thanks for mentioning


Feat: Team Verifier

Implement a system to insure a Pokemon team is valid for Great, Ultra, or Master League.
Requirements

[ ] Create a frontend component with a dropdown (options: Great, Ultra, Master) and a submit button
[ ] Create a backend endpoint (not with websockets, just express) that accepts a payload of type TeamMember[] and returns EITHER an auth key OR an error

Notes

Submit button should be disabled until there are 6 Pokemon selected
The backend endpoint should loop through each item in the array and cross reference with the data/pokemon JSON object to insure each item has valid moves, level, IVs, and CP for the correct league. We should also make sure there is at most 1 level 51 Pokémon.
The backend endpoint should return a dummy authorization key, eventually this key be required to start a game.

I'll take a look at this. Probably will start with backend logics first.

I'll take a look at this. Probably will start with backend logics first.

Probably best to work with the pokemon api already in teambuilder branch for backend

Probably best to work with the pokemon api already in teambuilder branch for backend

Self-assigned myself here just so it shows up on my profile, we will likely need to work together between this and the team builder :)

Self-assigned myself here just so it shows up on my profile, we will likely need to work together between this and the team builder :)

@jarthur22 sorry I just saw this message. Had a PR open for backend changes: https://github.com/DeveloperKhan/pogo-web-backend/pull/1
Feel free to let me know if you have any concerns.

@jarthur22 sorry I just saw this message. Had a PR open for backend changes: https://github.com/DeveloperKhan/pogo-web-backend/pull/1
Feel free to let me know if you have any concerns.

Oh no it looks great for sure, in the teambuilder branch I added an API with a pokemon route, if you like the look of that and want to expand upon it or add a new route for teams, etc., feel free :)

Oh no it looks great for sure, in the teambuilder branch I added an API with a pokemon route, if you like the look of that and want to expand upon it or add a new route for teams, etc., feel free :)

@jarthur22 Thanks. I tried to expose as API but had some problems. Anyway khan said it's fine to just be in a different handler. I've pushed that change.

@jarthur22 Thanks. I tried to expose as API but had some problems. Anyway khan said it's fine to just be in a different handler. I've pushed that change.


Warning: Refs Must Have Owner

I'm getting the following error:

Uncaught Error: addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component's render method, or you have multiple copies of React loaded

I just installed react-simple-dropdown and used the exact code from the example page (except for the props) http://fauntleroy.github.io/react-simple-dropdown/
Is the problem on my end or has this happened to someone else?
I'm on React 15.5.4, Webpack 2.5.1 and Yarn 0.23.4

I have similar problem. @hundsim Have you figured out a solution to remove the warning?

@lawrencesong what versions of react and react-simple-dropdown are you using? What does your usage of Dropdown and its subcomponents look like?

@Fauntleroy I am using react 15.6.1 and react-simple-dropdown 3.0.0. My usage is very similar to your example.
I got the warning only if I put react-simple-dropdown in my components library and use it in my app. When I usereact-simple-dropdown directly in my app, the warning goes away.

What do you mean by components library? What does putting this into the library entail?

@Fauntleroy I created a component library to use in multiple projects. If I put react-simple-dropdown into my components library, I will see the warning when I used the my component library in my app. Dependencies look like: my app -> my components library -> react-simple-dropdown
If I used react-simple-dropdown directly in  my app, I won't see the warning. Dependencies look like:  my app -> react-simple-dropdown

I'm seeing this as an error after upgrading npm to version 5.7.1 from 5.6.x.
With the previous version I didn't even get the warning, but now it's breaking my whole site.
This is the markup for my menu component, the line generating the problem is the first one:
 <Dropdown className="account-menu" ref="menu">
        <DropdownTrigger onClick={this.handleMenuClick}>Menu</DropdownTrigger>
        <DropdownContent>
          {currentUser.isSignedIn && this.signedInMenu()}
          {!currentUser.isSignedIn && this.signedOutMenu()}
        </DropdownContent>
      </Dropdown>

I see the error also if I remove the ref="menu" prop.
this is the complete error from the console:
VM29719 bundle.js:33311 Uncaught Error: Element ref was specified as a string (trigger) but no owner was set. You may have multiple copies of React loaded. (details: https://fb.me/react-refs-must-have-owner).
    at invariant (VM29719 bundle.js:33311)
    at coerceRef (VM29719 bundle.js:58132)
    at createChild (VM29719 bundle.js:58373)
    at reconcileChildrenArray (VM29719 bundle.js:58678)
    at reconcileChildFibers (VM29719 bundle.js:59047)
    at reconcileChildrenAtExpirationTime (VM29719 bundle.js:59152)
    at reconcileChildren (VM29719 bundle.js:59143)
    at updateHostComponent (VM29719 bundle.js:59394)
    at beginWork (VM29719 bundle.js:59625)
    at performUnitOfWork (VM29719 bundle.js:61620)
    at workLoop (VM29719 bundle.js:61684)
    at HTMLUnknownElement.callCallback (VM29719 bundle.js:51938)
    at Object.invokeGuardedCallbackDev (VM29719 bundle.js:51977)
    at invokeGuardedCallback (VM29719 bundle.js:51834)
    at renderRoot (VM29719 bundle.js:61762)
    at performWorkOnRoot (VM29719 bundle.js:62410)
    at performWork (VM29719 bundle.js:62363)
    at requestWork (VM29719 bundle.js:62274)
    at scheduleWorkImpl (VM29719 bundle.js:62128)
    at scheduleWork (VM29719 bundle.js:62085)
    at scheduleTopLevelUpdate (VM29719 bundle.js:62589)
    at Object.updateContainer (VM29719 bundle.js:62627)
    at VM29719 bundle.js:66622
    at Object.unbatchedUpdates (VM29719 bundle.js:62498)
    at renderSubtreeIntoContainer (VM29719 bundle.js:66621)
    at Object.render (VM29719 bundle.js:66686)
    at Object../src/index.js (VM29719 bundle.js:106272)
    at __webpack_require__ (VM29719 bundle.js:679)
    at fn (VM29719 bundle.js:89)
    at Object.0 (VM29719 bundle.js:107050)
    at __webpack_require__ (VM29719 bundle.js:679)
    at ../node_modules/classnames/index.js.hasOwn (VM29719 bundle.js:725)
    at VM29719 bundle.js:728
invariant @ VM29719 bundle.js:33311
coerceRef @ VM29719 bundle.js:58132
createChild @ VM29719 bundle.js:58373
reconcileChildrenArray @ VM29719 bundle.js:58678
reconcileChildFibers @ VM29719 bundle.js:59047
reconcileChildrenAtExpirationTime @ VM29719 bundle.js:59152
reconcileChildren @ VM29719 bundle.js:59143
updateHostComponent @ VM29719 bundle.js:59394
beginWork @ VM29719 bundle.js:59625
performUnitOfWork @ VM29719 bundle.js:61620
workLoop @ VM29719 bundle.js:61684
callCallback @ VM29719 bundle.js:51938
invokeGuardedCallbackDev @ VM29719 bundle.js:51977
invokeGuardedCallback @ VM29719 bundle.js:51834
renderRoot @ VM29719 bundle.js:61762
performWorkOnRoot @ VM29719 bundle.js:62410
performWork @ VM29719 bundle.js:62363
requestWork @ VM29719 bundle.js:62274
scheduleWorkImpl @ VM29719 bundle.js:62128
scheduleWork @ VM29719 bundle.js:62085
scheduleTopLevelUpdate @ VM29719 bundle.js:62589
updateContainer @ VM29719 bundle.js:62627
(anonymous) @ VM29719 bundle.js:66622
unbatchedUpdates @ VM29719 bundle.js:62498
renderSubtreeIntoContainer @ VM29719 bundle.js:66621
render @ VM29719 bundle.js:66686
./src/index.js @ VM29719 bundle.js:106272
__webpack_require__ @ VM29719 bundle.js:679
fn @ VM29719 bundle.js:89
0 @ VM29719 bundle.js:107050
__webpack_require__ @ VM29719 bundle.js:679
../node_modules/classnames/index.js.hasOwn @ VM29719 bundle.js:725
(anonymous) @ VM29719 bundle.js:728
VM29719 bundle.js:69031 The above error occurred in the <div> component:
    in div
    in Dropdown (at Menu.jsx:144)
    in Menu (created by Connect(Menu))
    in Connect(Menu) (at App.jsx:29)
    in div (created by styled.div)
    in styled.div (at App.jsx:28)
    in div (at App.jsx:26)
    in App (created by Connect(App))
    in Connect(App) (created by Route)
    in Route (at MyApp.jsx:22)
    in Switch (at MyApp.jsx:21)
    in ThemeProvider (at MyApp.jsx:20)
    in Router (created by BrowserRouter)
    in BrowserRouter (at MyApp.jsx:19)
    in Provider (at MyApp.jsx:18)
    in MyApp (at index.js:7)

@lawrencesong Could you solve the issue? Facing the same problem right now.

Is anyone getting past this issue? I can't render component due to this error. Since a ref is part of this component I can't change it.
Code: https://github.com/Fauntleroy/react-simple-dropdown/blob/c43deb49e83197767b96938939bf0ecd4208bba6/src/components/Dropdown.jsx#L89
Error:
Uncaught Error: Element ref was specified as a string (trigger) but no owner was set. This could happen for one of the following reasons:
1. You may be adding a ref to a functional component
2. You may be adding a ref to a component that was not created inside a component's render method
3. You have multiple copies of React loaded
See https://fb.me/react-refs-must-have-owner for more information.
    at invariant (invariant.js:42)
    at coerceRef (react-dom.development.js:7350)
    at createChild (react-dom.development.js:7555)
    at reconcileChildrenArray (react-dom.development.js:7805)
    at reconcileChildFibers (react-dom.development.js:8121)
    at reconcileChildrenAtExpirationTime (react-dom.development.js:8240)
    at reconcileChildren (react-dom.development.js:8231)
    at updateHostComponent (react-dom.development.js:8539)
    at beginWork (react-dom.development.js:8986)
    at performUnitOfWork (react-dom.development.js:11814)

This issue should be resolved with version 3.2.1

@Fauntleroy FYI, the issue is still present in 3.2.3, but the workaround by @tonydiaz fixes it.


Grid layout: multiple editors should be opened in the same group

@bpasero trying out the test build I've encountered this weirdness:

I think both editors should be opened in the same group.

@bpasero 🤔Maybe, I'm not sure. Another possible "solution" could be to do something like this:
Open the first editor in the currently focused group
if ( there are no groups to the side ) {
  create a new group
  open the second editor there
} else {
  calculate the distance of the previous group (where we opened the first editor) from the titlebar
  for each group to the side calculate it's distance from the titlebar
  pick the group with the distance closest to that of the previous group's
  put the second editor there
}

But it sounds overly complicated and the only benefits are that for the particular grid layout displayed in the GIF:

it would have opened the second editor in the group at the top of the second column, rather than the one at the bottom.
it wouldn't have required an entire new column to be added to the grid as your solution proposes.

But there would still be edge cases I think.
Maybe this is just a corner issue not worth addressing, what do you think?

@fabiospampinato well I think the intent of the action is to show default keybindings to the left and configured keybindings to the right. In that case I think it would make sense to actually split the current active editor group in half to get there. The downside is that this could potentially lead to the thing opening up in a very small space.
@sandy081 any thoughts what you would prefer in this case?

Splitting the current active editor group makes sense to me. I think this is what we do at present.


OPA Provider - Support for OAuth2 Client Credential flow for access to HTTP Bundle Servers

Currently the OPA HTTP Provider accepts a fixed authorization which can be a token for authorization with the HexaBundleServer.
The Policy-OPA AuthZen Server takes a certificate PEM to validate tokens provided.
This functionality would allow the provider client to authenticate to an OAuth2 server using the client credentials flow to receive a rotating token for access.
Note: #47 will allow this to be done outside the provider because an http.Client could be configured in the provider which handles token use and refreshing automatically.   This enhancement means that each integration can have it's own client credential and OAuth2 server making it possible to connect to multiple provisioning domains while at the same time simplifying configuration inside of Policy-Orchestrator and Hexa CLI

This is needed to enable OAuth2 grant access to HexaOpaBundle server.


Remove SpecialistDocumentEdition#document_type field

This removes the document_type field from all existing persisted instances using the $unset operator on the entire collection.
Fixes #850.

It might be worth holding off merging this until #849 is deployed.

@floehopper - I've left a comment here that does need addressing before this will run on master, I think. But I hit the "approve" button by mistake, and I can't see a way to undo that. The contents of the migration look fine to me. I think you should merge when you're happy!

@chrislo, @chrisroos: I've rebased this against master, amended the commit to use the new model class name, and force-pushed. It looks as if the CI build doesn't run the migrations, so I'd be grateful if you could test this for me when you have a minute.

The migration ran ok for me on development, @floehopper.

Rebased and force-pushed in preparation for merging.

@floehopper: The migration appears to have run successfully on my laptop:
$ rails c
Loading development environment (Rails <IP_ADDRESS>)
>> SectionEdition.count
=> 3810
>> SectionEdition.where(document_type: '').count
=> 0
>> SectionEdition.where(document_type: 'manual').count
=> 3804
>> SectionEdition.where(document_type: nil).count
=> 6

$ bundle exec rake db:migrate
==  RemoveDocumentTypeFieldFromSectionEditions: migrating =====================
==  RemoveDocumentTypeFieldFromSectionEditions: migrated (2.3068s) ============

$ rails c
Loading development environment (Rails <IP_ADDRESS>)
>> SectionEdition.where(document_type: nil).count
=> 3810
>> SectionEdition.where(document_type: 'manual').count
=> 0

I've also used the MongoDB Compass GUI to view the schema of govuk_content_development.specialist_document_editions and can confirm that document_type is no longer present.

@chrislo & @chrisroos: Thanks for testing the migration for me.
Rebasing against master and force-pushing again in preparation for merging.


jaxlib 0.4.32, gcc 11.4.0, error: expected primary-expression before 'auto'

Description
When compiling jaxlib 0.4.32 with gcc 11.4.0, I see the following errors:
ERROR: /tmp/root/spack-stage/spack-stage-py-jaxlib-0.4.32-zvw3vsmtndcifhorg2fzwot33bnlx4ag/spack-src/jaxlib/cpu/BUILD:31:11: Compiling jaxlib/cpu/lapack_kernels.cc failed: (Exit 1): gcc failed: error executing command (from target //jaxlib/cpu:lapack_kernels)
...
In file included from jaxlib/cpu/lapack_kernels.cc:34:
./jaxlib/ffi_helpers.h: In function 'xla::ffi::Error jax::CheckShape(xla::ffi::Span<const long int>, std::tuple<long int, long int>, std::string_view, std::string_view)':
./jaxlib/ffi_helpers.h:163:25: error: expected primary-expression before 'auto'
  163 |   FFI_ASSIGN_OR_RETURN((auto [batch, size]), SplitBatch1D(dimensions));
      |                         ^~~~
./jaxlib/ffi_helpers.h:93:3: note: in definition of macro 'FFI_ASSIGN_OR_RETURN_UNPARENTHESIZE_IF_PARENTHESIZED'
   93 |   __VA_ARGS__
      |   ^~~~~~~~~~~
./jaxlib/ffi_helpers.h:49:3: note: in expansion of macro 'FFI_ASSIGN_OR_RETURN_IMPL_'
   49 |   FFI_ASSIGN_OR_RETURN_IMPL_(          \
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
./jaxlib/ffi_helpers.h:163:3: note: in expansion of macro 'FFI_ASSIGN_OR_RETURN'
  163 |   FFI_ASSIGN_OR_RETURN((auto [batch, size]), SplitBatch1D(dimensions));
      |   ^~~~~~~~~~~~~~~~~~~~
./jaxlib/ffi_helpers.h:163:25: error: expected ')' before 'auto'
  163 |   FFI_ASSIGN_OR_RETURN((auto [batch, size]), SplitBatch1D(dimensions));
      |                        ~^~~~
./jaxlib/ffi_helpers.h:93:3: note: in definition of macro 'FFI_ASSIGN_OR_RETURN_UNPARENTHESIZE_IF_PARENTHESIZED'
   93 |   __VA_ARGS__
      |   ^~~~~~~~~~~
./jaxlib/ffi_helpers.h:49:3: note: in expansion of macro 'FFI_ASSIGN_OR_RETURN_IMPL_'
   49 |   FFI_ASSIGN_OR_RETURN_IMPL_(          \
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
./jaxlib/ffi_helpers.h:163:3: note: in expansion of macro 'FFI_ASSIGN_OR_RETURN'
  163 |   FFI_ASSIGN_OR_RETURN((auto [batch, size]), SplitBatch1D(dimensions));
      |   ^~~~~~~~~~~~~~~~~~~~
./jaxlib/ffi_helpers.h:165:7: error: 'batch' was not declared in this scope
  165 |   if (batch != expected_batch) {
      |       ^~~~~
./jaxlib/ffi_helpers.h:170:7: error: 'batch' was not declared in this scope
  170 |   if (batch != expected_batch || size != expected_size) {
      |       ^~~~~
./jaxlib/ffi_helpers.h:170:34: error: 'size' was not declared in this scope; did you mean 'std::size'?
  170 |   if (batch != expected_batch || size != expected_size) {
      |                                  ^~~~
      |                                  std::size

System info (python version, jaxlib version, accelerator, etc.)

Python: 3.11.9
Jaxlib: 0.4.32
GCC: 11.4.0

Build log

Thanks for reporting this! I can reproduce the issue when using the same compiler chain and I'll dig into it.

Just a note: we now only test clang in CI, so while we welcome PRs to fix gcc support, it's not something we're actively supporting.
(We standardized on one compiler, clang, everywhere, to lower our support burden for GCC and MSVC issues.)

Good point! Let me see how far I get with this regardless - hopefully a quick fix.
@hawkinsp — Perhaps we could add a more explicit note about our compiler support to the "building from source" docs? It wasn't totally clear to me from that doc what level of cross-compatibility should be expected. WDYT?

@dfm yeah, we should.

https://github.com/google/jax/pull/23697 fixes the gcc build in my environment. It should be in shortly!


spidermonkey_91: Fix compilation by setting the python version

Description of changes
Fixed compilation of spidermonkey_91, a dependancy of couchdb3
Things done
Force spidermonkey 91 to use python3.11 instead of the latest. This fix compilation.
Also checked that the hash of other versions of spidermonkey did not change

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

Closing in favor of #331123. Thanks!


fix s390 again

fix in https://github.com/multiarch/qemu-user-static/pull/31 was undone in https://github.com/multiarch/qemu-user-static/commit/6a9c52b5456fc9325f5de4602d250607890af956
needs an image respin after it goes in.

@MHBauer thank you. I was checking if someone reported the issue

As context, this is blocking our releases https://github.com/kubernetes-incubator/service-catalog/issues/2093 which use the automated build image multiarch/qemu-user-static:register.

/cc @moul @lafin

Thanks for the quick fix! 💖

Thank you. I appreciate your attention.


[ISSUE-637][FEATURE] Change CheckAlive to CheckAvailable and reply checkQuota result

What changes were proposed in this pull request?
Why are the changes needed?

What are the items that need reviewer attention?
Related issues.
Related pull requests.
How was this patch tested?
/cc @related-reviewer
/assign @main-reviewer

ping @waitinfuture

Should we use CheckQuota to replace CheckAvailable?

I prefer CheckQuota

I prefer CheckQuota

updated


Plan output and test feature to reproduce error.

Adding a test to show failure and error

Pull Request Test Coverage Report for Build 977

0 of 0   changed or added relevant lines in 0 files are covered.
6 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.3%) to 61.595%

Files with Coverage Reduction
New Missed Lines
%

terraform_compliance/common/defaults.py
6
83.33%

Totals

Change from base Build 973:
0.3%

Covered Lines:
1174

Relevant Lines:
1906

💛  - Coveralls

Closing as replaced by https://github.com/eerkunt/terraform-compliance/pull/275


changed filepath.join to path.join to work on linux and windows. fix #931

fix #931
In windows the basepath does not get parsed correctly.
Changed filepath.join to path.join to work on windows.
Tested on Windows and Linux not tested on Mac.

changed back filepath as docs say do not use path for filepaths.
I will carry on testing to get a better fix.


Improvements and fixes for stage settings

@glynos @lambiase could you please review my improvements. I have tested it already with a productive schema and it works very nicely 😄


[CLEANUP] fix GAVs for mavenized plugins

@pminutillo @hbfernandes

@smaring I rebased the base branch so this PR has all sorts of conflicts now, i'll update the gav's myself so no need for this anyway.


⚠ Bofrost.lu has degraded performance

In daf51b3, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1553 ms

Resolved: Bofrost.lu performance has improved in 08d30c1 after 6 minutes.


Update token program API

Noticed a few gaps in the token program's API, seemed like simple fixes that I might want in the future so I just did them. Just adds a few getter functions:

TokenAccount.mint() to get the key of an account's mint,
TokenMint.freeze_authority() to get the key of the token mint's freeze authority,
TokenMint.decimals() to get the number of decimals for a token, and
TokenMint.supply() to get a token's supply.

All were pretty simple, but I did of course check to make sure they compiled to the right thing.
Also there was an unrelated typo that I fixed, looks like a copy-paste error. Was just something small in the .py documentation file for TokenMint, no actual effect to anyone's code.

Looks good!


[README] Badges to pub.dev scores

Description
Proposed badges based on pub.dev scores.
I've added a couple to show the idea. If this PR would be welcomed, I'd gladly add all of them.
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[ ] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See [Contributor Guide]).
[ ] All existing and new tests are passing.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] The analyzer (flutter analyze) does not report any problems on my PR.
[ ] I read and followed the [Flutter Style Guide].
[ ] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[ ] I updated pubspec.yaml with an appropriate new version according to the [pub versioning philosophy].
[ ] I updated CHANGELOG.md to add a description of the change.
[x] I signed the [CLA].
[x] I am willing to follow-up on review comments in a timely manner.

I was hoping to re-trigger CI since doesn't seem this change is causing the breakage.

Hi @bruno-garcia what a great idea for a badging tool! However, I think we need to find a resolution to https://github.com/bruno-garcia/badges.bar/issues/2 before we merge this.

That makes sense. I'll close this PR for now to avoid the noise.
I'll raise a new one once the badges are rendered based on a proper API call.
Thanks @mit-mit


Linear probing evaluation

Hey ho,
does anyone have the results for the gird search for linear probling evaluation on ImageNet 1k?

learning rate in {0.0001, 0.0002, 0.0005, 0.001, 0.002, 0.005, 0.01, 0.02, 0.05, 0.1, 0.2, 0.3, 0.5}
output layers in {1, 4}
concatenate average-pooled tokens in {yes, no}

i would like to know the constallation used to reproduce the results of the paper.
best,
Paul

The grid is set by default in the code; it's cheap to execute because there is only a single transformer inference, and multiple linear classifiers are training following the grid, as done in linear.py. You need to use a global batch size of 1024 for this to work properly (as the learning rates are scaled following a scaling rule in the code.

Allright, so in the code i found a batch size of 126 (https://github.com/facebookresearch/dinov2/blob/main/dinov2/eval/linear.py#L140) which is wrong? So you are using a global batch size of 1024 for your training? And the learning rates are rescaled by lr * (bs* num_worlds) / 256 (https://github.com/facebookresearch/dinov2/blob/main/dinov2/eval/linear.py#L232) ? Where num_worlds is 1 in my case on a single gpu?

Exactly !


Make sure that Google Cloud Run deployments do not break after 15th of January

Google Cloud is changing the way authentication to container deployment works:

Starting January 15, 2025, Cloud Run will begin explicitly verifying that users or service accounts creating or updating Cloud Run resources have the permission to access deployed container image(s).

We'll need to check that the relevant service accounts have the appropriate permissions.

As suggested by the email, I looked into the logs and they do not display an error message “User does not have access to image”. According to the email, this means we are fine and should not expect any issues after that date.
In case they do occur, I'll revisit this.


Annotated tags fix

This should make things work for annotated tags for both Git and GitHub drivers. One downside is that I had to move the firstCall boolean in the VcsDriver to get this to work. This might be a blocker because I think it might lead to other problems with private repositories.
It might be a start to fixing that problem, though. The fact that GitHub returns 404 for private repos in some instances has to be something we can get around in some other way. I'd be happy to try and take this to run with it if this fix isn't safe enough.

Thinking about this some more, I realize my "fix" of moving firstCall is definitely quite harmful. I had to check the code to double check. I know this is an ongoing issue, though. What I'd like to do is try to fix this properly. Maybe by having a second argument for getContents so that firstCall can be tied to a specific URL (or specific subset of URLs) and/or a specific repository rather than being global. That or else providing the ability to actively deny the "treat 404 as special needs auth case" feature from kicking in.

Great news! @Seldaek says that "this should be safe." :)


Bug: Inline comment ending a line prevents ignoring of multiline comment later in file

Describe the Bug
This is related to #223 and #269 and is a minimal repro of the issue I was commenting on at the bottom of #223. Multiline comments are not successfully ignored if an inline comment earlier in the file ends a line. Putting a space between inline comment and linebreak does not fix this, putting text between does.
How to Reproduce
Set "paragraph blank lines" rule on OR set "two spaces between lines with content" on. (Not both.)
%% fold %%

## R

%%
HW:: --
T:: 0
%%

Expected Behavior
Linter output for the bottom of the file (starting ## R) should be the same as if the input was:
%% fold %% notComment

## R

%%
HW:: --
T:: 0
%%

Device

[x] Desktop

Note: The file initially had a second multiline block comment above the inline comment which was successfully ignored by both "paragraph blank lines" and "two spaces between lines with content" rules.

Thanks for tracking the cause down. I think I have an easy fix for this. I will let you know once I get a chance to test it out. I am pretty sure all I need to do is specify that the starting perctange signs have to start the line to match the regex and it will be good to go.

I have a fix in place for the above, but I am guessing I should see about being a little more thorough on ignoring obsidian multiline comments. At this time, obsidian single line comments are not ignore by the linter.
I am guessing the following scenarios would need modification to make sure they do not cause issues:

obsidian multiline comment in the middle of a paragraph (likely gets 2 spaces tacked on at the end if not the last line in paragraph or gets a blank line before and after it)
Obsidian multiline at the end of a paragraph will cause the previous line to get 2 spaces on despite it being followed by a comment
Obsidian multiline at the start of a paragraph with more than 1 line will likely get 2 spaces at the end of it and a blank line before and after it despite not counting as paragraph content

Do you think these need fixing @AnnaKornfeldSimpson ?
Thanks for all of the feedback and help pointing out issues.

This issue should be resolved on master. Please let us know if this is not resolved on master or in the next release.


Converting Web Pages with SVG elements

When using PhantomJS the SVG elements appear to be converted into images although I understand PhantomJS can handle SVGs.
How can I sort this out?

Could you please provide a little bit more details? Do you have some problems with Manet or PhantomJS?
I've just tried to capture http://www.w3schools.com/html/html5_svg.asp and it works fine for me.


Text Adjustment and Image Quality

https://learn.microsoft.com/en-us/power-bi/visuals/power-bi-visualization-types-for-reports-and-q-and-a
Gauge charts - text in the description is smashed together. I won't paste it here because it is very weirdly formatted.
Maps - it would be very cool if you can zoom in / expand the different map visuals examples: power-bi-esri-map-theme2.png, azure-maps-visual-hero.png, visual-filled-map.png, power-bi-shape-map2.png.
Scatter-high density - the example image, density-scatter.png, is compressed into unreadability.
R script visuals - the example image, power-bi-r-visual.png, is compressed into almost being unreadable.
In general, a very informative and awesome page!

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 69212c7b-4492-a044-a07b-05266b20e370
Version Independent ID: cc3d001b-1d58-b3b5-62a6-95f3955bf733
Content: Visualization types in Power BI - Power BI
Content Source: powerbi-docs/visuals/power-bi-visualization-types-for-reports-and-q-and-a.md
Service: powerbi
Sub-service: pbi-visuals
GitHub Login: @mihart
Microsoft Alias: mihart

Thanks for your comment, @Zarumoth. This issue has been assigned to the doc author for review.

Thanks for the nice comments! I've fixed the text (an errant dollar sign threw the markdown processor off kilter), and unfortunately the images we have for the maps and others are kind of small (no way to enable zoom in, or a lightbox). Fixes will land in a day or so. Thanks again!


Feature: Implement a TUF client for RSTUF

What is the feature about?
This feature is about implementing a CLI to show the integration with RSTUF API, such as adding/removing targets, and the TUF client downloading targets (as the python-tuf client example)
It was originated and suggested by @simi during a chat on RSTUF channel
The CLI has an issue to [add targets feature](https://github.com/repository-service-tuf/repository-service-tuf-cli/issues/39I.
We always recommend using the python-tuf client example as a reference for TUF Clients.
Some possibilities:

Make the python-tuf more flexible about the hard-coded paths for metadata_base_url and target_base_url @lukpueh

Add to RSTUF CLI a download client for artifacts. @KAUTH

Users could use it for downloading/testing or as a client for some integration, such as CI/CD.

rstuf download [parameters]
User could save in the ~/.rstuf/root.json the trusted Root
User could even have such a configuration file ~/.rstuf/config.yml, which could have a TUF server and the trusted Root (like as done by kube commands)
Have the tofu parameter like the python-tuf example CLI, but with the warning about using it.
Example of CI/CD Integration I imagine   (...)
   run: |
       pip install repository-service-tuf
       rstuf download --metadata http://metadata.example.com project/artifact_v1.2.3.tar.gz
       tar -xvzf artifact_v1.2.3.tar.gz
       cd my_app
       make
   (...)

Create in the RSTUF organization an example client, such as python-tuf

Services it relates to
repository-service-for-tuf-cli
Related tasks
No response
References
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

This task is related only to the  RSTUF CLI.
I created the Feature issue for the RSTUF CLI and all tasks for implementation

https://github.com/repository-service-tuf/repository-service-tuf-cli/issues/334

Comments and follow-up can be done in mentioned issue. Closing this one.


implement different graphql endpoint server side based on hostname

@leebenson I may be missing something obvious but how would you go about using a different graphql endpoint depending on the hostname on the server side so that you don't have all your endpoints in the client code?
For example:
client1.app.com -> https://hostedapi.com/client1
client2.app.com -> https://hostedapi.com/client2

etc...

Apologies for the generic response, but I've released a new v3.0 kit, which has been re-written from the ground up.
It bumps the ReactQL stack to Webpack 4, React 16.4, Apollo Client 2.0, and adds Styled Components, full SSR (even in development), and has been re-written in Typescript. It's leaner, faster and has been brought completely up-to-date.
If you're still using ReactQL (and I appreciate you may not be, given the time lag in my response), I'd recommend checking out the new kit to see if your issue has been answered. If not, please feel free to post a new issue at https://github.com/leebenson/reactql


codes not accepted

I'm using an android8 phone with GA to log into bitfinex.com. Since my OnePlus3t crashed it resetted to factory, after reinstalling GA my codes aren't accepted on the website anymore. Result I'm financially kept hostage, I can't access my savings. Bitfinex is gone dark and has no support.
Now nothing changed related to timezones or something like that.
Is GA related to an emailaddresse?

What was your plan if your phone had been stolen? Probably best to do that. If you trust your savings with amateur money launderers and possibly organized crime then you should have a backup plan.

after reinstalling GA my codes aren't accepted on the website anymore

How do you have any codes at all after a factory reset?

Now nothing changed related to timezones or something like that.

Make sure the time is set correctly.

Is GA related to an emailaddresse?

I'm not sure what the question is. The input to the TOTP algorithm is only the secret and the time.

Well my Google Account didn't change at all. So I just downloaded GA again and added the barcode from my Google Account, hence I get new codes. Which doesn't work with my account on Bitfinex.
I don't understand why it doens't work. My google account isn't changed, my time isn't changed. So why aren't the codes accepted? (I synced the time, it tells me it's already correct)
I added a printscreen of the problem.
https://i.imgur.com/4DXYkOO.jpg

I don't know how Bitfinex works, but are you saying you had one config in GA, that worked for both Google and Bitfinex before the factory reset? That seems… implausible. You more likely had two, and you've now added only one (the one for Google).
But even if that were the case (I don't see how, short of you taking a screenshot of Google's barcode and uploading that screenshot to Bitfinex), when Google issues a new barcode it'll contain a brand new secret.
I'd say your only hope for ever getting into Bitfinex again is:

Brute force the OTP code. If this is our of your expertise then hire someone who can. Probably won't work though, because I'd hope Bitfinex blocks what'd be like half a million login attempts. So never mind. Really only one option:
Get hold of Bitfinex to have them do account recovery for you.

And this is why we have real banks and regulated institutions for our savings.


ERROR Failed to connect to appengine Admin API: 403 Forbidden {

Page: /guides/tutorials/codelabs/appengine-source-to-prod/
Feedback:Hello, I'm trying spinnaker with appengine and following https://www.spinnaker.io/guides/tutorials/codelabs/appengine-source-to-prod/> However I'm stuck at executing the following command:  hal config provider appengine account add my-appengine-account --project $GCP-PROJECT-ID
It errors as follows. Has anyone come across this issue?
$hal config provider appengine account add my-appengine-account --project $GCP-PROJECT-ID

Get current deployment
Success

Add the my-appengine-account account
Failure
Problems in default.provider.appengine.my-appengine-account:
! ERROR Failed to connect to appengine Admin API: 403 Forbidden
{
"code" : 403,
"errors" : [ {
"domain" : "global",
"message" : "Operation not allowed",
"reason" : "forbidden"
} ],
"message" : "Operation not allowed",
"status" : "PERMISSION_DENIED"
}.
Failed to add account my-appengine-account for provider
appengine.

Can you please verify that the App Engine Admin API is enabled on your GCP project? See prerequisites section in that codelab.

Closing - please reopen if the issue is not yet resolved.

Also receiving this after enabling the API as per the earlier part of the tutorial

@sivaprf did you ever find a resolution for this?

@sivaprf did you ever find a resolution for this?

Did anyone ever get back to you? or did you ever get a resolution to this?


v1.3.11 breaks this plugin

As seen on the octoprint forums, the release of OctoPrint 1.3.11 causes this plugin to break, as it sees a temperature reading with no numeric value.
2019-05-18 02:45:05,396 - octoprint.plugins.TemperatureFailsafe - ERROR - TemperatureFailSafe violation, heater: chamber: NoneC < 15C
2019-05-18 02:45:05,403 - octoprint.plugins.TemperatureFailsafe - ERROR - Canceling print

I have the same exact problem since the 1.3.11 update.  Can the pluggin be modified to work properly with the new Octoprint 1.3.11 update?


exposing reactHydrateOrRender api

reactHydrateOrRender is a useful utility for projects with SSR. Also, it takes care of using the correct version of react API. Which is important for projects migrating to react 18.

This change is

Please add changelog and I'll merge and release.


(bug): adding missing fn

In the previous commit, DeepCopyObject was not added. I didn't mention //+kubebuilder:object:root=true on top of NFConfigList.

@josephthaliath Can you check if this is okay?

/lgtm
/approve


how to work

hello can i have example pf code that would allow me to scrape by username and since until dates the tweets and their number of likes  retweet comments and url

Hey there ! Here is an example :
from twitter import TweeterPy
twitter = TweeterPy()

twitter.login("username","password")
# OR generate session manually with auth-token (if if you're unable to log in)
# twitter.generate_session(auth_token="auth_token_here")

# set with_replies to True if you are also interested in tweet replies, if you only need tweets, leave it as it is. Feel free to see total number of tweets you want to get, but default it gets all if set to None.
user_tweets = twitter.get_user_tweets("username_here", with_replies=False, total=None)

If you  want to reuse the logged in session in future without logging in again, check #2
Check Documentation for more use cases/examples.

Seems like you might have two factor authentication enabled or twitter may have detected it as a suspicious login as it's not from your regular browser.
Solution : Use auth-token to generate a session.
How to get auth-token : Go to your browser, login into twitter if not already. Then go to developer tools, (google : how to open developer tools in chrome(your browser name). From there you should see the application menu, In the application menu, copy auth-token from the cookies section from the left panel.
Use auth-token to generate a session :
'''python
from tweeterpy import TweeterPy
twitter = TweeterPy()
twitter.generate_session(auth_token="auth token you copied")
Now you are good to go, add the other code below as you would normally.
user_tweets = twitter.get_tweets("username",total=5)
you can save the session if you don't want to do it every time you run the script
To save the session
twitter.save_session()
If you saved a session, next time you will start as follows
from tweeterpy import TweeterPy
twitter = TweeterPy()
twitter.load_session()
'''

@LinaPalamino1
Unfortunately, it appears that in your comment https://github.com/iSarabjitDhiman/TweeterPy/issues/6#issuecomment-1634466922, you inadvertently shared your username and password publicly. This poses a significant security risk as it exposes your personal account to potential unauthorized access or misuse. It's crucial to act swiftly and remove this sensitive information as soon as possible to protect your account and maintain your online security.
Thank you for your prompt attention to this issue. Stay safe and secure!
Kind regards,
Andi

Seems like you might have two factor authentication enabled or twitter may have detected it as a suspicious login as it's not from your regular browser.
Solution : Use auth-token to generate a session.
How to get auth-token : Go to your browser, login into twitter if not already. Then go to developer tools, (google : how to open developer tools in chrome(your browser name). From there you should see the application menu, In the application menu, copy auth-token from the cookies section from the left panel.
Use auth-token to generate a session :
from tweeterpy import TweeterPy
twitter = TweeterPy()
twitter.generate_session(auth_token="auth token you copied")

# Now you are good to go, add the other code below as you would normally.
user_tweets = twitter.get_user_tweets("username",total=5)

# you can save the session if you don't want to do it every time you run the script
# To save the session
twitter.save_session()

# If you saved a session, next time you will start as follows

from tweeterpy import TweeterPy
twitter = TweeterPy()
twitter.load_session()

If there is still some issue, let me know.

is there any other way to login or get the token without doing it manually?
@huulanka thank u for making me noticed it

Seems like you might have two factor authentication enabled or twitter may have detected it as a suspicious login as it's not from your regular browser.
Solution : Use auth-token to generate a session.
How to get auth-token : Go to your browser, login into twitter if not already. Then go to developer tools, (google : how to open developer tools in chrome(your browser name). From there you should see the application menu, In the application menu, copy auth-token from the cookies section from the left panel.
Use auth-token to generate a session :
from tweeterpy import TweeterPy
twitter = TweeterPy()
twitter.generate_session(auth_token="auth token you copied")

# Now you are good to go, add the other code below as you would normally.
user_tweets = twitter.get_user_tweets("username",total=5)

# you can save the session if you don't want to do it every time you run the script
# To save the session
twitter.save_session()

# If you saved a session, next time you will start as follows

from tweeterpy import TweeterPy
twitter = TweeterPy()
twitter.load_session()

If there is still some issue, let me know.

is there any other way to login or get the token without doing it manually?
@huulanka thank u for making me noticed it

It depends, if you are having login issues just because you have two fac auth enabled, I can add some feature to the code to take care of that. But if it's just a suspicious login, you can try changing the user agent to that of your twitter app or browser you usually use.
Let me try to replicate it, if I could get the same error, I may make changes to the code. In the meantime, please let me know if you have two fac enabled.

Seems like you might have two factor authentication enabled or twitter may have detected it as a suspicious login as it's not from your regular browser.
Solution : Use auth-token to generate a session.
How to get auth-token : Go to your browser, login into twitter if not already. Then go to developer tools, (google : how to open developer tools in chrome(your browser name). From there you should see the application menu, In the application menu, copy auth-token from the cookies section from the left panel.
Use auth-token to generate a session :
from tweeterpy import TweeterPy
twitter = TweeterPy()
twitter.generate_session(auth_token="auth token you copied")

# Now you are good to go, add the other code below as you would normally.
user_tweets = twitter.get_user_tweets("username",total=5)

# you can save the session if you don't want to do it every time you run the script
# To save the session
twitter.save_session()

# If you saved a session, next time you will start as follows

from tweeterpy import TweeterPy
twitter = TweeterPy()
twitter.load_session()

If there is still some issue, let me know.

is there any other way to login or get the token without doing it manually?
@huulanka thank u for making me noticed it

It depends, if you are having login issues just because you have two fac auth enabled, I can add some feature to the code to take care of that. But if it's just a suspicious login, you can try changing the user agent to that of your twitter app or browser you usually use.
Let me try to replicate it, if I could get the same error, I will be able to fix it by making changes to the code. In the meantime, please let me know if you have two fac enabled.

okey thank you brother and if there is any possibility to scrape using since and until by date please tell me

while login i got this error Traceback (most recent call last): File "C:\Users\HP Probook\PycharmProjects\firstproject\TikTokScrap.py", line 55, in twitter.login("","") File "C:\Users\HP Probook\PycharmProjects\firstproject\venv\lib\site-packages\tweeterpy\tweeterpy.py", line 189, in login TaskHandler().login(username, password) File "C:\Users\HP Probook\PycharmProjects\firstproject\venv\lib\site-packages\tweeterpy\login_util.py", line 91, in login task_id = [task_id for task_id in task_flow_mapper.keys() if task_id in tasks][0] IndexError: list index out of range

@ihabpalamino
Duplicate & Fixed : Check #5

Seems like you might have two factor authentication enabled or twitter may have detected it as a suspicious login as it's not from your regular browser.
Solution : Use auth-token to generate a session.
How to get auth-token : Go to your browser, login into twitter if not already. Then go to developer tools, (google : how to open developer tools in chrome(your browser name). From there you should see the application menu, In the application menu, copy auth-token from the cookies section from the left panel.
Use auth-token to generate a session :
from tweeterpy import TweeterPy
twitter = TweeterPy()
twitter.generate_session(auth_token="auth token you copied")

# Now you are good to go, add the other code below as you would normally.
user_tweets = twitter.get_user_tweets("username",total=5)

# you can save the session if you don't want to do it every time you run the script
# To save the session
twitter.save_session()

# If you saved a session, next time you will start as follows

from tweeterpy import TweeterPy
twitter = TweeterPy()
twitter.load_session()

If there is still some issue, let me know.

is there any other way to login or get the token without doing it manually?
@huulanka thank u for making me noticed it

It depends, if you are having login issues just because you have two fac auth enabled, I can add some feature to the code to take care of that. But if it's just a suspicious login, you can try changing the user agent to that of your twitter app or browser you usually use.
Let me try to replicate it, if I could get the same error, I will be able to fix it by making changes to the code. In the meantime, please let me know if you have two fac enabled.

okey thank you brother and if there is any possibility to scrape using since and until by date please tell me

Yes, I am working on it. I will update here once its done, maybe in a couple of hours.

Hey @ihabpalamino
I have added the from_date and to_date functionality as you suggested. But I have added it to the async-await branch as It needed some features from that branch. Besides it needs to be tested before its pushed to the master branch. I might merge it into master branch soon. For the time being, you will have to git clone the async-await branch and you are good to use the feature. You can check the usage here.

Hello @iSarabjitDhiman!
I found this thread and wanted to try out the from_date to_date functionality, but I could not clone the async-await branch (possibly because it's now a stale branch?). Can you help me to proceed?


Oj 1179 allure git hub page for common lambdas

Proposed changes
What changed
We have added Allure gitHub report publish
Why did it change
We didn't have Allure gitHub publish before
Issue tracking

OJ-1179
https://govukverify.atlassian.net/browse/OJ-1179

Checklists
Environment variables or secrets

[ ] No environment variables or secrets were added or changed

[ ] Documented in the README
[ ] Added to deployment repository
[ ] Added to local startup repository

Other considerations

[ ] Update README with any new instructions or tasks

Closing as we no longer use Allure


kie-issues#965: Make sure kie-tools is using the latest timestamped SNAPSHOT from Kogito<PHONE_NUMBER>0-SNAPSHOT)

Closes https://github.com/apache/incubator-kie-issues/issues/965

@tiagobento Good point, I noticed that @ederign just merged his PR.
@ederign I can update the version in kn-plugin-workflow package as well, but I'm not familiar with the go code. What are the required steps to safely update it?

@yesamer I can do that!

@tiagobento I'm afraid that is not enough. I noticed that some versions are present in the go files together with some dependency declarations (some of them have been renamed).
@ederign Thank you! Let me know if you want to include the changes in this PR or you prefer to manage it in a separate one.

Updated to 20240317

Updated to 20240331


Need support for plotOptions

I needed support for plotOptions so I made a couple of relatively simple changes to the source to achieve this.  Are you happy to add this functionality - if so I will submit a pull request?

this issue is still open FYI