Connection test: [ERROR] - dbt-databricks behind proxy

Describe the bug
A clear and concise description of what the bug is. What command did you run? What happened?
dbt debug gives error
Connection test: [ERROR]
1 check failed:
dbt was unable to connect to the specified database.
The database returned the following error:

Runtime Error
Database Error
failed to connect

ENV set
HTTP_PROXY
HTTPS_PROXY
Does not seemed that proxy environment are being used
curl to host/http_path is OK
Steps To Reproduce
In as much detail as possible, please provide steps to reproduce the issue. Sample data that triggers the issue, example model code, etc is all very helpful here.
dbt debug
Expected behavior
A clear and concise description of what you expected to happen.
connection test OK
Screenshots and log output
If applicable, add screenshots or log output to help explain your problem.
System information
The output of dbt --version:
Core:

installed: 1.1.0
latest:    1.1.0 - Up to date!

Plugins:

databricks: 1.1.0 - Up to date!
spark:      1.1.0 - Up to date!

The operating system you're using:
ubuntu
The output of python --version:
Python 3.8.10
Additional context
Add any other context about the problem here.

@thuanvan thanks for filing this. Investigating whether our Python connector supports HTTP proxies. Will get back to you!

getting this in curl test
curl --netrc -v https://adb-53858440276829.9.azuredatabricks.net:443/sql/protocolv1/o/53858440276829/0223-063630-5kdcfacm
Error 500 javax.servlet.ServletException: org.apache.thrift.transport.TTransportException

@thuanvan I verified that we don't support proxy yet. We'll get this prioritized on our roadmap.

Thanks for confirming. Thank you for prioritizing it. We'll look into on how to get a proxy-bypass.

odd. since we have working instances where we go through proxy. Can you elaborate?

@thuanvan I'm waiting for the engineer to come back from vacation. He'll look into it.

I did some analysis previously: The dbt-databricks adaptor is based on thrift protocol. It is RPC not REST. And I cannot find it supports PROXY (in an easy way).
Our team's workaround is to use databricks IP whitelisting to protect the databricks workspace.
Privatelink for databricks is still a beta feature, it might take a while to become GA

@xg1990 @thuanvan we are going to add proxy support to the Python connector first (https://github.com/databricks/databricks-sql-python/issues/22). Then we will add support to dbt-databricks.

When https://github.com/databricks/databricks-sql-python/issues/22 is fixed will this also fixed for this issue?

@thuanvan we're still waiting for https://github.com/databricks/databricks-sql-python/issues/22 to land.

Hey folks just letting you know that we have a fix for this under review in databricks-sql-connector here. The fix will be included in the connector version 2.3.1. If you want to test it in the interim we have a dev version that you can pip install databricks-sql-connector==2.3.1.dev1.

@susodapop I have just encountered this problem, however your suggestion did not fix it unfortunately. I just get a lot of "Hey I was called!" messages before ending up with "failed to connect"

@alexdiem thanks for the report! The hey I was called! message won't be present in the final release 😄
There's not enough information to reproduce your issue in your message. What values did you use for your proxy environment variables? Of course redact any sensitive information.

It is the exact same problem as Thuan has (we are colleagues in the same office), and several others have it as well. I have set
export HTTP_PROXY="http://test:test@REDACTED:8080"
export HTTPS_PROXY="http://test:test@REDACTED:8080"
It is very odd because it used to work, and I did not make any changes to the proxy settings

@msdotnetclr we've actually fixed this in databricks-sql-connector without needing to update the upstream thrift dependency. It needs to merge and be deployed to Pypi, then we'll update the dbt-databricks dependency and proxies will work.

Here's the PR that fixes it databricks-sql-connector: https://github.com/databricks/databricks-sql-python/pull/81

Ah, nice. I only started to play around with the connector this morning and did not get to look into other linked issues. Good to know there is a better fix already!

The fix has merged into databricks-sql-connector and is part of release v2.5.0.
I'll open a PR here that bumps the pysql dependency.


fix(deps): update terraform github.com/terraform-ibm-modules/terraform-ibm-watsonx-saas-da to v1.7.10

This PR contains the following updates:

Package
Type
Update
Change

github.com/terraform-ibm-modules/terraform-ibm-watsonx-saas-da
module
patch
v1.7.9 -> v1.7.10

Release Notes

terraform-ibm-modules/terraform-ibm-watsonx-saas-da (github.com/terraform-ibm-modules/terraform-ibm-watsonx-saas-da)
v1.7.10
Compare Source
Bug Fixes

deps: update terraform terraform-ibm-modules/cos/ibm to v8.14.5 (#217) (ea1844b)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

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

GitHub release
v2.5.27

Your semantic-release bot :package::rocket:


Yaml for POI video does not include the video attachment

Sorry I forgot it. Now it is added in #155 POI Video.  You do not have to replace everything
add this
- target: {fileID:<PHONE_NUMBER>47013306, guid: 007c17ee709168148aa4aa7afd9e1076,
    type: 2}
  propertyPath: videoToShow
  value: bunny_video
  objectReference: {fileID: 0}

and replace bunny_video with ___[poi_v_v_name]___    where the latter is the name of the video file. :)


Add in REST findModelArtifact modelVersionID query param

Resolves #80
Description
Address acceptance criteria in #80
How Has This Been Tested?
Tested with Swagger editor at: https://editor.swagger.io
You can preview with: https://editor.swagger.io/?url=https://raw.githubusercontent.com/opendatahub-io/model-registry/1c8ba43ebb47690a258cce29efd22cf5ea22fa90/api/openapi/model-registry.yaml#operations-ModelRegistryService-findModelArtifact
Merge criteria:

[x] The commits and have meaningful messages; the author will squash them after approval or will ask to merge with squash.
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has manually tested the changes and verified that the changes work

two approvals, no veto, proceeding to merge


Add support for container migration

Add support for container migration
Signed-off-by: Chuck Short<EMAIL_ADDRESS>

This patch doesn't actually add support for migration. It has some more work needed before it supports migration.


Implement chat logs command

Requested

Eh, this should probably go in the secret plugins.

Also what TI said already exists.

Well then

Also, this feature exists, and is documented in the relevant places...


OrientDb locking policy causing a deadlock

td.txt
We are using orient db 2.2.7 on windows OS
We have a multi threaded application where we create graph elements in each thread.
OrientGraphFactory is used to get an instance of transaction graph in each thread.
As per our locking policy each thread will acquire exclusive lock first and then retrieve transactional graph so that only one thread make changes in graph.
After the creation of elements we call shutdown() and release the exclusive lock.
Commit happens after every 50000 edges are created. While committing, orient db is trying to acquire a lock and thread is blocked. We don't see any failures or exceptions anywhere before the commit operation.
I have attached the thread dump.
JVM heap size is 4 gb.
If you need more info, please let me know.

Hi @amandeep-sharma,
This issue is already fixed in latest 2.2.x and develop.

Hi @laa ,
Is it available in 2.2.8 version ?

Hi ,
It will be in next release.
чт, 1 Сен 2016, 8:06 amandeep-sharma<EMAIL_ADDRESS>
Hi @laa https://github.com/laa ,
Is it available in 2.2.8 version ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/orientechnologies/orientdb/issues/6640#issuecomment-243977135,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGaamrhCSudWhQLZ7A0ECbP9EkqHOFeks5qll1UgaJpZM4JxP_4
.

--
Best regards,
Andrey Lomakin, R&D lead.
OrientDB Ltd
twitter: @Andrey_Lomakin
linkedin: https://ua.linkedin.com/in/andreylomakin
blogger: http://andreylomakin.blogspot.com/


client.reconciliation requires proper white-box testing

The current client reconciliation code tests convergence using a bunch of randomizations.
A lot of non-random testing is interesting here to ensure that a few hard cases are handled properly:
[ ] Empty BasisID + no parent ops are acceptable at any server log situation
[ ] Stale BasisID + no parent ops are acceptable at any server log situation
[ ] Stale BasisID + parent works when parent is has same basis ID
[ ] Stale BasisID + parent works when parent has an earlier basis ID.  This has a sub-case where an ancestor has similar constraint (its basis is later than its parent's basis)
[ ] Stale BasisID + parent fails when the basis of parent is later
In addition client log transformation checks:
[ ] In all cases above, empty client log works as expected (client model is advanced)
[ ] in all cases above, with sequential client log (i.e. no intervening server operations)
[ ] in all cases above, with one intervening server operation
[ ] in all cases above, with >one intervening server operation

Donzo


Might be something wrong with docker-ssd.pid

Here is a docker-ssd.pid in my machine, when I run:
dockerd -s overlay
I notice that pid in docker.pid is right, while pid in docker-ssd.pid is wrong.
And when I try to remove docker, let's say v1.9.1 for example. I got
Removing lxc-docker-1.9.1 ...
[....] Stopping Docker: dockerNo process in pidfile '/var/run/docker-ssd.pid' found running; none killed.

I guess maybe docker-ssd.pid isn't useless, so is there anything wrong with docker-ssd.pid?
Output of docker version:
Client:
 Version:      1.12.0-dev
 API version:  1.24
 Go version:   go1.5.4
 Git commit:   af60a9e-unsupported
 Built:        Tue May 17 02:04:00 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.0-dev
 API version:  1.24
 Go version:   go1.5.4
 Git commit:   af60a9e-unsupported
 Built:        Tue May 17 02:04:00 2016
 OS/Arch:      linux/amd64

Output of docker info:
Containers: 2
 Running: 0
 Paused: 0
 Stopped: 2
Images: 62
Server Version: 1.12.0-dev
Storage Driver: overlay
 Backing Filesystem: extfs
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge null host
Kernel Version: 3.18.20-nce-amd64
Operating System: Debian GNU/Linux 7 (wheezy)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.818 GiB
Name: github
ID: WHKL:7W4G:OV6K:LBH5:M2UL:UIWR:257S:JWB5:QU74:5WYE:4FUE:VW3I
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Insecure Registries:
 <IP_ADDRESS>/8

Additional environment details (AWS, VirtualBox, physical, etc.):
physical
Steps to reproduce the issue:

dockerd -s overlay
cat /var/run/docker.pid
cat /var/run/docker-ssd.pid

Describe the results you received:
pid in docker-ssd.pid is wrong
Describe the results you expected:
pid in docker-ssd.pid is right
Additional information you deem important (e.g. issue happens only occasionally):
This problem also exists in any lower docker version.

Not found docker-ssd.pid file  on docker 1.11.1 with overlay

this may be something from the old version; the lxc-docker package, was that installed from out repositories, or from the debian repositories? I found this old report in the Debian bug tracker; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815246, and some other reports https://www.google.nl/search?rls=en&q="docker-ssd.pid"&ie=UTF-8&oe=UTF-8&gfe_rd=cr&ei=TTs7V_T1LufG8AfG64P4CQ#q="docker-ssd.pid"&start=0

@thaJeztah , thanks for your help, it's surely sth from old version.

It happens to me while doing DIND with overlay.
root@f8af2af6d427:/# service docker stop
 * Stopping Docker: docker
No process in pidfile '/var/run/docker-ssd.pid' found running; none killed.

root@f8af2af6d427:/# ls /var/run/docker-ssd.pid
ls: cannot access '/var/run/docker-ssd.pid': No such file or directory

root@f8af2af6d427:/# ls /var/run/docker.pid
/var/run/docker.pid

ps -aux output:
root          7  0.0  0.0 1376040 43592 ?       Sl   16:56   0:00 dockerd --host=unix:///var/run/docker.sock --storage-driver=overlay
root         31  0.0  0.0<PHONE_NUMBER>0 ?        Ssl  16:56   0:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.so


Improper thumbnail

Describe the bug
A proper thumbnail for test benches is not set.
Expected behavior
A more appropriate thumbnail must be shown, probably a default image for such objects may also seem fine. But a broken image looks odd.
Screenshots

Desktop :

OS: Windows
Browser :chrome,
Version : 73.0.3683.75

Are you working on this issue? Yes

Yes, please have a default image.


Calcualting size of object by using color frame and depth frame

I am running darknet to detect a few objects. I am using the realsense L515 camera. I would now like to calculate the size (length and breadth) of the detected object using the realsense L 515. How do I go about this? I have the bounding box around the objects obtained from darknet. Will that help in any way?
This is my code
import darknet
import cv2
import numpy as np
import pyrealsense2 as rs

"""##############. Function definitions. ##################"""

#Define the detection function
def image_detection(image, network, class_names, class_colors, thresh):
    # Darknet doesn't accept numpy images.
    # Create one with image we reuse for each detect
    width = darknet.network_width(network)
    height = darknet.network_height(network)
    darknet_image = darknet.make_image(width, height, 3)

    #image = cv2.imread(image_path)
    image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
    image_resized = cv2.resize(image_rgb, (width, height),interpolation=cv2.INTER_LINEAR)

    darknet.copy_image_from_bytes(darknet_image, image_resized.tobytes())
    detections = darknet.detect_image(network, class_names, darknet_image, thresh=thresh)
    darknet.free_image(darknet_image)
    image = darknet.draw_boxes(detections, image_resized, class_colors)
    return cv2.cvtColor(image, cv2.COLOR_BGR2RGB), detections

# Initialize and declare the neural network along with data files, config files etc
quantity_apples = []
config_file = "/home/jetson/Desktop/pano_l515/yolov4.cfg"
data_file = "/home/jetson/Desktop/pano_l515/coco.data"
weights = "/home/jetson/Desktop/pano_l515/yolov4.weights"

network, class_names, class_colors = darknet.load_network(
        config_file,
        data_file,
        weights,
        batch_size=1
    )

## Realsense from align-depth2color.py

# Create a pipeline
pipeline = rs.pipeline()

# Create a config and configure the pipeline to stream
#  different resolutions of color and depth streams
config = rs.config()

# Get device product line for setting a supporting resolution
pipeline_wrapper = rs.pipeline_wrapper(pipeline)
pipeline_profile = config.resolve(pipeline_wrapper)
device = pipeline_profile.get_device()
device_product_line = str(device.get_info(rs.camera_info.product_line))

config.enable_stream(rs.stream.depth, 1024, 768, rs.format.z16, 30)

if device_product_line == 'L500':
    print(device_product_line)
    config.enable_stream(rs.stream.color, 1280, 720, rs.format.bgr8, 30)
else:
    config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)

# Start streaming
profile = pipeline.start(config)

# Getting the depth sensor's depth scale (see rs-align example for explanation)
depth_sensor = profile.get_device().first_depth_sensor()
depth_scale = depth_sensor.get_depth_scale()
print("Depth Scale is: " , depth_scale)

# We will be removing the background of objects more than
#  clipping_distance_in_meters meters away
clipping_distance_in_meters = 1 #1 meter
clipping_distance = clipping_distance_in_meters / depth_scale

# Create an align object
# rs.align allows us to perform alignment of depth frames to others frames
# The "align_to" is the stream type to which we plan to align depth frames.
align_to = rs.stream.color
align = rs.align(align_to)

# Streaming loop
try:
    for i in range(0,2):
        # Get frameset of color and depth
        frames = pipeline.wait_for_frames()
        # frames.get_depth_frame() is a 640x360 depth image

        # Align the depth frame to color frame
        aligned_frames = align.process(frames)

        # Get aligned frames
        aligned_depth_frame = aligned_frames.get_depth_frame() # aligned_depth_frame is a 640x480 depth image
        color_frame = aligned_frames.get_color_frame()

        # Validate that both frames are valid
        if not aligned_depth_frame or not color_frame:
            continue

        depth_image = np.asanyarray(aligned_depth_frame.get_data())
        color_image = np.asanyarray(color_frame.get_data())

        dn_frame_width = 416
        dn_frame_height = 416

        frame_width = color_image.shape[1]
        frame_height = color_image.shape[0]

		#### Passing the image to darknet
        image, detections = image_detection(color_image, network, class_names, class_colors, thresh=0.05)

        for i in range(len(detections)):
            xc_percent = detections[i][2][0]/dn_frame_width
            yc_percent = detections[i][2][1]/dn_frame_height
            w_percent = detections[i][2][2]/dn_frame_width
            h_percent = detections[i][2][3]/dn_frame_height
            xc = xc_percent*frame_width
            yc = yc_percent*frame_height
            w = w_percent*frame_width
            h = h_percent*frame_height
            xmin = xc - w/2.0
            ymin = yc - h/2.0
            xmax = xc + w/2.0
            ymax = yc + h/2.0

            #If object is detected, increase the count of the object in the frame
            if detections[i][0] == "apple":
                cv2.rectangle(color_image, (int(xmin),int(ymin)),(int(xmax),int(ymax)),(0,0,255),2)
                cv2.putText(color_image, "apple", (int(xmin), int(ymin-10)), cv2.FONT_HERSHEY_SIMPLEX, 0.8, (0,0,255), 2)

        #cv2.imwrite(output_path, frame)
        # Render images:
        #   depth align to color on left
        #   depth on right
        depth_colormap = cv2.applyColorMap(cv2.convertScaleAbs(depth_image, alpha=0.03), cv2.COLORMAP_JET)
        images = np.hstack((color_image, depth_colormap))
        cv2.imwrite("test_images.jpg", color_image)
        #cv2.namedWindow('Align Example', cv2.WINDOW_NORMAL)
        #cv2.imshow('Align Example', images)
        key = cv2.waitKey(1)
        # Press esc or 'q' to close the image window
        #if key & 0xFF == ord('q') or key == 27:
        cv2.destroyAllWindows()
            #break
finally:
    pipeline.stop()

This is the output file

How do i calculate the 2d dimensions roughly from the image?

Hi @akshayacharya97  Do you still require assistance with this case, please? Thanks!

Case closed due to no further comments received.

Hi @MartyG-RealSense ,
I'm doing the project that same as this case : using realsense L515 camera and YOLO to detect object and then calculate object dimension of that object (width, height, length).
I studied "Box Measurement" example but it needs chessboard backdrop and not moving object, so it's not suitable for my case.
Could you guide me how to measure dimension of an object (width, height and length) when that object is detected and has bounding box ?
Thank you in advance.

Hi @michaelnguyen11  If you are able to make use of a commercial solution, Intel has a non-chessboard box measuring solution for L515 called Dimensional Weight Software.
https://www.intelrealsense.com/dimensional-weight-software/

Hi @MartyG-RealSense ,
Thank you for your quick response.
I have 2 Intel Realsense cameras : L515 and D435i, I'm trying to demonstrate measuring object dimension on both camera. With L515 camera, I can use the Dimensional Weight Software solution.
However, in case of D435i camera, could you guide me how to measure the object dimension when the object is detected and got bounding box ?
Thank you in advance.

There was a RealSense user who calculated box dimensions from the angles between the box faces after generating a point cloud of it.
https://github.com/IntelRealSense/librealsense/issues/5506
The commercial product LIPSMetric Parcel Kiosk took the approach of using OpenVINO Toolkit for their RealSense-powered box measuring solution.
https://www.lips-hci.com/lipsmetric
Also on the commercial front, MobileWorkxs ofer a box dimensioning tool based around the D415.
https://www.mobileworxs.com/products/volume-dimensioning-3d-camera-system/

Hey @akshayacharya97, I am also working on something similar where I try to detect objects using a realsense camera. Do you think you can share the dataset of the apples with me? Thanks a lot :)

Hi @sampreets3  My understanding is that YOLOv4 has a pre-trained dataset called coco.data that contains data about fruit, including apples.  The YOLOv4 setup of @akshayacharya97 references this dataset.
https://github.com/lrf008/yolov4/blob/master/README.md#how-to-evaluate-ap-of-yolov4-on-the-ms-coco-evaluation-server

Hey @MartyG-RealSense , oh okay in that case I can start from a model pretrained on COCO dataset and expect some results. Thanks for your help :)


feat: support-id-is-htmlelement

@PawanKolhe
This project is awesome.Please check pr.

@PawanKolhe This PR is not good, because if option id can be a HtmlElement, there will be ambiguity.I think we can change the id to el, then make it support id string or HtmlElement.How do you think about that?


SAML2Client: Logout redirect action handles POST bindings incorrectly

There exists the following block for the SAML2 client:
protected RedirectAction retrieveLogoutRedirectAction(WebContext context, SAML2Profile currentProfile, String targetUrl) {
       ...
        if(this.configuration.getDestinationBindingType().equalsIgnoreCase("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST")) {
            location = adapter.getOutgoingContent();
            return RedirectAction.success(location); //this is problematic
        } else {
            location = adapter.getRedirectUrl();
            return RedirectAction.redirect(location);
        }
    }

If the binding is HTTP-POST, the RedirectAction returned from that call above is buggy, because if I then do httpAction.perform(...), pac4j basically ends up executing a HttpAction.ok("redirection via 200", context, this.content); which is wrong for this case. A post binding is supposed to actually do a POST. Not just write stuff out back out to the response.
Do we want to introduce a new POST type for private RedirectAction.RedirectType type;?

Also the else clause needs to check and be activated only for a redirect binding. All other bindings must be thrown as errors for now, as unsupported types (and they are a bit less common than others anyway)

My feeling is that we should have a RedirectAction.post(location) which would do a RedirectAction.success(formPage) where formPage is an HTML page with automatic form POSTing to location. Does that sound good?

Who designs the formPage?
Why not just accept a url and post data to it?

Also RedirectAction.post(location) is rather misleading because it says "I have successfully handed off the post to a page to do the post" where it should more naturally say "I have successfully POSTed to a url".

We design the formPage as a simple form with Javascript automatic form submission. Example:
<form action="post.php" name="FNAME" method="post">
<input type="text" name="example22" value="YOURVALUE" />
<input type="submit" />
</form>
<SCRIPT TYPE="text/JavaScript">document.forms["FNAME"].submit();</SCRIPT>

As it's done for SAML with the Velocity template. In fact, the signature of the method should be: RedirectAction.post(String location, Map<String, Strin> data).
Yes, we could post to an URL directly with data. It depends on our needs. Don't we need to do that SAML action from the browser to send the cookies as well?

Hello,
I think Jérôme is right. The post (form submission) had to be done from the client side. Thus we send an OK 200 response and the client executes the JavaScript to perform a post to the IdP (post binding).
If we don't want this, we can send a redirect reponse and the browser will do the redirection (redirect binding).
Regards,
Matthieu

Adding @jkacer which planned to work on SAML logout. BTW, any progress?

Hi, I should start working on it this week.
Thanks for adding me here!

@jkacer Any update on this? Did you confirm the bug?

Sorry, not much free time so far, so I've only done some preparation work. I will confirm when I get to it. I firts thought this was just for my information. Sorry for the delay, gentlemen!

It seems the code has been slightly refactored since this issue was created.
The referenced piece of code is now in SAML2LogoutActionBuilder.getLogoutAction(), which can be called from IndirectClient.getLogoutAction(), if logoutActionBuilder is an instance of SAML2LogoutActionBuilder.
Please correct me if I am wrong.

Sure. But the core question remains: what does the adapter.getOutgoingContent() method returns? Is it only an URL or a full HTML page with form submission? I have tried to figure out by performing a SAML central logout myself, but it throws an exception (it might come from my SAML configuration, though).
So this still needs to be tested and checked.

Yes, sure, I agree. That was just a note... I tried too with the J2E Demo project but the metadata used there has no Single Logout address. I'll have to get new/different metadata, maybe to a different IdP.

A question has come to my mind: Can we call getDestinationBindingType() on the client's configuration in order to decide what binding to use? It's currently used for Login; may it happen that the bindings for Login and Logout are different on the IdP side? Shouldn't we have 2 configured bindings (login + logout) in that case? Maybe it's a rare case, I don't know...

Currently, you have the J2E demo using TestShib and the Spring MVC demos with Okta, I guess this latter might be easier to configure for tests.
We can choose the binding via the setDestinationBindingType method on the SAML2ClientConfiguration class. But it's currently meant to apply globally. We could add a setLogoutDestinationBindingType method if necessary.

@jkacer I just submitted a PR to support POST request on the RedirectAction: https://github.com/pac4j/pac4j/pull/840, it might be helpful here.

Thank you, I'll check the Spring MVC demo if the SLO URL is there in the metadata. In the meantime, I was installing the newest Shibboleth locally, with the intention to run the single logout test against it. (I was not sure Test shib supported it, as the metadata does not contain the URL).
Concerning the new binding, it was just an idea/remark, if we can have it shared, I'm OK with it. It's not important at the moment...

I doubt that TestShib supports logout and I don't see any logout URL in the Okta metadata (https://github.com/pac4j/spring-webmvc-pac4j-boot-demo/blob/master/src/main/resources/metadata-okta.xml). I think it will be much easier for you to use a local IdP.

Finally installed Shibboleth 3.3 on local Windows :-) I could not get over it with the automatic Windows MSI installer so I had to install and configure it half-manually. But it's running now. The SLO URLs are in the metadata but commented out; I hope the URLs will work after uncommenting them...

Already talking Shibboleth <--> PAC4J locally but it seems I'll need an LDAP server. First I thought I would set up IP-based authentication but it's not working for me, so I'm getting SAML responses with status Requester. I'll get one tomorrow and install locally.

Why the LDAP server?

ah you mean for authentication! Sorry. I typically use this:
https://github.com/mmoayyed/dummy-jaas-loginmodule
Or this:
https://github.com/jtgasper3/docker-images/tree/master/389-ds
Or this:
https://github.com/UniconLabs/unboundid-ldap-server

Thank you very much, Misagh! I tried the dummy JAAS login module, reconfigured Shibboleth slightly and voila! It gives me an assertion, I am logged in :-)
It saved me a few hours of work installing OpenLDAP or a similar product...
The remaining 2 links look cool, although I did not test them.

Not a problem! Glad you found it useful.

Finally I was able to execute the full roundtrip and unfortunately I cannot confirm the original statement of this bug.
I have: j2e-pac4j-demo + j2e-pac4j updated an hour ago, running on localhost; Shibboleth 3.3 running on localhost too.
What I see happening after invoking the single Logout is (I have modified the port and added a context, please ignore these changes):

GET to http://localhost:8888/j2e-pac4j-demo/centralLogout?url=http://localhost:8888/j2e-pac4j-demo/?forcepostlogouturlafteridp - 200 OK - I get a form that POSTs itself to Shibboleth using JavaScript, a SAMLRequest is a field of the form.
POST to https://duck-notebook.prague.kacer.biz:8443/idp/profile/SAML2/POST/SLO - Shibboleth's Single Logout, seems to be working too. I get a very similar form that POSTs itself to j2-pac4j-demo, a SAMLResponse is a field of the form.
POST back to http://localhost:8888/j2e-pac4j-demo/callback?client_name=SAML2Client - returns 500 Internal Server Error with a very simple error page.

Stacktrace for (3):
org.pac4j.saml.exceptions.SAMLException: Response instance is an unsupported type 	at org.pac4j.saml.sso.impl.SAML2DefaultResponseValidator.validate(SAML2DefaultResponseValidator.java:128) 	at org.pac4j.saml.sso.impl.SAML2WebSSOMessageReceiver.receiveMessage(SAML2WebSSOMessageReceiver.java:77) 	at org.pac4j.saml.sso.impl.SAML2WebSSOProfileHandler.receive(SAML2WebSSOProfileHandler.java:35) 	at org.pac4j.saml.client.SAML2Client.lambda$clientInit$0(SAML2Client.java:110) 	at org.pac4j.core.client.BaseClient.retrieveCredentials(BaseClient.java:61) 	at org.pac4j.core.client.IndirectClient.getCredentials(IndirectClient.java:123) 	at org.pac4j.core.engine.DefaultCallbackLogic.perform(DefaultCallbackLogic.java:79) 	at org.pac4j.j2e.filter.CallbackFilter.internalFilter(CallbackFilter.java:62) 	at org.pac4j.j2e.filter.AbstractConfigFilter.doFilter(AbstractConfigFilter.java:81)
So I think the POST redirect is done OK. What is failing is the handler that recieves the SAML Response back from the IdP because the validator is not able to validate this type of response (I haven't looked at it decoded yet).
FYI, I added the the following line to the SP metadata which is registered on the IdP side, not 100% sure if the URL is OK or if it needs to be something else:
<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="http://localhost:8888/j2e-pac4j-demo/callback?client_name=SAML2Client" />
If it's wrong then it might have caused the problem.
Does all this make sense to you?

Hi,
Indeed, the response validator has not been adapted for logout response. Neither the generation of the metadata part (I also added it manually).
As I already said, for me it seems right to get a 200 OK, and then let the JS make the post call.

OK. Thanks for the feedback. Indeed, the logout callback URL of the app is the callback URL, but it should be able to handle SAML logout requests, which seems not to be the case yet. Keep us posted.

I think we can close this issue and open a new one: https://github.com/pac4j/pac4j/issues/876

Hello everyone and thank you for your answers. I was not sure about the logout URL, it's clear now. The JS auto-POST is also OK for me, there is other software that does the same (Shibboleth, for instance).
I'll move on to #876 ; I'll keep you updated...


chore: change vite to vitest on contributing.md

@patak-dev there's no commit convention template

@dammy001 the convention is here https://github.com/vitest-dev/vitest/blob/main/CONTRIBUTING.md#pull-request-guidelines
Would you check how you are generating the PRs? It is better to start from an up-to-date main, create a branch, and then PR so GitHub doesn't show unrelated commits here. Thanks!

@patak-dev I mean this line "Commit messages must follow the commit message convention so that changelogs can be automatically generated". The link to that commit message convention is broken

Oh, gotcha, I'll add that, thanks!


Use DCGM CPU affinity fields rather than local filesystem

Signed-off-by: Douglas Wightman<EMAIL_ADDRESS>

This changes the CPUAffinity output from:
20-39,60-79
To:
{20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79}
Definitely more verbose but also more programmatically friendly IMO.


Chaturbate Extractor Returns a 403 error

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting that a supported site is broken
[X] I've verified that I'm running yt-dlp version 2023.03.04 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[ ] I've read about sharing account credentials and I'm willing to share it if required

Region
United States
Provide a description that is worded well enough to be understood
When running yt-dlp with Chaturbate, the site now returns a 403 error. It was working a couple of weeks ago with the command shown below.
It seems as though Chaturbate updated something and the Extractor now needs updating too.
Happy to provide more information if needed.
$ yt-dlp -vU https://chaturbate.com/siswet19/

Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', 'https://chaturbate.com/siswet19/']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[392389b7d] (pip)
[debug] Python 3.10.6 (CPython x86_64 64bit) - Linux-5.15.0-58-generic-x86_64-with-glibc2.35 (OpenSSL 3.0.2 15 Mar 2022, glibc 2.35)
[debug] exe versions: ffmpeg 4.4.2 (setts), ffprobe 4.4.2, phantomjs 1.9.8
[debug] Optional libraries: Cryptodome-3.17, brotli-1.0.9, certifi-2022.12.07, mutagen-1.45.1, secretstorage-3.3.1, sqlite3-2.6.0, websockets-10.4
[debug] Proxy map: {}
[debug] Loaded 1786 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>yt-dlp is up to date<EMAIL_ADDRESS>[Chaturbate] Extracting URL: https://chaturbate.com/siswet19/
[Chaturbate] siswet19: Downloading webpage
ERROR: [Chaturbate] siswet19: Unable to download webpage: HTTP Error 403: Forbidden (caused by <HTTPError 403: 'Forbidden'>); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
  File "/home/computer/.local/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 694, in extract
    ie_result = self._real_extract(url)
  File "/home/computer/.local/lib/python3.10/site-packages/yt_dlp/extractor/chaturbate.py", line 39, in _real_extract
    webpage = self._download_webpage(
  File "/home/computer/.local/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 1097, in _download_webpage
    return self.__download_webpage(url_or_request, video_id, note, errnote, None, fatal, *args, **kwargs)
  File "/home/computer/.local/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 1048, in download_content
    res = getattr(self, download_handle.__name__)(url_or_request, video_id, **kwargs)
  File "/home/computer/.local/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 882, in _download_webpage_handle
    urlh = self._request_webpage(url_or_request, video_id, note, errnote, fatal, data=data, headers=headers, query=query, expected_status=expected_status)
  File "/home/computer/.local/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 839, in _request_webpage
    raise ExtractorError(errmsg, cause=err)

  File "/home/computer/.local/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 821, in _request_webpage
    return self._downloader.urlopen(self._create_request(url_or_request, data, headers, query))
  File "/home/computer/.local/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3742, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/lib/python3.10/urllib/request.py", line 525, in open
    response = meth(req, response)
  File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.10/urllib/request.py", line 563, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.10/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

Are you sure about this:

I've checked that all provided URLs are playable in a browser with the same IP and same login details

I can't reproduce the issue:
$ yt-dlp -F "https://chaturbate.com/siswet19/"
[Chaturbate] Extracting URL: https://chaturbate.com/siswet19/
[Chaturbate] siswet19: Downloading webpage
[Chaturbate] siswet19: Downloading m3u8 information
[info] Available formats for siswet19:
ID EXT RESOLUTION │   TBR PROTO │ VCODEC        VBR ACODEC    ABR
─────────────────────────────────────────────────────────────────
0  mp4 426x240    │  488k m3u8  │ avc1.42c015  488k mp4a.40.2  0k
1  mp4 854x480    │ 1258k m3u8  │ avc1.4d401f 1258k mp4a.40.2  0k
2  mp4 1280x720   │ 3396k m3u8  │ avc1.4d401f 3396k mp4a.40.2  0k
3  mp4 1280x720   │ 5046k m3u8  │ avc1.4d4020 5046k mp4a.40.2  0k
4  mp4 1920x1080  │ 7828k m3u8  │ avc1.64002a 7828k mp4a.40.2  0k

@bashonly Thank you for providing feedback.
I operate behind a VPN and tried multiple VPN locations with no success before submitting this ticket. I have further tested more VPN locations and found one that is working. So it has something to do with Chaturbate blocking the IP address of the specific VPN servers. Therefore yt-dlp has no issues here.
It is worth noting, in both cases, the browser had no problems and the video was playable.

I've been having the same problem, I have to keep trying different vpn ip's until one works. They must be trying to crack down on shows getting recorded and uploaded to recurbate and rectube.

Getting it due to cloudflare. Remember, you can always search the page's source for the playlist.m3u8 url and decode it and use that instead of the room url.

@biggestsonicfan I can't reproduce
If you're on the latest version of yt-dlp, can you please run it with --dump-pages --verbose --print-traffic and send me both a verbose log and the page dumps
You can find me on discord gamer.191, although you might need to first join the yt-dlp discord server

I can't get it to 403 again at the moment lol :shrug:

I don't think this is a yt-dlp issue. I think this is an issue of blocked networks, as carried out by Chaturbate's Cloudflare protections.
Run yt-dlp on a residential network, you'll likely get through.
Run yt-dlp behind a known VPN, or on a VPS, and you'll get blocked (403).

I can't get it to 403 again at the moment lol 🤷

Don't worry about it

I don't think this is a yt-dlp issue.
The cloud server is being served a Cloudflare challenge

The fact that yt-dlp can't solve Cloudflare captchas is a known issue, and one that will hopefully be solved by #7595
In the mean time, see https://github.com/yt-dlp/yt-dlp/wiki/FAQ#im-getting-http-error-403-and-the-site-has-an-open-issue-on-the-tracker-thats-labeled-cloudflare-related-what-can-i-do
On a side note, the curl command will most likely work if you use --user-agent "jhgfdcsfvgbhjnuikjytgfdcfvgbhju" (replace that string with whatever you want). Can you please test if it does

Interesting. Mine stopped working like 2 weeks ago

Also as I said, it still works, the method here still works, on the same network. https://sleazyfork.org/en/scripts/441079-chaturbate-enhancer

Also as I said, the method here still works, on the same network. https://sleazyfork.org/en/scripts/441079-chaturbate-enhancer

Why would you hotlink https://sleazyfork.org/en/scripts/441079-chaturbate-enhancer to the url https://github.com/yt-dlp/yt-dlp/issues/url, that makes absolutely no sense...

It's a common mistake people make due to GH's comment editor UI

Also as I said, the method here still works, on the same network. https://sleazyfork.org/en/scripts/441079-chaturbate-enhancer

Why would you hotlink https://sleazyfork.org/en/scripts/441079-chaturbate-enhancer to the url https://github.com/yt-dlp/yt-dlp/issues/url, that makes absolutely no sense...

I don't normally post issues, didn't realize it was a big deal ¯_(ツ)_/¯

To get back on track, you said "Also as I said, the method here still works, on the same network"
What did you mean "Also as I said" as your only previous comment was "Interesting. Mine stopped working like 2 weeks ago". I am trying to understand how Chaturbate Enhancer relates to the 403 error issue or is a workaround?
Analyzing the code, it uses the getVideo() function to grab the first indexed element within that object and passes it to captureStream(), which just returns the captureSream() method of the video streaming object.
So it's a simple script that taps into the already playing html5 element's player to use a baked-in routine to save data. Alright.
Looking a little further, it still seems to analyze whether or not hls_source exists in the json metadata, which is exactly what yt-dlp already does.
So it appears the browser, when using Chaturbate normally, gets around the 403 errors, and the Enhancer simply injects scripts into already existing html5 elements. That won't be helpful to yt-dlp which is establishing a new, headless, connection. Especially when their methods for obtaining the video data url are identical

BTW - using --force-ipv4 makes it work

Oh hey, that's a new one, will give that a try next time it fails. Hadn't thought of that.

I also recently started getting occasional 403 errors. --force-ipv4 did not help.
What did help, however, was switching to the new api (issues/10359) and removing Sec-Fetch-Mode from std_headers.
here's quick and dirty patch
diff --git a/yt_dlp/extractor/chaturbate.py b/yt_dlp/extractor/chaturbate.py
index 864d61f9c..263265d93 100644
--- a/yt_dlp/extractor/chaturbate.py
+++ b/yt_dlp/extractor/chaturbate.py
@@ -46,30 +46,18 @@ def _real_extract(self, url):
         video_id, tld = self._match_valid_url(url).group('id', 'tld')

         webpage = self._download_webpage(
-            f'https://chaturbate.{tld}/{video_id}/', video_id,
-            headers=self.geo_verification_headers())
+            f'https://chaturbate.{tld}/get_edge_hls_url_ajax/', video_id,
+            data=f'room_slug={video_id}'.encode(),
+            headers=self.geo_verification_headers()|{"X-Requested-With": "XMLHttpRequest"})

         found_m3u8_urls = []

-        data = self._parse_json(
-            self._search_regex(
-                r'initialRoomDossier\s*=\s*(["\'])(?P<value>(?:(?!\1).)+)\1',
-                webpage, 'data', default='{}', group='value'),
-            video_id, transform_source=lowercase_escape, fatal=False)
-        if data:
-            m3u8_url = url_or_none(data.get('hls_source'))
+        data = self._parse_json(webpage, 'data')
+        if data and data["success"]:
+            m3u8_url = url_or_none(data.get('url'))
             if m3u8_url:
-                found_m3u8_urls.append(m3u8_url)
-
-        if not found_m3u8_urls:
-            for m in re.finditer(
-                    r'(\\u002[27])(?P<url>http.+?\.m3u8.*?)\1', webpage):
-                found_m3u8_urls.append(lowercase_escape(m.group('url')))
-
-        if not found_m3u8_urls:
-            for m in re.finditer(
-                    r'(["\'])(?P<url>http.+?\.m3u8.*?)\1', webpage):
-                found_m3u8_urls.append(m.group('url'))
+                found_m3u8_urls.append(data["url"])
+

         m3u8_urls = []
         for found_m3u8_url in found_m3u8_urls:
@@ -84,8 +72,7 @@ def _real_extract(self, url):
                  r'<div[^>]+id=(["\'])defchat\1[^>]*>\s*<p><strong>(?P<error>[^<]+)<'],
                 webpage, 'error', group='error', default=None)
             if not error:
-                if any(p in webpage for p in (
-                        self._ROOM_OFFLINE, 'offline_tipping', 'tip_offline')):
+                if data.get('room_status') == 'offline':
                     error = self._ROOM_OFFLINE
             if error:
                 raise ExtractorError(error, expected=True)
diff --git a/yt_dlp/utils/networking.py b/yt_dlp/utils/networking.py
index 933b164be..9554ea281 100644
--- a/yt_dlp/utils/networking.py
+++ b/yt_dlp/utils/networking.py
@@ -83,7 +83,6 @@ def __contains__(self, key):
     'User-Agent': random_user_agent(),
     'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
     'Accept-Language': 'en-us,en;q=0.5',
-    'Sec-Fetch-Mode': 'navigate',
 })

looks like it does:)


Incorrect result for export string

Hi!
module.exports = "string";
transformed to string, not to "string"

Can you create a gist demonstrating your issue?

Hi! Now, i can't repeat problem, i think, it was my mistake.


Add switch to enable verbose logging for VFS

Add a flag like -Dorg.gradle.vfs.log=verbose or org.gradle.vfs.verbose=true to enable additional console logs about the VFS's performance during and before the build.
The logs should be printed at the end of the build, capturing both the data remaining in the VFS as well as the data we started the build with.

cc: @gradle/execution

We've decided to call the new property:

org.gradle.vfs.verbose=true

We should log the number of VFS roots dropped at the end of the build (and maybe even list them).

Another thing to log is how many consecutive builds have been running with --watch-fs enabled.


Add Turborepo

I have noticed on a lot of projects that build times are slow. Turborepo would be a great tool to speed up and cache builds. It is not something that engineers need to be concerned with and will just work. I do not see this as another tool that engineers need to worry about understanding.

From my perspective the main benefit of turbo actually comes when you start to use a shared cache in CI 🤔
We are using it in a few places already like in Headstart and UI Kit. But so far we've not explored it on client projects much 🤔

@fabiankaegy I agree but I do think it's useful locally too. I have used it on a few client projects. I think it's useful locally for when you run commands like lint, format, build, etc locally because the command will not even run if the files have not changed since the last cached result. So it decreases the feedback loop and makes things faster


Investigate json encode/decode in storage sample

there is a line where a response is json decoded and then immediately decoded. This is sloppy and should be investigated.

this will be fixed by #17


Allow HTML in fields help block

Done, thank you!

To you, for the awesome backpack tools!

Planning on creating a SublimeText plugin/snippets for CRUD (details in https://github.com/Laravel-Backpack/crud/issues/31). Just curious - what editor/IDE do you use?

The last year I switched from Sublime to phpStorm, that I think is a superior IDE.
I have to do a look to Atom, but not for now. However, is interesting this plugin you have in mind! It's like en Emmet for Backpack


Monster update

This has been on and off the back burner for a year or more. Don't even try to do a code compare. A vast array of new features. 100% code completion. Warning--unit tests take ~ 10 minutes to run, mainly because of the painfully exhaustive set of combinations of options tested in the *pyparser.py files.

This is a monster-update on the monster update.

I never before took a serious look at help(julian) appears to the user, and obviously it required some big cleanup. What I see now looks reasonable. The names of the individual source files are exposed, which is a minor issue because they were only for the purpose of organizing all the function definitions. In some cases, I renamed the source file so that it would be potentially clearer to the user. That's necessary because help(julian) only tells part of the story, and you have to type help(julian.<name>) to see the further details.

Although help(<name>) hides symbols beginning with an underscore, there does not appear to be a way to hide entire source files. Nevertheless, the ones not needing exposure now begin with an underscore so that is at least a sign to the user not to bother with, for example, help(julian._utils).

Also to help with the appearance of help, I moved all the deprecated function names, left over from v1, to a new file called DEPRECATED.py. I think that makes some sense and it means that help(julian.DEPRECATED) will tell you about all those functions.

The one leap seconds kernel is now in julian/assets, whereas the other random documents, not really needed for a distribution, are in the top-level documents subdirectory. If there is ever a "naif0013.tls" file, all you have to do is add it to julian/assets and everything should work with the new kernel.

So maybe there are advantages of pytest over unittest, but meanwhile you broke a lot of my workflow by deleting all the "if __name__ == '__main__'" sections at the bottom of my test files. In the future, please leave them.

By the way, I am not sure how you got away without a file tests/__init__.py, given that there is an import of one function between the test files. For now, it seems workable that I will use __init__.py in place of what I used to call unittester.py. For my purposes, I can run all the tests with "coverage run tests/__init__.py". Crucially, I can also run the test files individually without much thought.

I am not totally sold on coverage branch testing. There were a lot of places where I say something like:

    if validate:
        <perform test and maybe raise an exception>

If that's all the branch does, there's not really much point in proving that everything is OK if you skip the validation. That all being said, the coverage is now 100% and I only used "# pragma: no branch" in places where I really had to.

I have come to appreciate why the world's Windows programmers are pissed off about int32 vs. int64. The number of places where this comes up is large, and sometimes workarounds are quite difficult. For example, there are numerous places where I need to convert an array-like to an array without necessarily knowing whether it will yield ints or floats. Normally, np.asarray(arg) does exactly what I want. Unfortunately, on Windows, I have to re-check to see if it converted to ints and, if so, repeat the call with an explicit dtype of "int64". Check out how I modified _utils/_int() if you're interested.

This issue did reveal an unexpected bug, arising from the fact that integer math ops using integer arrays leave the dtype unchanged. This can have unintended consequences.

In [1]: a = np.arange(10, dtype='uint8')

In [2]: b = a - 1

In [3]: b
Out[3]: array([255,   0,   1,   2,   3,   4,   5,   6,   7,   8], dtype=uint8)

The upshot is that now all int arrays are converted to int64 no matter what.

OPUS has been appropriately modified and all tests pass


Show Running Extension > Start Extension Host Profile button does nothing

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.83.0-insider (Universal)
OS Version: Mac 13.4.1 (22F82)

Steps to Reproduce:

Type Cmd-Shift-P Developer: Show Running Extension
Near the top right there's a circle icon. Hovering over it shows the tooltip "Start Extension Host Profile". Click this button.

Expected:
It starts an extension host profile, turning the icon into a square. Clicking the icon again shows an extension profile, showing which extensions too the most time.
Actual:
Clicking the button does nothing.

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.82.3. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.82.3. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Ok, I reproduced this with the latest insiders build & updated the PR description with my insiders version.

This sends the SIGUSR1 signal which on windows doesn't exist. We have or used to have an alternative for that the utility process might not support that?

Sure.
Copied the pid of Code - Insiders:

Ran the above commands:
~
➜ kill -s SIGUSR1 61595

~
➜ lsof -Pan -p 61595 -i
COMMAND    PID          USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
Electron 61595 brianmalehorn  103u  IPv4 0x50cd223cc34c0f55      0t0  TCP <IP_ADDRESS>:56607-><IP_ADDRESS>:443 (ESTABLISHED)
Electron 61595 brianmalehorn  115u  IPv4 0x50cd223cc0ce2e25      0t0  TCP <IP_ADDRESS>:9229 (LISTEN)

Great, the output indicates the process has the inspector agent started on <IP_ADDRESS>:57279. This confirms that utility process is able to start the inspector. Now as a next step, can you help us confirm if a client is able to connect to this agent,

Restart VSCode
Copy the pid of extensionHost from the VSCode process explorer
In system terminal, run kill -s SIGUSR1 <pid-of-extension-host>
In system terminal, run lsof -Pan -p <pid-of-extension-host>  -i.
Copy the host:port from the previous output
Open chrome or edge browser and visit chrome://inspect page
Click Open Dedicated developer tools for Node
In the Connection tab enter the host:port that was copied
The developer tools should now connect to this process and in the chrome://inspect/#devices page you should see an entry electron/js2c/utility_init under the Remote Devices section

Great, the output indicates the process has the inspector agent started on <IP_ADDRESS>:57279. This confirms that utility process is able to start the inspector. Now as a next step, can you help us confirm if a client is able to connect to this agent,

Restart VSCode
Copy the pid of extensionHost from the VSCode process explorer
In system terminal, run kill -s SIGUSR1 <pid-of-extension-host>
In system terminal, run lsof -Pan -p <pid-of-extension-host>  -i.

~
➜ kill -s SIGUSR1 56009

~
➜ lsof -Pan -p 56009 -i
COMMAND     PID          USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
Code\x20- 56009 brianmalehorn   43u  IPv4 0x50cd223cbea06e25      0t0  TCP <IP_ADDRESS>:56567 (LISTEN)

Copy the host:port from the previous output
Open chrome or edge browser and visit chrome://inspect page
Click Open Dedicated developer tools for Node
In the Connection tab enter the host:port that was copied
The developer tools should now connect to this process and in the chrome://inspect/#devices page you should see an entry electron/js2c/utility_init under the Remote Devices section

Thanks for the instructions. Looks like everything connected OK. I can even use the devtools to capture a performance profile, which can be used as a workaround to find slow extensions.

Thanks for confirming, @jrieken looks like the inspector agent is working fine for the user, so indicates an issue in the inspector client code path. For this action, the client we use is the profilingservice based on v8-inspect-profler https://github.com/microsoft/vscode/blob/f1c3b1dcf85e3b6ddb24b7dce0e4b122e8ce6233/src/vs/workbench/contrib/extensions/electron-sandbox/runtimeExtensionsEditor.ts#L144 , might be worth checking if there is a failure in this path.

At least for me this seems to be because the profiler interface is trying to connect to ::1 where the devtools port is only listening on <IP_ADDRESS>. Probably some extra information needs to be passed in this module: https://github.com/jrieken/v8-inspect-profiler/blob/master/index.js#L39

@deepak1556 Hi, just a question, the extension host profile command works well for me, but how should I analyze extension host performance in vscode.dev or code-server? Seems vscode.dev didn't have this command, and Chrome developer tools could record performance, but it records all the information, and not include extension host related information.

Chrome devtools records performance, you need to look in the area for the web worker extension host.

Got it! Thanks!


RHEL 8 /etc/yum.conf broken symbolic link

Affected Puppet, Ruby, OS and module versions/distributions

Puppet: server: 2<IP_ADDRESS>-2bionic, client: puppet-agent-6.24.0-1.el8
Ruby: server: 2.5.1, client: 2.5.5-106
Distribution: server: Ubuntu 18.04, client: RHEL 8.4
Module version: 5.3.0

How to reproduce (e.g Puppet code you use)
Any yum::config option will cause the issue.
Example is:
yum::config { 'gpgcheck':
ensure => 1,
}
What are you seeing
Starting in RHEL 8, a new major release of yum, now known as dnf, was released. As part of this change, /etc/yum.conf is no longer directly responsible for configuring the package manager settings. The legacy file /etc/yum.conf is kept as a symbolic link to the new package manager configuration file /etc/dnf/dnf.conf.
When using yum::config, the symlink at /etc/yum.conf is removed and a new regular file is created in its place. This new file will not be read by dnf, since it only looks at /etc/dnf/dnf.conf by default (can override with dnf -c <config file> option).
Before puppet agent -t run:
[root@client ~]# ls -l /etc/yum.conf
lrwxrwxrwx. 1 root root 17 Nov  2 01:35 /etc/yum.conf -> /etc/dnf/dnf.conf
After puppet agent -t run:
[root@client ~]# ls -l /etc/yum.conf
-rw-r--r--. 1 root root 99 Nov  2 01:26 /etc/yum.conf
What behaviour did you expect instead
/etc/yum.conf symbolic link should be kept.
[root@client ~]# ls -l /etc/yum.conf
lrwxrwxrwx. 1 root root 17 Nov  2 01:35 /etc/yum.conf -> /etc/dnf/dnf.conf
The module should either:

modify the target of the symbolic link, rather than the symbolic link itself (similar to sed --follow-symlinks)
add an option to change the location of the package manager configuration file (e.g., RHEL7 => /etc/yum.conf, RHEL8 => /etc/dnf/dnf.conf) https://github.com/voxpupuli/puppet-yum/blob/099c488912be27d9b1745e010b5a3eace3f6d2de/manifests/config.pp#L39

Output log
Any additional information you'd like to impart

Hi @tjmullicani
I cannot reproduce this:
[root@home ~]# puppet apply test.pp
Notice: Compiled catalog for lxplus8s16.cern.ch in environment production in 0.05 seconds
Notice: /Stage[main]/Main/Yum::Config[gpgcheck]/Augeas[yum.conf_gpgcheck]/returns: executed successfully
Notice: Applied catalog in 0.58 seconds
[root@lxplus8s16 ~]# ls -l /etc/yum.conf
lrwxrwxrwx. 1 root root 12 May 27 03:06 /etc/yum.conf -> dnf/dnf.conf

── puppet-yum (v5.4.0)
├── puppetlabs-concat (v7.2.0)
└── puppetlabs-stdlib (v8.2.0)

puppet agent --version
7.12.0


Image annotation cannot be displayed correctly

@ChristianMarzahl I modified Python 3 running, allowed hosts, mapped IP, and tried local docker compose up-d. after success, I created and uploaded the image set, but the image could not be displayed correctly. The example is as follows.

At the same time, when clicking the button, the browser does not send a request. For example, when clicking Create comment type and create a new product, it often occurs that the browser does not send a request.

Hi,
please rebuild the Docker container, I fixed a huge bug yesterday evening regarding the conversion and upload of images.
Second: You have to add "Products" and "AnnotationTypes" to actually annotate something.
https://www.youtube.com/watch?v=4XdWLaqy9UA&list=PLuA57h8TbJncBwIg_IJIP61EeAdYt4DSs&index=4&t=0s
With kind regards,
Christian

@get-Resource Please leaf me a note if the problem still exists or is fixed now.
With kind regards,
Christian

thank. have already been solved


Fix: updated markdown frontmatter url

when the frontmatter url is updated, it doesnt update the DB. this fixes that

also adds some debug dumps for the backend


Skip from_json overflow tests for [databricks] 14.3

Fixes #11533.
This commit addresses the test failures reported in #11533, for the following tests:

json_matrix_test.py::test_from_json_long_structs()
json_matrix_test.py::test_scan_json_long_structs()

These failures are a result of #11711.  When the JSON parser attempts to read integral struct members from a JSON file, if the parsing leads to an overflow, then the STRUCT column value is deemed null on Databricks 14.3 (i.e. without spark-rapids active).  This behaviour differs from that exhibited by Apache Spark versions exceeding 3.4.1.
This commit breaks out the problematic JSON test rows into a separate file, whose read is tested in an xfail for Databricks 14.3.  The remaining rows are tested on all versions.
The true fix for #11711 will be addressed later.

Build

Build

Build

The CI runs are fine.  The failure in (400, 17) is on account of https://github.com/NVIDIA/spark-rapids/issues/11722.


KYLIN-4712 Optimize CubeMetaIngester.java CLI

Proposed changes
Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue.
Types of changes
What types of changes does your code introduce to Kylin?
Put an x in the boxes that apply

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have create an issue on Kylin's jira, and have described the bug/feature there in detail
[ ] Commit messages in my PR start with the related jira ID, like "KYLIN-0000 Make Kylin project open-source"
[ ] Compiling and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If this change need a document change, I will prepare another pr against the document branch
[ ] Any dependent changes have been merged

Further comments
If this is a relatively large or complex change, kick off the discussion at user@kylin or dev@kylin by explaining why you chose the solution you did and what alternatives you considered, etc...

Pull Request Test Coverage Report for Build 6370

0 of 11 (0.0%)  changed or added relevant lines in 1 file are covered.
7 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.0009%) to 28.062%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

tool/src/main/java/org/apache/kylin/tool/CubeMetaIngester.java
0
11
0.0%

Files with Coverage Reduction
New Missed Lines
%

core-dictionary/src/main/java/org/apache/kylin/dict/lookup/cache/RocksDBLookupTable.java
1
81.08%

tool/src/main/java/org/apache/kylin/tool/CubeMetaIngester.java
2
0%

core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/MemDiskStore.java
4
78.12%

Totals

Change from base Build 6367:
-0.0009%

Covered Lines:
26253

Relevant Lines:
93554

💛  - Coveralls

LGTM


phaser example Create From Sprite Config random generator issue

Version

Phaser v3.16.2

window 10

chrome
firefox
Description

trying to use phaser random with sprite config generator by following phaser example
it gives this error in chrome
phaser.min.js:1 Uncaught TypeError: Cannot read property 'integerInRange' of null
in firefox:
TypeError: n.RND is null
Example Test Code
let config = {
key: 'textureKey',
x: { randInt: [ 0, 10 ] },
y: { randInt: [ 0, 10 ] },
};
this.make.sprite(config);

Additional Information
related phaser 3 example
https://labs.phaser.io/view.html?src=src\animation\create from sprite config.js&v=3.16.2

Thank you for submitting this issue. We have fixed this and the fix has been pushed to the master branch. It will be part of the next release. If you get time to build and test it for yourself we would appreciate that.


Sometimes it happens, What can I sove this? Thanks a lot.

HTTPConnectionPool(host='xxx', port=xxx): Max retries exceeded with url: /Upload/Processing.aspx (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f79f9c9c1d0>: Failed to establish a new connection: [Errno 113] No route to host',))
Traceback (most recent call last):
File "/data/apps/browser_9090/UuwiseUtil.py", line 131, in uploadPic
resp = requests.post("http://" + self.UPLOAD_SERVER + "/Upload/Processing.aspx", data=data , files=files, headers=headers)
File "/home/python27/lib/python2.7/site-packages/requests/api.py", line 112, in post
return request('post', url, data=data, json=json, **kwargs)
File "/home/python27/lib/python2.7/site-packages/requests/api.py", line 58, in request
return session.request(method=method, url=url, **kwargs)
File "/home/python27/lib/python2.7/site-packages/requests/sessions.py", line 502, in request
resp = self.send(prep, **send_kwargs)
File "/home/python27/lib/python2.7/site-packages/requests/sessions.py", line 612, in send
r = adapter.send(request, **kwargs)
File "/home/python27/lib/python2.7/site-packages/requests/adapters.py", line 504, in send
raise ConnectionError(e, request=request)
ConnectionError: HTTPConnectionPool(host='xxx', port=xxx): Max retries exceeded with url: /Upload/Processing.aspx (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f79f9c9c1d0>: Failed to establish a new connection: [Errno 113] No route to host',))

This error is systemic: it means that when we attempted to connect to the IP address returned by DNS, the operating system told us it didn't know how to get there. This is not really a thing we can fix: when you get this error, you should just retry.

Thanks for your answer.
It just happens sometimes.
And sometimes It throws exceptions below, Whether it is related to HTTP persistent connection？
ConnectionError: HTTPConnectionPool(host='xxx', port=xxx): Max retries exceeded with url: xxx (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f2f225a1b50>: Failed to establish a new connection: [Errno 111] Connection refused',))
Thanks~

It's not related to the persistent connections: that's caused by the remote peer refusing a TCP connection when we attempt to connect to it.

OK, I got it , thanks a lot.


Add build time and hash to binaries

This allows unambiguously identifying tsp binaries. It also records whether the binary was built with local changes or from a clean checkout.

Btw, as a general rule I try to document all flags in the man pages but for a flag like -version it's probably okay to relax this.

@masiulaniec can you take a look at f5a7a92? If it's ok I'll add it to the rest of the man pages.

Commented.


Fix top banner and navigation styles/fixes

Fix #172
Test URLs:

Before: https://main--hubblehomes-com--aemsites.hlx.live/
After: https://issue-172--hubblehomes-com--aemsites.hlx.live/

Please take a look at the issue where the click area is now being overlapped by an element preventing the click from hitting the menu button.   There is also rendering issues when the menu is open.
https://github.com/user-attachments/assets/c4f28c34-e7ae-40b9-a91c-a93526d8b403

Mobile view (emulationg iphone 12 Pro) when you click burger then menu overlays the logo and burger button.

Was it decided to not show the right column (fragment)?   If so we should remove the reference.
Even if we aren't using it, I think we should still leave it as an option for the customer to use.  We can just put an example in the sidekick library.

Was it decided to not show the right column (fragment)? If so we should remove the reference.
Even if we aren't using it, I think we should still leave it as an option for the customer to use. We can just put an example in the sidekick library.

Weird, I thought I removed this reference

I had created a branch for my own observation for removing the spacing https://github.com/aemsites/hubblehomes-com/commit/08f96721fbc954e0ae73507d305143f191efcf79 it's here if you need it.

Mobile view (emulationg iphone 12 Pro) when you click burger then menu overlays the logo and burger button.

fixed

Please see the video I added in my previous comment.

@bhellema please check that this is fixed

@samuelopra Looks good - but there's a conflict that needs to be resolved


Upgrading hugo version to 0.30.2

Fixes #16.

Should be available in Docker Hub shortly.  Thanks for your contribution!


quoteCharacter option not working

Trying to use single quotes, but I keep getting double quotes
var htmlmin     = require('gulp-htmlmin');

gulp.task('templates', function() {
    var opts = {
        collapseWhitespace: true,
        quoteCharacter: "'"
    }
    return gulp.src('./src/templates/**/*.html')
        .pipe(htmlmin(opts))
        .pipe(gulp.dest('./dist/templates'));
});

Hi @anthony-dandrea  did you find a workaround ?
I have this:  <input type="hidden" name="" value='{"keyname":"CAPTCHAJAVER","fallback":"true","orgId":"00Do0000000b6Io","ts":""}'>
In the output the single quotes are replaced for double quotes, this breaks the code.


[Composer] Create project option is not working in the welcome page

Description:
when we click on the create project option in the welcome page, it will not loading the create project window.
Steps to reproduce:
Go to the Welcome page
Click on the Create project option
There's no create project window and it will just open a bal file
Affected Versions:
ballerina-tools-0.970.0-beta15-SNAPSHOT
OS, DB, other environment details and versions:
macOS High Sierra
ballerina-tools-0.970.0-beta15-SNAPSHOT
JDK 1.8.0_152
Suggested Labels (optional):
Type/Bug
Severity/Blocker
Priority/High
Affected/ballerina-tools-0.970.0-beta15-SNAPSHOT

Cannot reproduce in the latest master


(PUP-4673) Use proxy when fetching latest for pip packages

Puppet uses an xmlrpc request to ask pypi what the latest possible
version of the package is. This adds some inspection of the environment
to optionally set proxy information for the xmlrpc request. Future work
could refactor this to use pip search.

Cancelled?

Wtf? I think appveyor maybe got confused by the open/close/re-open of the PR? I can retrigger.

Also is this the right place for this? I don't know what procedure is.

Yeah it was confused. I clicked through to the link on this PR, hit re-build and it said #3983 is closed. Which is true, but this is #3984. So instead I clicked the "build again with latest commit on this branch" and let's see if it figures it all out.
Appveyor has been super handy, but there are some rough edges.

Maybe? I feel like we do that type of thing all the time, and I haven't seen this before. But ... dunno.
As for branch, I'm okay targeting 3.x, but can you open a ticket and reference it in the commit message like "(PUP-1234) Use proxy ...."?
Thanks! (Btw, haven't looked at the content of the commit yet and about to head out. Just getting the paperwork out of the way :))

CLA signed by all contributors.

Hi @nibalizer.  Thanks for the contribution.  The fix looks good, but appears to be missing a test.  Could we add an example that simply stubs the environment variable and ensures the proper overload of  XMLRPC::Client.new2 gets called with the right hostname and port?

We discussed this PR in triage this morning.  In Puppet stable (4.2) we currently have an implementation of the utility module Puppet::Util::HttpProxy that can be used to respect http_proxy and no_proxy environment variables, along with user and password settings for the proxy from settings.  I don't know if we want to keep this PR's implementation for 3.x when a common implementation already exists in 4.x.
It doesn't seem like the XMLRPC::Client class can pass a user or password to the proxy (I assume the user and password arguments to new3 are for the request itself, not for the proxy) though :/

@peterhuene I believe I have written code that is actually ruby now, and not python. :)
As for the correct way to solve this, I think the /real/ way to do this it to change the provider to shell out to the pip search function so that pip can evaluate if the package is latest or not. I'm not sure what the life of 3.x is and if changes like that would be landable on 3.x. Certainly on 4.x I think its the way to go.
I am a bit biased on where things land because a 3.x change is going to consumable by me, and a 4.x change won't help me solve problems for some time.
Please let me know how you'd like me to proceed. I can also show up to the triage next week if that helps.

I chatted a bit with the pip maintainers. There isn't a good way right now to ask pip what pending upgrades are available. pip list --outdated will tell us everything that has optional upgrades, however its format is explicitly not stable right now.
The pip toolmasters are open to commits to lock down or add behaviour to make management with CM easier, but those features would only land on new pip, leaving us in a weird spot with which pip versions puppet supports.
One thing that did come out of the conversation is that curling the way we are doing is more or less right. They do request that we use the json api instead of the xml api because the xml hits their server every time and generates load, whereas the jsonapi stuff can be cached in fastly.

@peterhuene I took a stab at writing the test... failed pretty hard. Can you point me to a place in the code where this kind of testing is already in place? That was I can copy from that.

@nibalizer Would you be up for changing the pip provider to use the json api? It would make it easier to backport this to 3.x and merge up cleanly to stable & master, and allow us to use puppet's http connection handling, e.g. authenticating proxies.

@joshcooper sure thing. I'll take a stab at that in the next few days.

@nibalizer Still working on this? Just checking in

@HAIL9000 Ya poking at it now. Hoping to be able to spend some time on this during puppethack. I'll reach out when I have intelligent questions.

Well here is a json-functional component. I'm still (as usual) murky on what testing to do where, maybe someone can assist me during #puppethack on that.

@nibalizer Hey, saw there was an update on this but it looks like Travis is still failing. Have you had a chance to take a look at the spec failures?

@HAIL9000 only a bit. I'm a super novice when it comes to rspec/spec. I'll try to bang on that when I get a chance. If someone could point me in the right direction that would be awesome!

@nibalizer Do you think this is something you can get into shape per our comments above? If not we'd probably be willing to take it over, since this is clearly a Real Bug(tm)

@branan yea if you guys want to run with it please be my guest. Sorry I haven't been able to get the spec tests into shape, although it sounds like the implementation is going to get reworked. How is the best way to give you push access to the PR? Do you wanna just close this and(you) create a new one?

@nibalizer cool - we'll add this to our triage bucket and talk about it at our next planning meeting. Closing this PR for now.


f-droid doesn't update from 1.8.0 to .6

it says
io.ktor.client.plugins.ClientRequestException:
Client request(GET https://mirror.fcix.net/f...

Currently the Acode version on f-droid is 1.9.0 so I think this bug could be closed now.


[AddressLowering] Handle mark_unresolved... inst.

In the fullness of time, AddressLowering should never see such instructions because they will be eliminated after diagnostics.  Until that time, though they need to be handled.

@swift-ci please test

@swift-ci please test


fix: fix compute sa roles

Enables compute service identity
Grants Compute service identity artifact reader at artifact registry due autopilot cluster
Bumps provider to 6.6 to avoid CSR errors

/gcbrun

/gcbrun

has equivalent changes: https://github.com/GoogleCloudPlatform/terraform-google-enterprise-application/pull/274

has equivalent changes: #274

That's fine, we can use this PR if it passes.

/gcbrun

/gcbrun


Add TryFromBytes::try_ref_from_bytes_with_elems

Codecov Report
Attention: Patch coverage is 0% with 23 lines in your changes missing coverage. Please review.

Project coverage is 88.01%. Comparing base (38e64d2) to head (9e37a27).

Files with missing lines
Patch %
Lines

src/lib.rs
0.00%
23 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1740      +/-   ##
==========================================
- Coverage   88.36%   88.01%   -0.35%
==========================================
  Files          16       16
  Lines        5810     5833      +23
==========================================
  Hits         5134     5134
- Misses        676      699      +23

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


apiVersion stored in variable is not recognized

We have a huge template file that creates an Azure Data Factory with many resources inside.
Since we need to specify apiVersion for each resource, and we didn't want to duplicate the value everywhere, we opted to store it in a variable:
"variables": {
    "apiVersion": "2018-06-01"
}

Then we reference that variable in each resource, e.g.:
"apiVersion": "[variables('apiVersion')]"

Unfortunately, this breaks the ARM extension's capabilities:

(now it doesn't load typing suggestions, etc.)

@Michael-Kuritzky thanks a bunch for taking the time to enter this issue and apologies that this is affecting you.
This is a known / duplicate issue that we intend on fixing. I am going to go ahead and close this issue and we can track here - https://github.com/microsoft/vscode-azurearmtools/issues/485 .
Thanks again.

@Michael-Kuritzky BTW, note that we do currently support most apiProfiles, might be worth considering.


Public cloud: Move a how-to guide from a specific cloud to a more generic location

GitHub repo: https://github.com/canonical/ubuntu-cloud-docs
The repo contains multiple projects (one per cloud and a generic one called 'all-clouds'). A specific how-to guide under the 'google' project (Check if your Ubuntu image has addressed a CVE) needs to be moved to the 'all-clouds' project since the instructions in the how-to guide are generic and applicable to all clouds.

@k-dimple I'd like to work on this issue.

Sure @activus-d that'll be great! Please give it a go and let me know if you have any questions.
The 'all-clouds' project does not include a 'how-to' section and we won't be creating that till we get more content. So currently you can add this how-to guide to the main list of content that you see on the left navigation bar on the published version of all-clouds

Also @activus-d, you might want to check out the contribution guidelines for these projects in case it helps:

How to contribute to the 'all-clouds' project
How to contribute to the 'google' project

Also @activus-d, you might want to check out the contribution guidelines for these projects in case it helps:

How to contribute to the 'all-clouds' project
How to contribute to the 'google' project

They will surely be helpful. Thanks for sharing @k-dimple

@k-dimple While trying to run checks on the new changes I made to the documentation, the PROJECT=all-clouds make woke command prompted me to enter a password:
Installing "woke" snap...

Password:

Assuming that you are running the checks on your local machine, it should be the password of the logged in user (i.e. you?). Just use the password that you would use whenever you try to install any package.

Yes, I was running the checks on my local machine and used my password but got the error:
Installing "woke" snap...

Password:
sudo: snap: command not found
make: *** [woke-install] Error 1

Subsequently, I downloaded Snapcraft by following the instructions on Install snapcraft on macOS. I then rerun the PROJECT=all-clouds make woke command, but got the error:
Installing "woke" snap...

Password:
Interacting with snapd is not yet supported on darwin.
This command has been left available for documentation purposes only.
make: *** [woke-install] Error 1

My finding from this Snapcraft forum show that Snapcraft is not supported by my MacOS and may be interfering with running the PROJECT=all-clouds make woke command. Do you think I should make a PR regardless? I would also appreciate any help I can get with solving this issue.

Yeah, I think you can go ahead and create the PR. All the tests (including woke) will anyway run as part of the PR checks.
@degville would you be able to help with the above issue (related to installing snaps on MacOS) that @activus-d is facing?

@k-dimple I have created a pull request to solve this issue.

@degville would you be able to help with the above issue (related to installing snaps on MacOS) that @activus-d is facing?

Yes, of course. I know what the problem is - I'll try and have a closer look later. Thanks for including me!

@degville would you be able to help with the above issue (related to installing snaps on MacOS) that @activus-d is facing?

Yes, of course. I know what the problem is - I'll try and have a closer look later. Thanks for including me!

I don't think there's a quick fix for this. Our Makefile only currently installs woke from its snap, which precludes non-snap-capable systems including macOS and Windows. There are other installation methods for woke (brew on macOS, for example). But I think the best solution is likely to move away from woke completely, and incorporate its wordlist into aspell or some of our other tooling. This may even be a good task for the Academy.


Bugfix Image Not Found But Error null

This pull request resolves https://github.com/pinterest/PINRemoteImage/issues/23.

The reason why a nil url did not return an error was because it is handled through an early return method, therefore it does got go through the URL loading system and does not populate the NSError.

The reason why a 404 response does not return in error, is because the documentation states:

Server errors are not reported through the error parameter. The only errors your delegate receives through the error parameter are client-side errors, such as being unable to resolve the hostname or connect to the host.
Which is confusing because if you create a NSURLSessionTask, the completion handler of a request which has a 404 response does have the error correctly populated.

Empty URLs were handled correctly prior to this pull request, which I determined after it satisfied the tests that I wrote.

Note: To generate the errors, I just logged what the NSError is if you create an analogous NSURLSessionTask with a request with the corresponding url, and had the new errors match that.

Awesome, thank you for doing this!

And thanks especially for the tests! :)

Thanks for the merge! No problem, just trying to keep the mind active while being unemployed haha.


Patch external-resizer CVE-2023-45288 by bumping /x/net to 0.23.0

Issue #, if available:
Description of changes:
Patch external-resizer CVE-2023-45288 by bumping /x/net to 0.23.0
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm
/approve


MC2 default upsert parameter

Set default behavior for MC2 DCA so that replacements don't accidentally occur

cc @milen-sage @MiekoHash

Will catch up with @afwillia on whether this can be done this sprint.

Moved to JIRA: https://sagebionetworks.jira.com/browse/FDS-108


Updated index.md

Added the book, "Code Complete: A Practical Handbook of Software Construction, Second Edition" by Steve McConnell

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Thank you for opening this pull request.
This is a standard message notifying you that we’ve reviewed your pull request and have decided not to merge it. We would welcome future pull requests from you.
Reason:  We no longer accept PRs adding book references.  We suggest you visit https://www.freecodecamp.org/forum/c/reviews and give a review of the book instead.
Thank you and happy coding.


Hot reload - don't connecting with device in IDEA

Hi, I’m excited about MLN, but I wasn’t successful in the hot reload by IDEA,

I tried using usb, wifi and nothing worked, maybe I'm doing it wrong, follow the wiki step by step, install MLN-Android on the device and let it run so I opened IDEA, then it was hot to reload the app, I went to LuaNative plugin in IDEA and just doesn't connect at all ...
maybe it could be that my IDEA configuration is wrong, if so please give me the correct IDEA settings ...

If it is a USB connection, please make sure the app is on a hot reload page. If it is a wifi connection, please ensure that the mobile phone and the computer are on the same LAN.
Also, try restarting the app and idea several times.
I will find someone to look at the garbled characters in the picture.

Hi , thankyou for response,
I already performed these procedures, leaving the android studio running MLN-android, I entered the hot reload page of the app, then I went to intellij and the plugin does not recognize my device ... I did this several times.
Is the LuaNative plugin up to date?
My version is 2.0
Intellij IDEA version 2019.3.3
Project structure IDEA{
    SDKs 1.8 android API 28 java sdk 13
}

Project Settings{
    Project 1.8
    Modules: 1.8
}

Android Studio version 4.0 Canary 4
Project structure Android Studio{
    Project{
         Android Gradle plugin version: 3.4.0
         Gradle version: 6.0-rc-1
     }
}

Device xiaomi redmi note 7
Muiu global 11.05
Version android 9

The configuration should be fine.
First, you can download the latest LuaNative plugin(https://github.com/momotech/MLN/blob/master/Tools/MomoLuaNative.zip).
Then make sure that the port in the plug-in is consistent with the phone.

Hello again,
I would like you to pay more attention to the plugin so that it will work correctly for everyone, and I also ask that you pay attention to good documentation in English and, if possible, Portuguese and detailed step by step from the first configuration up to the playstore and applestore. Just as Brazil is the second largest in number of users in Flutter I believe that MLN can reach quickly to be a competitor to Flutter.
We have many Brazilians who use and love the moon and I believe that MomoLuaNative will be well accepted here...


Error in "done() called multiple times" assumptions

This code here will hide the true error of certain failed async tests:
https://github.com/mochajs/mocha/blob/master/lib/runnable.js#L216-L230
To reproduce, try this:
it('should work', function (done) {
  setImmediate(done)
  throw new Error('hidden')
})

You will never see the error with the "hidden" message. It will just tell you done was called twice, which is terribly misleading, as the user code only called it once.

:+1:

+1 got the same error in a very similar case. tested this particular case and it happened just as described, I can confirm the behaviour.

I am seeing the same behavior.  Has this been researched yet?  This is almost a year old now.

I'm also experiencing the same problem. Lost about an hour of work figuring out this was a bug in mocha and not my tests.


Incorrent week days in regions with first week day other than sunday

I am a new user user to ElegantCalendar, but I have noticed that the legend for week days don't match the actual week day of dates.
In my region monday is the first day of the week, but on top of the calendar it still shows "S M T W T F S", but it should show "M T W T F S S" as the days are shown in the correct "column" (monday is first in this case).

Thanks for pointing this out! Just fixed this on the latest release. Let me know if it works for you

Yeah, it's working fine for me now. Sorry for such a late response.


Commands are still mention "Remote Repositories"

I think some of the language in the notifications and commands for GitHub Repositories still reference "Remote Repositories" or "RemoteHub" which can be confusing for users.

[ ] When you have GitHub Repositories Insiders installed, the commands to open a repo are still prepended with "Remote Repositories" instead of "GitHub Repositories" (none of the commands show up when you type in "GitHub Repository:" like the extension readme mentions)

[ ] Install both the GitHub Repositories and the GitHub Repositories Insiders extensions and try to open up a repo. In the notification that pops up, the GitHub Repositories Insiders is referred to as RemoteHub insiders

This was fixed 2 months ago. I can't reproduce this behavior:

Do you happen to have pending updates for VS Code or GitHub repositories?

Ah! Thanks, I had both RemoteHub insiders and Github repositories insiders installed! Thanks Joyce