Update azure-functions-lab.md

Updated the Free Azure Subscription link to point to a page more relevant to the user
(You can replace all of this text with your description.)
Before creating your pull request, please check your content against these quality criteria:

Did you consider search engine optimization (SEO) when you chose the title in the metadata section and the H1 heading (i.e. the displayed title that starts with a single #)?
For new articles, did you add it to the table of contents?
Did you update the "ms.date" metadata for new or significantly updated articles?
Are technical terms and concepts introduced and explained, and are acronyms spelled out on first mention?
Should this page be linked to from other pages or Microsoft web sites?

For more information about creating content for docs.microsoft.com, see the contributor guide at https://docs.microsoft.com/contribute/.

@cmatskas - can you sign the CLA? thanks.

@cmatskas : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

@cmatskas: I'm sorry - only the author of this article, @sayedihashimi, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

@cmatskas - in the public repo, only the article author can sign off. thanks.


project variable not used as default ?

Hi
In my test project, I defined the variable as follow to run my playbook using an ssh key + passphrase, and password to become root
project.ansible-become-method=sudo
project.ansible-become-password-storage-path=keys/project/TEST_PATCHING_LINUX/password-itansible-root
project.ansible-become=true
project.ansible-binaries-dir-path=/opt/ansible/.venv/bin
project.ansible-config-file-path=/opt/ansible/ansible.cfg
project.ansible-executable=/bin/bash
project.ansible-generate-inventory=true
project.ansible-ssh-auth-type=privateKey
project.ansible-ssh-keypath=/var/lib/rundeck/.ssh/id_ed25519
project.ansible-ssh-passphrase-option=option.password
project.ansible-ssh-passphrase-storage-path=keys/project/TEST_PATCHING_LINUX/Pass_itmasteransible
project.ansible-ssh-use-agent=true
project.ansible-ssh-user=itansible

If I run a   Ansible Playbook Workflow Node Step , it work , but only if I redefine a few ssh variables
If not, the ssh connection failed

SSH Passphrase from secure option: option.password
Use become privilege escalation.: Yes
Privilege escalation Password Storage Path.: keys/project/TEST_PATCHING_LINUX/password-itansible-root
Should it not used the default value defined as the project level ?

Sometime I need to run a job locally ,that doesn't use the rundesk inventory.
(I manually pass the inventory/limit as parameter)

In that case, I use an "ansible playbook" workflow that use the disable-limit option
It work, but only If I redefine all ssh setting at the job level
Same, should it not used by default the value defined at the project level ?
Job :
Ansible base directory path: /opt/ansible
Playbook: test.yaml
Extra Variables: 1 lines
Inline inventory: 1 lines
Extra Ansible arguments: -i inventory/test-inv.yaml -l my_server
SSH Authentication: privateKey
SSH Key File path: /var/lib/rundeck/.ssh/id_ed25519
Use ssh-agent.: Yes
SSH Passphrase for private key: keys/project/TEST_PATCHING_LINUX/Pass_itmasteransible
SSH Passphrase from secure option: option.password
Use become privilege escalation.: Yes
Privilege escalation Password Storage Path.: keys/project/TEST_PATCHING_LINUX/password-itansible-root
Disable Limit: Yes
My configuration:
Rundeck 5.1.2
rpm install (redhat 9)
Postgresql database
(install done recently to test the software)

No issue for me in the latest release


Revert "Start using rhel-coreos image rather than machine-os-content (#135)"

This reverts commit 86bbea7aadc5a6f6214c6d3bd95f40096725fee8.
We need to revert the openshift/os side of this because of remaining references to machine-os-content:
https://github.com/openshift/os/pull/1393
So we have to revert this too.

/hold
https://github.com/openshift/os/pull/1393#issuecomment-1811680797

/hold cancel
We're going to temporarily revert while we work on removing the final references in o/k.

Manually adding labels to get o/k unstuck.

error: failed to push image registry.build05.ci.openshift.org/ci-op-7tsnxii3/release:latest: unable to upload new layer (0): Patch "https://registry.build05.ci.openshift.org/v2/ci-op-7tsnxii3/release/blobs/uploads/c9a4737c-ce38-42ca-ae83-f026fe16929d?_state=eHIBtFWGRDME3EDt0mRE6H9a_qgJtYDpUeCoVNL8mL97Ik5hbWUiOiJjaS1vcC03dHNueGlpMy9yZWxlYXNlIiwiVVVJRCI6ImM5YTQ3MzdjLWNlMzgtNDJjYS1hZTgzLWYwMjZmZTE2OTI5ZCIsIk9mZnNldCI6MCwiU3RhcnRlZEF0IjoiMjAyMy0xMS0xNFQyMTo1Mjo0NS44MTQ5NDgwMzRaIn0%3D": operator "driver-toolkit" contained an invalid image-references file: no input image tag named "machine-os-content"

This is hitting the same issue (but in reverse) as when it initially went in. The last time, @ybettan ended up having to override the test failures (see https://github.com/openshift/driver-toolkit/pull/135#issuecomment-1803940732 and following).

/override ci/prow/images
/override ci/prow/e2e-aws
/override ci/prow/e2e-aws-driver-toolkit-presubmit
/override ci/prow/e2e-upgrade

/override ci/prow/images


[ISSUE] Wrong indentation in webModeler.websockets.resources definition

Describe the issue:
Defining resources for the webModeler.websockets component is not possible because it is not indented correctly in the template. As with the others, it should be indented by 12 digits, not just 10.
Actual behavior:
The indentation is defined with 10 spaces.
Expected behavior:
The indentation is defined with 12 spaces so that the resource definitions are assumed correctly.
How to reproduce:
https://github.com/camunda/camunda-platform-helm/blob/89523dfba3d5c19303b8ee174c6df17b1c0bb915/charts/camunda-platform/templates/web-modeler/deployment-websockets.yaml#L66
  webModeler:
    websockets:
      resources:
          requests:
            cpu: 500m
            memory: 265Mi
          limits:
            cpu: 1000m
            memory: 512Mi

will be
resources:
limits:
  cpu: 1000m
  memory: 512Mi
requests:
  cpu: 500m
  memory: 265Mi

in the generated template.
Environment:
GKE, self managed

Platform: GCP
Helm CLI version: 3.12.0
Chart version: 8.3.1

This is fixed by #1014

Thanks for reporting the issue.  We just spotted it today.


Incorrect orientation on image taken with mobile device.

I'm taking a picture with my iPhone 5s and trying to upload a file on my desktop, the images orientation is incorrect.

I'm not sure this is related to the component. The only place that might be related to this is here: https://github.com/okonet/react-dropzone/blob/master/src/index.js#L92 and this is also a browser feature.
I've found this StackOverflow article: http://stackoverflow.com/questions/29752779/how-can-i-preview-image-before-uploading-with-the-correct-orientation-with-javas
I'd accept a PR that fixes it, but I'd rather keep the surface of this library minimal.

I was just curious because Dropzone.js added a fix for this on the client side about 29 days ago. No worries, I understand if we want to keep this as minimalist as possible.
For anyone who finds this in the future what I'm going to do is just use https://github.com/blueimp/JavaScript-Load-Image in the onDrop and it automagically reorients the image based on the exif.

:+1:

If you are storing file in S3, you can use S3 item creation event to trigger Lambda to auto orient image using gm.

@camrongodbout can you explain how you ended up the JavaScript-Load-Image package in React? if I follow the package instructions and add the package as a script tag in index.html file, then I cannot use loadImage because it is undefined in my specific component. Also, I cannot import the package in my Component properly. Any quick tips would be greatly appreciated!

@Andriy-Kulak I created a wrapper for that purpose.

@Andriy-Kulak you can use this repo: (https://github.com/blueimp/JavaScript-Load-Image)
npm i blueimp-load-image
then:
import loadImage from 'blueimp-load-image';

I was just curious because Dropzone.js added a fix for this on the client side about 29 days ago. No worries, I understand if we want to keep this as minimalist as possible.
For anyone who finds this in the future what I'm going to do is just use https://github.com/blueimp/JavaScript-Load-Image in the onDrop and it automagically reorients the image based on the exif.

Could you please help me in implementing this?

@Andriy-Kulak you can use this repo: (https://github.com/blueimp/JavaScript-Load-Image)
npm i blueimp-load-image
then:
import loadImage from 'blueimp-load-image';

This is pure javascript, how can we use this in react?

@Andriy-Kulak I created a wrapper for that purpose. $ npm install fix-image-rotation. I am using it along with react-dropzeon in the onDrop function. It uses javascript-load-image internally.

Hi Manoj, trying your library, in onDrop method, seems not working here.. if you provide example, more appreciated. Thanks.


type checking in Signal.sampling_rate

The sampling_rate kwarg in the Signal constructor is not thoroughly typechecked or parsed which leads to errors down the line that are hard to backtrace. IMO sampling_rate should be cast as an integer. Of course having sampling_rate as a 2d-array is not a great design choice but happens sometimes, e.g. when reading data from .mat files
MWE:
import numpy as np
import pyfar as pf

n = np.random.rand(100)
fs = np.array([[100]])
sig = pf.Signal(n, sampling_rate=fs)
pf.plot.group_delay(sig) # this fails

I think we once discussed that it should be possible to have float sampling rates to be most flexible, but it definately should not be an array. We could cast it to int, if it does not have a decimal. Would that be a good compromise?

Ah, yes - that would be needed but would not cast to integer. But it works woth float as desired:
signal = pf.Signal([0, 1, 0, 0], 22.5)
gd = pf.dsp.group_delay(signal)

Regarding casting to integer: I noticed that a float fails when writing to file, i.e.
pyfar.io.write_audio(pyfar.Signal(array, sampling_rate=44100.0))

will fail. I think writing to file should round to the nearest integer, cast the type and throw a warning on nonzero roundoff. What do you think?

Can you check your pyfar version. It works for me in 0.6.3 and only thros an error if acutally having a non integer sampling rate. We fixed it a while ago following the idea you also have :)


default-branch-button creates incorrect URL if non-default branch has forward slash in name

Going to https://github.com/anggrayudi/SimpleStorage/tree/release/0.8.0 page, the default branch button sets its URL to https://github.com/anggrayudi/SimpleStorage///0.8.0 which results in a 404.

Looks like getCurrentCommittish is failing.
It should be able to detect that.

I've pushed a failing test here, if it's any help.

Thank you. Unfortunately branch with slashes are not detectable from the URL alone so that test can never pass.
What we do is look for other cues on the page itself to determine the branch name. Most pages have them. Yakov is referring to the function that looks for these cues.

This line is failing, since it has a slash in it. (The '.' looks like an issue too)
https://github.com/sindresorhus/refined-github/blob/80150ef192d4caa7f17cfd66e5186b79e8413d3f/source/github-helpers/index.ts#L20


Separate build & test Node.js or Python

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/actions/automating-builds-and-tests/building-and-testing-nodejs-or-python
What part(s) of the article would you like to see updated?
Right now, Node.js and Python are included in the same article while for example Ruby and Swift each have their own article.
While it makes sense to combine Java and Gradle, Node.js and Python are unrelated and should be separated.
Additional information
No response

@MAFIAWA: Unfortunately, I cannot open the image link you provided, it links back to this issue. Was the upload cancelled?

@KonradHoeffner
Thanks so much for opening an issue! I'll triage this for the team to take a look :eyes:

👋 @KonradHoeffner Thanks for opening an issue and sorry about that confusion! The article you're looking at is a long running experiment to see how users interact with the side by side layout. We were also experimenting with the buttons to switch between languages, which is why these two are combined.
If you'd like to see the original separated articles, they're available at:

https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

Let us know if you have any additional questions or confusion!

Thanks for the clarification! It works perfectly fine I was just confused why the two unrelated topics are combined in one article but I understand that.


[Doc Improvement][Update Teams AI library get started]

updated.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/Teams conversational AI/how-conversation-ai-get-started.md
93
39
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/Teams conversational AI/how-conversation-ai-get-started.md
93
39
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.


Croping vector based PDF files

If I'm correctly informed, PDFium seems to be able to crop vector based PDF pages and output a smaller PDF.
I need to embed multiple smaller parts of a PDF page in another PDF. I cannot use CSS clipping or viewBox, since this will just adjust the visual part. Behind the sceenes the complete PDF page will be embedded multiple times and blow up the size of my generated PDF.
Would it be possible to expose this cropping functionality in pdfium-cli?
Apparently, this should be possible with pdf-lib (https://pdf-lib.js.org/), but I'd prefer the speed of PDFium for this.

PDFium seems to be able to crop vector based PDF pages and output a smaller PDF.

If you can indicate how you think that should work I could look into it.
go-pdfium, the library behind pdfium-cli, contains all functionality that pdfium exposes (with some exceptions), so if it's possible with PDFium it should not be that much work.

Here is a vector based PDF and a vector based crop from this PDF. The crop was made with the pdf-lib Node library as per the following (code from ChatGPT):
const { PDFDocument } = require('pdf-lib');
const fs = require('fs');

async function cropPdf(inputPath, outputPath, cropArea) {
  // Step 1: Load the existing PDF
  const existingPdfBytes = fs.readFileSync(inputPath);
  const pdfDoc = await PDFDocument.load(existingPdfBytes);

  // Step 2: Get the first page to crop (adjust if you need a different page)
  const [existingPage] = pdfDoc.getPages();

  // Step 3: Create a new PDF document
  const newPdfDoc = await PDFDocument.create();

  // Step 4: Define the crop area (adjust as needed)
  const { x, y, width, height } = cropArea;

  // Adjust the y-coordinate to account for PDF coordinate system
  const adjustedY = existingPage.getHeight() - y - height;

  // Step 5: Create a new page in the new PDF with the size of the crop area
  const newPage = newPdfDoc.addPage([width, height]);

  // Step 6: Embed the page from the existing PDF into the new PDF
  const embeddedPages = await newPdfDoc.embedPdf(existingPdfBytes, [0]);
  const embeddedPage = embeddedPages[0];

  // Step 7: Draw the cropped area of the embedded page onto the new page
  newPage.drawPage(embeddedPage, {
    x: -x,
    y: -adjustedY,
    width: existingPage.getWidth(),
    height: existingPage.getHeight(),
  });

  // Step 8: Save the cropped PDF
  const croppedPdfBytes = await newPdfDoc.save();
  fs.writeFileSync(outputPath, croppedPdfBytes);
}

// Define the crop area (example values, adjust as needed)
const cropArea = {
  x: 100, // X-coordinate of the crop area origin
  y: 100, // Y-coordinate of the crop area origin
  width: 400, // Width of the crop area
  height: 400, // Height of the crop area
};

// Crop the PDF and save the result
cropPdf('./blueprint_full.pdf', './blueprint_crop.pdf', cropArea)
  .then(() => console.log('PDF cropped successfully'))
  .catch((err) => console.error('Error cropping PDF:', err));

blueprint_crop.pdf
blueprint_full.pdf

Yes, I attached the code as inspiration =)
pdf-lib is all JavaScript. I'd rather have this functionality natively via PDFium.
ChatGPT actually gave me the code for using PDFium from Node, but this is a bit to deep for me. I haven't tried the code.
#include <nan.h>
#include "public/fpdfview.h"

void CropPDF(const Nan::FunctionCallbackInfo<v8::Value>& info) {
  if (info.Length() < 3) {
    Nan::ThrowTypeError("Wrong number of arguments");
    return;
  }

  v8::String::Utf8Value inputPath(info[0]->ToString());
  v8::String::Utf8Value outputPath(info[1]->ToString());
  v8::Local<v8::Object> cropArea = info[2]->ToObject();

  double x = cropArea->Get(Nan::New("x").ToLocalChecked())->NumberValue();
  double y = cropArea->Get(Nan::New("y").ToLocalChecked())->NumberValue();
  double width = cropArea->Get(Nan::New("width").ToLocalChecked())->NumberValue();
  double height = cropArea->Get(Nan::New("height").ToLocalChecked())->NumberValue();

  FPDF_InitLibrary();

  FPDF_DOCUMENT doc = FPDF_LoadDocument(*inputPath, nullptr);
  if (!doc) {
    Nan::ThrowError("Failed to load PDF document");
    return;
  }

  FPDF_PAGE page = FPDF_LoadPage(doc, 0);
  if (!page) {
    FPDF_CloseDocument(doc);
    Nan::ThrowError("Failed to load PDF page");
    return;
  }

  double pageWidth = FPDF_GetPageWidth(page);
  double pageHeight = FPDF_GetPageHeight(page);

  FPDF_PAGEOBJECT crop = FPDFPageObj_NewRect(x, pageHeight - y - height, width, height);
  FPDFPageObj_SetFillColor(crop, 255, 255, 255, 255);
  FPDFPage_InsertObject(page, crop);

  FPDF_FFLDrawPageBitmap(page, bitmap, 0, 0, bitmapWidth, bitmapHeight, 0, 0);

  FPDF_SaveAsCopy(doc, outputPath, FPDF_REMOVE_SECURITY);

  FPDF_ClosePage(page);
  FPDF_CloseDocument(doc);
  FPDF_DestroyLibrary();
}

NAN_MODULE_INIT(Init) {
  NAN_EXPORT(target, CropPDF);
}

NODE_MODULE(pdf_cropper, Init)

Yeah but you said

If I'm correctly informed, PDFium seems to be able to crop vector based PDF pages and output a smaller PDF.

So I was under the assumption you had some idea of how this should work in PDFium, not pdf-lib.
The code you just posted does not crop out a part of a page, it renders a part of a page and then put that bitmap inside a new PDF. If your PDFs are vectors, rendering it to an image might make the PDF bigger than just using viewBox cropping.

I'm sorry if I misunderstood, and took Chat's word as true. I got perfect help with pdf-lib so I thought Chat knew what it was talkning about. Here is what Chat said about this:
PDFium is a powerful library for working with PDFs, and it can indeed be used to manipulate PDFs while maintaining their vector properties. However, to crop a PDF page using PDFium and save it as a new, smaller PDF, we need to use its API to perform the necessary operations. This will involve creating a C++ application or a Node.js native addon using PDFium.

ChatGPT is a master in mixing the truth with lies :cry:
As far as I know, PDFium does not have this capability. The way you can crop pages is by:

Using viewbox
Rendering a part of the page and inserting that into a new PDF

You could probably write some code to get a vector object from a page, then manipulate the vector to be cropped, and insert it in a new PDF, but it won't be simple.

I think a clip path is very similar to using a viewbox.
 * Clip the page content, the page content that outside the clipping region
 * become invisible.

Seems likely, but I'm very interested of getting rid of the invisible parts completely, i.e. get a smaller croped pdf as I can do witd pdf-lib.
I'm generating PDF reports with embedded croped blueprints. When I embed pdfs with viewbox, the original pdf is still embedded in my new pdf. Since I'm embedding many (sometimes hundreds) of crops my output PFD blows up to unreasonable size. I.e. hundreds of full size PDF files are embedded in my PDF report.

Hm, I might have misunderstood. Do you mean that SetClipPath in PDFium does not actually get rid of the invisible parts, but only hides them?

Seems likely, but I'm very interested of getting rid of the invisible parts completely, i.e. get a smaller croped pdf as I can do with pdf-lib.

Are you sure that's what pdf-lib does? Because your cropped PDF is bigger in size than the original and when inspected with iText RUPS, it just embeds the original page XObject and then clips it, so not very different from a clip path or viewbox...

Hm, I might have misunderstood. Do you mean that SetClipPath in PDFium does not actually get rid of the invisible parts, but only hides them?

Correct, just like the viewbox

I just noticed that. It seems as this can be mitigated afterwards by optimizing with GhostScript. GS seems to be able to get rid of the invisible parts.
blueprint_full.pdf = 161 KB
blueprint_crop.pdf = 306 KB
optimized crop = 22 KB
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=cropped_optimized.pdf blueprint_crop.pdf

I just noticed that. It seems as this can be mitigated afterwards by optimizing with GhostScript. GS seems to be able to get rid of the invisible parts.

Then probably the same will work when using clippaths in pdfium. Be aware that GS is AGPL licensed.

Here is some potentially GPT hallucinations. I asked if PDFium was able to to this kind of optimization.
Is this a real or imaginary command?

There is no FPDFPage_RemoveClipRect indeed.

I found some other optimization tools under Apache 2.0 licenses. I will look into them. But I'd still need to prepare the PDF with the cliprect. This might not me a resource demanding operation, so the move to PDFium just for this might be moot.
Om my M2 Max it takes about 100ms to "crop" a vector pdf with pdf-lib. Then another 50ms to optimize with GhostScript. I'll try the other tools and see what they can give. One of them is written in Go.

https://github.com/pdfcpu/pdfcpu
https://github.com/qpdf/qpdf
https://github.com/mozilla/pdf.js

Actual cropping is quite complex, I suspect it works with GS because it always completely rebuilds the PDF, I think that's how GS works.

Thank you for your input. Great as usual. I think I have stumbled on a much better solution, which I'll try to implement. I'll close this issue now.
The new solution:
It should be possible to embed an image or pdf once in a PDF and then reference the same file multiple times with different viewBoxes. Usually I'm only dealing with 1-5 original blueprints, but I need to presend hundreds of different crops from these files.


New object with defaults

Can I create a new object with all defaults defined in the Prisma schema without saving it? I would like to create new entity, modify it and finally save.
Schema:
type Post {   title: String! @default(value: "Something") }
Code:
const post = Magic_ApplyTheDefaults({});
post.title = post.title + " something else";
mutationCreatePost(post);

Thank you

I think this is more of a question for nexus-prisma.


Owners addition

Adding owners from Google who will be more actively reviewing PRs. Maintainers from Bytedance have representation in Jeffwan, with more added later as needed.

Should they be reviewers then?

Fair enough! Done!

/lgtm


InvalidBodyContent 422: failed to parse key error seen in rancher logs

What kind of request is this (question/bug/enhancement/feature request): bug
Steps to reproduce (least amount of steps as possible):

Run Security Scans on a cluster

Rancher logs show error 2019/12/04 19:29:17 [ERROR] Error certs=InvalidBodyContent 422: failed to parse key: key must be PEM encoded PKCS1 or PKCS8: x509: failed to parse private key (use ParseECPrivateKey instead for this key format) parsing cert sonobuoy-plugin-rancher-kube-bench-685a331719c74e80. when the Security scans are run on the cluster.
Note:
This does NOT happen with every run of security scan.
Other details that may be helpful:
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): master-head
Installation option (single install/HA): single

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): custom
Kubernetes version (use kubectl version):

1.16

The error message is coming from here: https://github.com/rancher/rancher/blob/v2.3.5/pkg/cert/cert.go#L41
When the security-scan is scheduled, a self signed certificate is generated by the backend tool and it happens to be in a format that the code doesn't recognize. Need to add handling of this other kinds of cert formats or ignore this check for "security-scan" namespace.

I also reproduced this by doing a 2.4 master-head (06/02/2020) HA install. commit id 1a03ecea3
Chart Name: 2.4.0-alpha1
Helm Repo: alpha
Image Tag: master-head
After installation login (or using kubectl) and look at the logs of the Rancher pods. It will show logs like these:
2020/02/06 21:09:12 [ERROR] Error certs=InvalidBodyContent 422: failed to parse key: key must be PEM encoded PKCS1 or PKCS8: x509: failed to parse private key (use ParseECPrivateKey instead for this key format) parsing cert tls-rancher. Will not display correctly in UI
2020/02/06 21:09:12 [ERROR] Error certs=InvalidBodyContent 422: failed to parse key: key must be PEM encoded PKCS1 or PKCS8: x509: failed to parse private key (use ParseECPrivateKey instead for this key format) parsing cert serving-cert. Will not display correctly in UI

I no longer see these errors InvalidBodyContent 422 in Rancher 2.4 master-head (02/07/2020) commit id:  f5482571a
I've checked the three Rancher pods logs.
Same setup as my previous comment:
Chart Name: 2.4.0-alpha1
Helm Repo: alpha
Image Tag: master-head
Rancher generated self-signed certificates.
@sowmyav27 @deniseschannon

verified on master-head - commit id: 3fc6715ca
Run Security Scans on a cluster deployed.
Error Error certs=InvalidBodyContent 422:... is NOT seen in the Rancher logs.


feat(approval): event/booking approval driver PPT-518

The driver is running on the dev server attached to "Test Room"


Support for Pydantic v2

Feature request
Currently, langchain 0.0.217 depends on pydantic<2 and >=1. Pydantic v2 is re-written in Rust and is between 5-50x faster than v1 depending on the use case. Given how much LangChain relies on Pydantic for both modeling and functional components, and given that FastAPI is now supporting (in beta) Pydantic v2, it'd be great to see LangChain handle a user-specified installation of Pydantic above v2.
The following is an example of what happens when a user specifies installing Pydantic above v2.
The conflict is caused by:
    The user requested pydantic==2.0b2
    fastapi 0.100.0b1 depends on pydantic!=1.8, !=1.8.1, <3.0.0 and >=1.7.4
    inflect 6.0.4 depends on pydantic>=1.9.1
    langchain 0.0.217 depends on pydantic<2 and >=1

Motivation
Pydantic v2 is re-written in Rust and is between 5-50x faster than v1 depending on the use case. Given how much LangChain relies on Pydantic for both modeling and functional components, and given that FastAPI is now supporting (in beta) Pydantic v2, it'd be great to see LangChain handle a user-specified installation of Pydantic above v2.
 I'm currently opening just an issue to document my request, and because I'm fairly backlogged. But I have contributed to LangChain in the past and would love to write a pull request to facilitate this in full.

Yes, I just saw that pydantic v2 has been officially released. I am curious about the improvements and the extent of the upgrade in the context of langchain

Related https://github.com/pydantic/bump-pydantic

+1 We are creating new projects with pydantic v2 and would like to use langchain as well

Latest version of FastAPI uses pydantic 2.0
It would be great to use latest versions of langchain and pydantic

+1

+1

+1

In the meantime, before a release that supports Pydantic v2 is released, is there a walkaround?

As suggested by Pydantic's README

Pydantic V2 also ships with the latest version of Pydantic V1 built in so that you can incrementally upgrade your code base and projects: from pydantic import v1 as pydantic_v1.

I suppose it is safe to upgrade to Pydantic v2 in no time by replacing all old usage of Pydantic with this so that to be compatible with other packages such as fastapi that has switched to Pydantic v2.

+1

+1

+1 here too.
This is impossible to achieve because langchain depends on langsmith which is closed source (???) and depends on pydantic v1 as well.

I am facing this issue in my project please provide the support for pydantic 2 , i am stucked in dependency confict hell otherwise

+1 here.

Bump. Would be good to have, when installing the updated llama-cpp-python it requires pydantic2 to use their server.

Bump

It seems this feature request isn't top priority ATM.
So, if anyone will like to collaborate to work with me on it, please let me
know.
On Fri, 4 Aug 2023, 11:27 Felipe Mendonça, @.***> wrote:

Bump
—
Reply to this email directly, view it on GitHub
https://github.com/langchain-ai/langchain/issues/6841#issuecomment-1665386941,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABPDWE2K4QIHSD5J4GN5Y3XTTFBZANCNFSM6AAAAAAZWDICUU
.
You are receiving this because you commented.Message ID:
@.***>

bump :)

Guys!
I've created a solution https://github.com/bleschunov/langchain-with-pydantic-v2

aiogram 3 also switched to Pydantic v2

+1

It seems that langchain is not compatible with supabase v1.0.4(depends on gotrue~=1.0.3).
ERROR: Cannot install ... and supabase because these package versions have conflicting dependencies.

The conflict is caused by:
    fastapi 0.100.0 depends on pydantic!=1.8, !=1.8.1, !=2.0.0, !=2.0.1, <3.0.0 and >=1.7.4
    langchain 0.0.263 depends on pydantic<2 and >=1
    gotrue 1.0.3 depends on pydantic<3.0 and >=2.1

It seems that langchain is not compatible with supabase v1.0.4(depends on gotrue~=1.0.3).

ERROR: Cannot install ... and supabase because these package versions have conflicting dependencies.

The conflict is caused by:

    fastapi 0.100.0 depends on pydantic!=1.8, !=1.8.1, !=2.0.0, !=2.0.1, <3.0.0 and >=1.7.4

    langchain 0.0.263 depends on pydantic<2 and >=1

    gotrue 1.0.3 depends on pydantic<3.0 and >=2.1

It works with my solution https://github.com/bleschunov/langchain-with-pydantic-v2

Related #9123

We must update to Pydantic 2.0 to maintain compatibility with several essential libraries and frameworks. For instance:

Supabase
llama-cpp-python

llamaV2

FastAPI > 0.100
Spacy

All of these require Pydantic 2.0 or higher, and I suspect the list will only grow longer.
We will get these libraries' latest features and improvements if we update them.
It's essential to assess the potential impact on the Langchain project and make an informed decision about the update.
https://github.com/langchain-ai/langchain/pull/8330

Closing this issue as there's a whole migration planned by the maintainers. #9337

Hi all! As of langchain==0.0.267 the pydantic version is uncapped and we should largely be cross-compatible with pydantic v1 and v2.
We'd love to hear if the latest version unblocks your use cases or if you're still running into issues!
cc @arpagon, @preritdas, @felixs8696 @ternaus @paryska99


Ananke - Header size of image

Hello;
I’m starting with Hugo since 2 weeks, trying some change and import and I stuck on the header frame.
I use Ananke theme and the header size is depending of:
Image Background: featured_image: ‘/images/gohugo-default-sample-hero-image.jpg’
Size of header: description: " […]"
More word in description, more the header will be tall
http://<IP_ADDRESS>/ 1 - A tittle and a description and we see part of the image
http://<IP_ADDRESS>/cat3 - There are no description, juste a “title” and we do not see the full image (less than page with description, that is how I know that description upscale the size of the header )
http://<IP_ADDRESS>/contact/ - A bit of description, we see a lot of the image
The thing that I want is that the header is ALWAYS 100% of the image size.
No matter the size of the image, no matter if there is description or tittle, I want that the header block size of 100% of the image's height. I see 2 solution for that. Put a max height of the header and I resize image  to enter fully in the header or define the header heigh as 100% of the image. That last solution seems better for future update.
That way, I can change the image when I want and the site will always use it at full size. For now I do not like the fact that the header change size and show more or less of the image.
I do not find any way to do that as parameter in my post.md and I’ve search in theme/ananke files but didn’t find some parameters that I can change.
Is someone can help me to do that ?

I believe what you want to do is to make a copy of this file in your project: https://github.com/theNewDynamic/gohugo-theme-ananke/blob/master/layouts/partials/site-header.html#L5 and add your changes there. Does that help?

Hello,
This file and line already exist in on my site in /themes/ananke/layouts/partials/site-header.html
I've tried to change it with the option bg-center for exemple and the image will become centered instead of being top left anchored. Proof that this file is correctly used when I create the site.
But that is not what I want to have because this is just some adjustment of the image.
I want to force the header block to have a height according to the image height.
I want that my header looks like that https://i.imgur.com/EmOkqzA.png
That way we can see ALL the picture in the header, not just some portion of it.
For that I see only 2 possibility,
-Modify the header to have a fixed size and I adjust my image to that size when I want to change.
For example, I want to force my header to be 200px high and if tomorrow I change the image by another image I will have to resize my image by myself to 200px high in order to fit correctly in the head block.
or
-Modify the header to have a size defined by the size of the image and thus that its height = height of the image
For example, If in a month, I change my image and I put one 100px high, I want the header to be 100px high. (According to 100% height of my image) If image do 163px height, the header will be 163px height.
I don't found any option to format the header, that is my problem and I don't know read CSS values in all thoses files.
Is my request is more accurate with this explanation ?

Right, but to overwrite the behavior of the header you need to make your own copy of that file. How you accomplish it from there is up to you.

The thing is that I don't know what to change ?

I think you'd be best off adding something like this:
where the code has style="background-image: url('{{ $featured_image }}');"
you could change to: style="background-image: url('{{ $featured_image }}');height:200px;" or whatever height you want. Then, of course, you'd need to make your images that size. The reason the size is not fixed now is that there's no way to account for everyone's images.
I'll close for now because this is more of a general coding issue, which my ability to help is limited, but feel free to re-open or start a new issue if you have more theme-specific questions.

DAMN.
I've tried like that bu fogot a ;
Thank you


Is it necessary to stop/start carbon-cache when using whisper-resize ?

Quick and easy question: Is it necessary to stop/start carbon-cache when using whisper-resize?
I couldn't actually find any documentation that addressed this.

Thought about it and looked into it a bit. I'm pretty sure there's no need to restart. It shouldn't be keeping whisper files open any longer than it needs to write to them (which is born out by looking at lsof). It doesn't make sense that it would try to keep potentially millions of files open all the time. I think it's a good assumption to say that it reloads each .wsp file and figures out its retention/schema each time it needs to access it.

Yes, it should work exactly like you described.

It should be safe to run resize with a running cache, resize works as following:

whisper-resize writes to the resized data to a new tempfile.
whisper-resize renames the original to .bak
whisper-resize renames the new file to the original name.

There is a potential race condition if the cache recreates a whisper file between step 2 and 3, but then resize should bail out with an exception and you still have the .bak file. I've never run into this.

It's working perfectly without needing to restart cache. Thanks for the info.


Add "lexparse.h" headers for lexer/parser integration

And include them in a few strategic places.  This avoids build failures with future compilers that do not support implicit function declarations by default.
(NB: This commit does not regenerate the lexers/parsers, so the line numbers are slightly off.)
Related to:

https://fedoraproject.org/wiki/Changes/PortingToModernC
https://fedoraproject.org/wiki/Toolchain/PortingToModernC

Thanks for the contribution. This is an area I'm not familiar with, so it is especially welcome. I'll have a look as soon as I can.


On macos-latest runners, minikube + hyperkit has transient failures when bringing up VMs.

Describe the bug
On macos-latest runners, minikube + hyperkit has transient failures when bringing up VMs.
Area for Triage:

Apple
Containers
Docker
Question, Bug, or Feature?:
Bug
Virtual environments affected

[X] macOS 10.15

Expected behavior
minikube should run without error when using the hyperkit driver (and sometimes does!)
Actual behavior
Configure a workflow that installs kubernetes-cli, minikube, hyperkit, then run minikube start.
minikube start --apiserver-port=6443 --addons=metrics-server --addons=ingress --addons=dashboard --addons=logviewer
* [minikube-dev-runner-Mac-1595621774903] minikube v1.12.0 on Darwin 10.15.6
* Using the hyperkit driver based on user configuration
* Downloading driver docker-machine-driver-hyperkit:
* minikube 1.12.1 is available! Download it: https://github.com/kubernetes/minikube/releases/tag/v1.12.1
* To disable this notice, run: 'minikube config set WantUpdateNotification false'

* The 'hyperkit' driver requires elevated permissions. The following commands will be executed:

    $ sudo chown root:wheel /Users/runner/.minikube/bin/docker-machine-driver-hyperkit
    $ sudo chmod u+s /Users/runner/.minikube/bin/docker-machine-driver-hyperkit

* Downloading VM boot image ...
[...]
* Starting control plane node minikube-dev-runner-Mac-1595621774903 in cluster minikube-dev-runner-Mac-1595621774903
* Downloading Kubernetes v1.18.3 preload ...
* Creating hyperkit VM (CPUs=4, Memory=6000MB, Disk=40960MB) ...
* Deleting "minikube-dev-runner-Mac-1595621774903" in hyperkit ...
* Creating hyperkit VM (CPUs=4, Memory=6000MB, Disk=40960MB) ...
* Failed to start hyperkit VM. "minikube start -p minikube-dev-runner-Mac-1595621774903" may fix it: creating host: create: Error creating machine: Error in driver during machine creation: IP address never found in dhcp leases file Temporary error: open /var/db/dhcpd_leases: no such file or directory
*
X error provisioning host: Failed to start host: creating host: create: Error creating machine: Error in driver during machine creation: IP address never found in dhcp leases file Temporary error: open /var/db/dhcpd_leases: no such file or directory
*
* minikube is exiting due to an error. If the above message is not useful, open an issue:
  - https://github.com/kubernetes/minikube/issues/new/choose

Re-runs via the web console's "re-run all jobs" can sometimes result in success, sometimes failures.

Hello, @adamf
May you provide more details: steps description or link to workflow or project, where you've got this issue.
Thank you

Also, here is described one approach for fixing this issue:
https://github.com/kubernetes/minikube/issues/4206
May you try to use it ?

Because not any reactions in this ticket for long time - we are closing it.
If you will have any updates - please feel free to reopen this ticket.
Thank you.

am seeing same issue:  https://github.com/infinyon/fluvio/runs/3852962686?check_suite_focus=true
* The 'hyperkit' driver requires elevated permissions. The following commands will be executed:
45

46
    $ sudo chown root:wheel /Users/runner/.minikube/bin/docker-machine-driver-hyperkit
47
    $ sudo chmod u+s /Users/runner/.minikube/bin/docker-machine-driver-hyperkit
48

49

50
* Downloading VM boot image ...
51
* Starting control plane node minikube in cluster minikube
52
* Downloading Kubernetes v1.21.2 preload ...
53
* Creating hyperkit VM (CPUs=2, Memory=16384MB, Disk=20000MB) ...
54
* Deleting "minikube" in hyperkit ...
55
! StartHost failed, but will try again: creating host: create: Error creating machine: Error in driver during machine creation: IP address never found in dhcp leases file Temporary error: open /var/db/dhcpd_leases: no such file or directory
56
* Creating hyperkit VM (CPUs=2, Memory=16384MB, Disk=20000MB) ...
57
* Failed to start hyperkit VM. Running "minikube delete" may fix it: creating host: create: Error creating machine: Error in driver during machine creation: IP address never found in dhcp leases file Temporary error: open /var/db/dhcpd_leases: no such file or directory
58

59
X Exiting due to GUEST_PROVISION: Failed to start host: creating host: create: Error creating machine: Error in driver during machine creation: IP address never found in dhcp leases file Temporary error: open /var/db/dhcpd_leases: no such file or directory
60
*


Porting the rest of arcade.geometry

Similar to arcade.math, arcade.geometry has some remaining functions which should be easy to port, and will aid in getting code into rust for use by bigger systems later.
Below is a check list of the remaining functions:

[x] are_polygons_intersecting
[x] is_point_in_box
[x] get_triangle_orientation
[x] are_lines_intersecting(dependent on get_triangle_orientation)
[x] is_point_in_polygon

Hi, I'm trying to get started with contributing to OSS, I was wondering if I could try and work on this?

I'm working on is_point_in_polygon().

This is finished and all tests completed as of #18.
We also made some changes to the math of this due to the % operator in Rust. In Python the operator performs the modulus function, but in Rust it performs the remainder.
Instead of using the modulus operator in Rust, in order to match the intended functionality of the Python implementation we made use of the rem_euclidian function in the Rust standard library.


Consider components below /themes for vendoring

This relates to #5911 -- but I've been going forward and back on this question a few times now, enough to tell me that I will wait and consider this for later. Easier to add than remove.
I will write a fairly detailed summary, as I think this will help add some understanding to the complete topic.
Ref. the site in https://github.com/bep/my-modular-site
The module config in config.toml looks like this:
theme = [
    "in-themesdir",
    "github.com/bep/hugotestmods/myshortcodes",
    "github.com/bep/hugotestmods/myv2/v2",
    "github.com/bep/hugotestmods/mypartials",

    "github.com/bep/hugo-fresh",
]

Some general notes:

I have vendored this on the top level,  but this is also possible to do on component level, and it will work as you would expected re. the inheritance graph. The command to do that is hugo mod vendor.
in-themesdir is just a component stored directly below /themes.

With that:
▶ hugo mod graph
github.com/bep/my-modular-site in-themesdir
github.com/bep/my-modular-site<EMAIL_ADDRESS>github.com/bep/my-modular-site<EMAIL_ADDRESS>github.com/bep/my-modular-site<EMAIL_ADDRESS>github.com/bep/my-modular-site<EMAIL_ADDRESS>github.com/bep/my-modular-site<EMAIL_ADDRESS>
▶ hugo mod graph --ignoreVendor
github.com/bep/my-modular-site in-themesdir
github.com/bep/my-modular-site<EMAIL_ADDRESS>github.com/bep/my-modular-site<EMAIL_ADDRESS>github.com/bep/my-modular-site<EMAIL_ADDRESS>=> /Users/bep/sites/hugomod/hugotestmods/mypartials
<EMAIL_ADDRESS><EMAIL_ADDRESS>github.com/bep/my-modular-site<EMAIL_ADDRESS>
Some general remarks:

Components in a _vendor dir will get top priority. You can tell Hugo to ignore it by giving the --ignoreVendor flag (or setting ignoreVendor = true in config).
The => syntax above is coming from Go Module's replace directive which, among other things, can be used to tell Hugo to find the source somewhere else (for local development etc.)
If I find some time, I may add some warnings if there is a "not supported by the current Hugo version" problem in the above.

But to the core question: When you run hugo mod vendor we will (currently) not include the folders below /themes (as seen in the first listing).
/cc @regisphilibert @larzza @budparr @onedrawingperday and gang ...

So that when Hugo Modules are launched it will not be possible to ship a Hugo theme that uses them. The Modules will have to reside under the exampleSite/ directory. Right?

No. Modules should reside in its own repository (which can contain many modules, if needed) and imported by its GitHub (or whatever) path. There is many fine details in this, with vendoring and all, and this particular issue details a corner case with vendoring for the modules that you just clone directly into /themes.
I will not go further into details about this, but I can say this:
The situation for themes and the theme site will dramaticallly improve with all of this. Themes can absolutely use these modules. In most cases, using a theme component (shortcodes etc.) in your theme or project is just to add it to your config and run Hugo.

@bep Maybe I'm missing something but... why should components in the themes dir be copied to _vendor in the first place?
Either I have a "hard"-copy of the components in the themes-dir, i.e bundled with the project git-repo, or I've taken a decision to add them as git-submodules instead of adding the components as Hugo mods.
If I want a standalone project I just use /layouts etc in the project and Hugo mods for components, i.e. I don't use themes-dir at all.

why should components in the themes dir be copied to _vendor in the first place?

I don't know, which is why I created this issue.

In that case I don’t think they should, i.e. I agree it’s a good idea to wait....


watchify fails when browserify's ignoreMissing options is used

Fatal error: path must be a string
TypeError: path must be a string
at TypeError (native)
at Object.fs.open (fs.js:491:11)
at OpenReq.process (/home/edin/projects/glu-vizwiz/node_modules/grunt-browserify/node_modules/watchify/node_modules/chokidar/node_modules/readdirp/node_modules/graceful-fs/graceful-fs.js:55:16)
at OpenReq.Req (/home/edin/projects/glu-vizwiz/node_modules/grunt-browserify/node_modules/watchify/node_modules/chokidar/node_modules/readdirp/node_modules/graceful-fs/graceful-fs.js:126:8)
at new OpenReq (/home/edin/projects/glu-vizwiz/node_modules/grunt-browserify/node_modules/watchify/node_modules/chokidar/node_modules/readdirp/node_modules/graceful-fs/graceful-fs.js:49:7)
at Object.open (/home/edin/projects/glu-vizwiz/node_modules/grunt-browserify/node_modules/watchify/node_modules/chokidar/node_modules/readdirp/node_modules/graceful-fs/graceful-fs.js:41:3)
at ReadStream.open (fs.js:1613:6)
at new ReadStream (fs.js:1600:10)
at Object.fs.createReadStream (fs.js:1554:10)
at Deps.readFile (/home/edin/projects/glu-vizwiz/node_modules/grunt-browserify/node_modules/browserify/node_modules/module-deps/index.js:190:17)

@edazdarevic Can you provide me with a repro case?

I'm also seeing this error. It happens  when ignoreMissing is true, a script added to the bundle requires a module that's missing, and the bundle adds an additional module via b.require. I've made a repo that reproduces it: https://github.com/cperryk/watchify_bug
To see the bug:

Open mymodule.js in a text editor.
In a terminal session, run node builder.js. This exports the bundle, then watches for changes.
Return to your text editor and save mymodule.js. This will trigger the watchify error in the terminal.

@cperryk Ah something is def up. Thanks for the repro. I'm looking into it

@cperryk I published the fix in<EMAIL_ADDRESS>(a dependency of browserify). If you update browserify, it should work now.

I'm finding that everything works fine now. Thank you!


Feature: Image annotation using image or svg

The purpose of this PR is to add the ability to annotate a line (whether it has a visible width or not) with an image or an icon. I have created the preliminary image annotation functionality. The user on his side needs to load the image as a future, which is standard Flutter stuff. On our side the only thing we really care is that if the image isn't null, we draw the image centered by simple center algorithm: width divided by 2 and height divided by 2.

Further in this PR I will add the ability to annotate using an svg rather than an image.
~This PR builds on #175 to avoid merge conflict. (Not too important since there's not much in 175).~

#175 rebased out of this PR due to big changes in how that PR will be finished

@imaNNeoFighT hello, any updates on this? 🙂

Hello, unfortunately, I'm as busy as bee these days, I will review it ASAP.
Sorry about the delay.
Thanks!

Hi @shamilovtim, I'm thinking about it.
There is a general problem to having widgets inside the chart, it is so sophisticated.
I think we have to find a way to let the user put their own widgets inside the chart,
If it is possible then we don't need it,
you know, I'm trying to solve it in an abstract way, for example, what if the user wants to put a text instead of an image?
What do you think? can we solve it in an abstract way to put any widget inside the chart?
I think we can put our chart inside a Stack widget, then overlap some widgets upon the chart.

@imaNNeoFighT Since the inside of the chart is dynamic with trendlines that depend on data, the only realistic place to annotate the data is either on the axes themselves (this feature) or along the trendline (for example FlSpot.y + 20) which is not yet implemented. Beside these two options, there is very little way of knowing when a statically placed asset is going to conflict with a dynamically placed trendline without some heavy algorithms and I think it would be a waste of developer time and energy.
Witt regards to text it can already be placed along the axes using intervals and labels. This PR allows the placement of either vectors or images along the same axes where text already has the option of existing. Beside text, images and vectors, I can't imagine there's any other kind of widget required since this encompasses everything visual (to my knowledge).
The way I see it if someone wants an annotation along their trendline, this feature doesn't stop that from being implemented, since they are separate requirements. The flspot annotation could probably be implemented separately using this PR as a starting point in the future.

Fixed merge conflict d33c7bc

@imaNNeoFighT since this is a self contained feature that doesn't affect any other functionality. If you want to refactor it in the future and do it a different way, why not just merge it for now? I'm sure 90% of use cases would want to use it as-is and without having the trouble of complicated programming that some kind of manual placement would require. To place any widget anywhere on the chart would require the end user to make algorithms using all sorts of internal functions like getTopOffset() getChartSize() and then there would need to be some way to translate dp to canvas position. I believe it's impractical and does nothing for 99% of use cases, which is what open source functionality is for. Beating ourselves up for small edge cases that a minority of users would use is pointless. Here we take care of all of that complicated work and just let anyone annotate an axis. If someone wants more or to build a feature that changes dp to canvas position with a stack they are welcome to build that. But I suspect it still wouldn't deprecate the simplicity and use case of this feature and this feature would stay even if the other one were created.

Dude, come down :))
I agreed with your previous message, but forgot to mention it,
It's under review and will be merged ASAP.
I know what you mean, and they are completely valid,
I have a concern to show a widget instead of touch tooltips, it's highly needed by users to have a very customizable tooltip (but we should talk about it in a separate thread).
Thanks for your explanation.
Cheers!

Hi,
I couldn't run this branch, there are some compile errors.

Could you please take a look, and change the target branch to dev?
Thanks!

Hello?

too many merge conflicts, i am going to need to recreate this branch

I'm sorry to hear that,
I was really busy and it was my fault.

no worries I'll take care of it


FactoryBot/DynamicAttributeDefinedStatically records an offence when using Ruby's Symbol#to_proc behaviour

In a FactoryBot factory, you can define "before" and "after" callbacks as follows:
FactoryBot.define do
  factory :widget do
    after(:create) { |widget| widget.create_catalogue_entry! }
  end
end

The specified callback (a block) is called after FactoryBot.create.
Because of the magic of Ruby's Symbol#to_proc, this can also be written as:
FactoryBot.define do
  factory :widget do
    after(:create, &:create_catalogue_entry!)
  end
end

However, when you do this, you get an offence like the following logged:
spec/factories/widget.rb:3:5: C: FactoryBot/DynamicAttributeDefinedStatically: Use a block to set a dynamic value to an attribute. (http://www.rubydoc.info/gems/rubocop-rspec/RuboCop/Cop/RSpec/FactoryBot/DynamicAttributeDefinedStatically)
    after(:create, &:create_catalogue_entry!)
    ^^^^^^^^^^^^^^^^^^^^^^^^^

If you ask Rubocop to autocorrect, you get a result like this, which is not valid Ruby syntax:
FactoryBot.define do
  factory :widget do
    after { :create, &:create_catalogue_entry! }
  end
end

The cop should be able to see you're using Symbol#to_proc, and treat that as equivalent to a normal block, which is "dynamic".

I believe this was fixed in #562 - published in v 1.24
Can you confirm?

Looks like it. Leave that with me.

You’re right; I was behind a version. Closing.


fix: correct ulimit nofile issue with brew

brew install texlive was still failing with:
Error: Too many open files @ rb_sysopen
This sets a functional limits.conf soft nofile limit of 4096, but also sets the same default in systemd/user.conf which is required for the ulimit value to be respected in terminals running under Wayland/Xorg.
Relates: #670

🛌

Is my fix wrong?

Is my fix wrong?

Soft limit gets overridden by systemd, so your fix only applies to the hard limit which this isn't affected by.

Is my fix wrong?

I did some testing because there were still reports of the error in PR description/commit message.
I didn't realize there had already been commits to address it, but no, sadly, your fix had not resolved the issue.
Your fix worked for a user logged in at a console tty or via SSH :grinning:, but not for users using Bluefin's default bash shell via Ptyxis or gnome-terminal under gnome.
I discovered that in this scenario, systemd is playing a primary role setting nofile rather than pam_limits.  There is some interplay with the two. For example, I could get pam_limits to raise or lower the hard nofile limit so that it differs from systemd's default. However, I could NOT get pam_limits to raise the soft nofile limit, only reduce it.
In addition, it seems slightly dangerous to raise the soft limit to equal the hard limit, so I did remove those lines in the brew-limits.conf.


I'm using card type: custom:webrtc-camera with an rtsp stream.
Perfectly working so far.
I would like to get the video paused by default on  the dashboard (or a still picture)
It's always playing on the dashboard consuming ressources.
Is there any control to not display the video running on the dashboard ?
Thx

#47


Code packaging files in parent directories

I have a codebase that is structured as follows:
/my_project
├── __init__.py
├── library
│   ├── __init__.py
│   └── library_1.py
└── workflows
    ├── __init__.py
    ├── workflow_1
    │   ├── .redun
    │   ├── __init__.py
    │   └── main.py
    └── workflow_2
        ├── .redun
        ├── __init__.py
        └── main.py

6 directories, 8 files

When working on either /my_project/workflows/workflow_1/ or /my_project/workflows/workflow_2/, I may need to make changes to the library code in /my_project/library/. Redun's code packaging feature seems not to work on patterns that contain absolute paths or relative paths that contain ... It seems to be correctly zipping up the matched code, but not unzipping it in a location that makes it usable when executing the task.
Simply moving the .redun/ directory to the project root is not a good option because different workflows may need different redun.ini files, so a single such file at the root can't really work.
A workaround I have identified is to cd to the root of the project, and then use -c to explicitly reference the redun config dir to use:
cd /my_project
redun -c workflows/workflow_1/.redun run workflows/workflow_1/main.py main

But this makes the command excessively verbose in my opinion.
Overall the code packaging feature is a huge productivity win over rebuilding a docker image every time. Cheers!

You raise good points here. I have thought about how to support code-packaging of parent directories. I haven't come up great solutions at the moment, but raising this issue encourages me to continue to search for improvements. There are some tricky aspects of recreating exactly the right directory structure in the docker container that have been a blocker thus far.
However, there is one workaround that might help you. You can use the environment variable REDUN_CONFIG to avoid having to specify the config on the command line all the time.
cd /my_project/workflows/workflow_1/
export REDUN_CONFIG=../../.redun
redun run main.py main

I think one remaining challenge for your case is that code_includes is interpreted relative to the CWD and likely the more general solution is to interpret it relative to the redun config dir.

Thank you for the suggestions!
I do agree that code_includes probably ought to be interpreted relative to the redun config dir (or really the immediate parent).
Perhaps the following could work as a proper fix.

New config var code_root- the path to the base directory to use for code packaging. Interpreted as relative to the redun config dir. The code_includes and code_excludes patterns will be interpreted relative to code_root.
Disallow absolute paths and relative paths containing .. in code_includes and code_excludes.

This would at least solve my issue, I could just set code_root = ../.. in redun.ini. I'm sure there are other ways, and use cases I haven't considered.


Add logs for model autoconfig

This PR fixes a bug that caused model autoconfiguration to fail.
When doing autoconfiguration, we need to instantiate the pipeline that is associated with that model. We usually have to do that using a gpu. Model itself is not bound to any particular device, so we do our best effort when choosing one to instantiate this temporary pipeline.
When there is no information on the device to use in the config file, we choose any available gpu (0). If there's a cpu instance group mentioned in the config file, we can use the CPU_ONLY_DEVICE, because the pipeline should work on cpu only. Otherwise, we choose any gpu mentioned in the config file.
This logic was broken and the CPU_ONLY_DEVICE was chosen even when it shouldn't be (e.g. there was some incomplete specification of instance groups in the config). This caused the temporary pipeline build failure.

CI MESSAGE: [13282018]: BUILD STARTED

CI MESSAGE: [13282018]: BUILD FAILED

CI MESSAGE: [13296515]: BUILD STARTED

CI MESSAGE: [13296515]: BUILD FAILED

CI MESSAGE: [13311347]: BUILD STARTED

CI MESSAGE: [13311347]: BUILD PASSED

CI MESSAGE: [13311347]: BUILD FAILED


Updating as per latest preview prebuilt release

Hi @Additi - This pull request was opened in the public repo. PMs should work in the private repo, per the Microsoft Docs contributor guide. Would you make this content update in the private repo instead? Thank you! We'll close this PR.


For Muuri it might be useful to enable DISCUSSIONS on GitHub?

 TW developers.
Muuri is very sophisticated. I don't really have Issues so much as needing guidance to grasp how to leverage its complexity best in use!
I was wondering if you might want to enable "Discussions" on this repository? I think that might be a better way to get to use it fully?
Best, TT

Hi @TiddlyTweeter - yes Discussions may make sense. I'll open the Discussion Board

Ciao @BurningTreeC. Tx. I'll write there soonish with Muuri related discussion.


vulnerable: via mail()

The "mail()"-function from php is very buggy, so we need to validate and escaping all user input ...
example 1:
code:
-> https://github.com/peterkahl/Universal-PHP-Mailer/blob/master/universalphpmailer.class.php#L319
problem:
-> the problem is that "this->fromEmail" is used without any validating or escaping, so you can use e.g. ""attacker" -oQ/tmp/ -X/var/www/cache/phpcode.php<EMAIL_ADDRESS>to execute php some code on the server
info:
-> https://legalhackers.com/advisories/SwiftMailer-Exploit-Remote-Code-Exec-CVE-2016-10074-Vuln.html
example 2:
code:
-> https://github.com/peterkahl/Universal-PHP-Mailer/blob/master/universalphpmailer.class.php#L316
problem:
-> the problem is that we can e.g. use the "Subject", "Sender" or any other header + "%0A" to add more code into the mail()-function, so we can send multiple mails e.g. via "sender@anonymous.www%0ACc:recipient@someothersite.xxx%0ABcc:somebloke<EMAIL_ADDRESS>or we can edit the content of the mail etc.
info:
-> http://securephpwiki.com/index.php/Email_Injection

I think this should be handled outside of this package, like @peter279k suggested. Any input should be validated and/or filtered.

Okay, I have added some sanitisation for email strings and all the headers to this package. However, user input validation should be done outside of this as a good rule and precaution.

only for info: FILTER_*EMAIL can't validate IDN- or Unicode-email addresses

Right.
But I am not validating. There are packages for that.
I am only filtering (sanitising) the email string.

On 9 Jan 2017, at 16:08, Lars Moelleken<EMAIL_ADDRESS>wrote:
only for info: FILTER_*EMAIL can't validate IDN- or Unicode-email addresses
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or mute the thread.

@voku This package cannot accept IDN or multibyte characters as email addresses. In other words, only RFC5322 compliant strings.
I will mention it in the package notes/readme soon.
I appreciate that you mentioned it.

Okay. By accident I discovered that my postfix supports SMTPUTF8, when I sent myself mail with utf-8 characters. Postfix accepted the mail, but Dovecot didn't, so the message disappeared into black hole (bounced & removed). Dovecot doesn't support SMTPUTF8 at this moment.
This led me to disabling SMTPUTF8 in my Postfix. I don't want no lost mail!
Besides, I find IDN and multibyte characters in domain and email addresses a wasted effort. Nobody uses them and nobody wants to. (Years ago I tried and found it too cumbersome.)
Therefore, I have no immediate plans to change anything in this class.


Redirect fails after successful login

Hi
I'm trying to connect Ambassador GW to Keycloak using this auth-oidc middleware.
The only change I made in the auth-deployment.yaml and auth-service.yaml was to change from port 8080 to 9090.
I'm using MacOS
Here is the K8S deployments:
NAME                                  READY   STATUS    RESTARTS   AGE
pod/ambassador-558b7b6cb7-8gzq9       1/1     Running   8          28h
pod/ambassador-558b7b6cb7-c8vd8       1/1     Running   9          28h
pod/ambassador-558b7b6cb7-m9jdp       1/1     Running   8          28h
pod/flinckr-events-7b97db9d64-pc2tz   1/1     Running   2          20h
pod/keycloak-0                        1/1     Running   2          17d
pod/oidc-auth-6cb698d467-ljncs        2/2     Running   5          20h
pod/postgres-kc-postgresql-0          1/1     Running   2          18d

NAME                                      TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)                         AGE
service/ambassador                        LoadBalancer   <IP_ADDRESS>     localhost     80:32393/TCP,443:30066/TCP      4d3h
service/ambassador-admin                  ClusterIP      <IP_ADDRESS>    <none>        8877/TCP                        4d3h
service/ambassador-oidc-auth              ClusterIP      <IP_ADDRESS>    <none>        9090/TCP                        20h
service/flinckr-events                    ClusterIP      <IP_ADDRESS>    <none>        9000/TCP                        20h
service/keycloak-headless                 ClusterIP      None             <none>        8080/TCP,8443/TCP               17d
service/keycloak-http                     LoadBalancer   <IP_ADDRESS>   localhost     8080:32156/TCP,8443:32712/TCP   5d15h
service/kubernetes                        ClusterIP      <IP_ADDRESS>        <none>        443/TCP                         18d
service/oidc-auth                         ClusterIP      <IP_ADDRESS>   <none>        9090/TCP                        20h
service/postgres-kc-postgresql            ClusterIP      <IP_ADDRESS>   <none>        5432/TCP                        18d
service/postgres-kc-postgresql-headless   ClusterIP      None             <none>        5432/TCP                        18d

NAME                             READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/ambassador       3/3     3            3           4d3h
deployment.apps/flinckr-events   1/1     1            1           20h
deployment.apps/oidc-auth        1/1     1            1           20h

NAME                                        DESIRED   CURRENT   READY   AGE
replicaset.apps/ambassador-558b7b6cb7       3         3         3       4d3h
replicaset.apps/flinckr-events-7b97db9d64   1         1         1       20h
replicaset.apps/oidc-auth-6cb698d467        1         1         1       20h

NAME                                      READY   AGE
statefulset.apps/keycloak                 1/1     17d
statefulset.apps/postgres-kc-postgresql   1/1     18d

The task is to make Ambassador to redirect to Keycloak in case the user is not authenticated, or in case the session is expired.
Here are the secrets I configured:
kubectl create secret generic ambassador-auth-jwt-key --from-literal=jwt-key=$(openssl rand -base64 64|tr -d '\n ')

kubectl create secret generic ambassador-auth-redis-password --from-literal=redis-password=$(openssl rand -base64 20)

kubectl create secret generic ambassador-auth-oidc-provider --from-literal=oidc-provider="http://keycloak-http:8080/auth/realms/flinckr_realm"

kubectl create secret generic ambassador-auth-self-url --from-literal=self-url="http://localhost"

kubectl create secret generic ambassador-auth-client-id --from-literal=client-id="flinckr_backend"

kubectl create secret generic ambassador-auth-client-secret --from-literal=client-secret= <MY_SECRET>

I'm able to successfully go thru the OIDC process, as was nicely explained in the OIDC-flow.png
The problem I'm facing is that the last redirect is wrong.
I'll explain....
Here what I see in the browser:
1- going to http://localhost/events

Call is being directed to keycloak as was expected
2- Keycloak shows login screen

3- Code is being sent to the browser and from there back to oidc-auth service for generating JWT (if I get it correctly)

4- And now that user is authenticated, I expect the browser to be redirected back to my original request which was http://localhost/events.
But here is the problem, the browser is being redirected to http://localhost (which of course returns 404 Error), instead of going to http://localhost/events.

You could see from the attached images, that the authentication process is correct. The only thing is missing how to make sure the last redirect URL is set correctly
This is the Ambassador image:
image:
  repository: quay.io/datawire/ambassador
  tag: 0.86.0
  pullPolicy: IfNotPresent

This is the Keycloak image:
image:
    repository: jboss/keycloak
    tag: 7.0.0
    pullPolicy: IfNotPresent

Appreciate your help

Hi there,
Thank you for reporting this! Could you post your Ambassador config for the AuthService? My initial guess is that it's set up so that /events gets dropped when requests are routed there so the OAuth client thinks the user is trying to access /. If the AuthService really gets the original URL, I'm interested in whats stored within Redis in the middle of the authentication redirect (when you haven't yet returned from Keycloak to the service).
This software only stores the requested URL and then redirects back to it when the authentication is done, so if it would return something else than it sees it really is a bug. The only time user is redirected to / is when we see an outdated session and user is forced to re-auth with Keycloak.

Hi
Appreciate so much your time and effort.
As for the Ambassador config for the AuthService, do you mean this configuration?
---
apiVersion: v1
kind: Service
metadata:
  name: ambassador-oidc-auth
  annotations:
    getambassador.io/config: |
      ---
      apiVersion: ambassador/v0
      kind:  AuthService
      name:  authentication
      auth_service: "oidc-auth:9090"
      proto: http
      allowed_headers:
      - "X-Auth-Userinfo"
      ---
      apiVersion: ambassador/v0
      kind:  Mapping
      name:  login_mapping
      prefix: /login
      rewrite: /login
      service: oidc-auth:9090
spec:
  type: ClusterIP
  selector:
    app: oidc-auth
  ports:
  - port: 9090
    name: http-oidc-auth
    targetPort: http-api

Here is also the deployment.yaml file of the oidc-auth middleware:
---
apiVersion: v1
kind: Service
metadata:
  name: oidc-auth
spec:
  type: ClusterIP
  selector:
    app: oidc-auth
  ports:
  - port: 9090
    name: http-oidc-auth
    targetPort: http-api
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: oidc-auth
spec:
  replicas: 1
  strategy:
    type: RollingUpdate
  template:
    metadata:
      annotations:
        sidecar.istio.io/inject: "false"
      labels:
        app: oidc-auth
    spec:
      containers:
      - name: oidc-auth
        image: ajmyyra/ambassador-auth-oidc:1.3
        imagePullPolicy: Always
        ports:
        - name: http-api
          containerPort: 9090
        env:
          - name: PORT
            value: "9090"
          - name: REDIS_ADDRESS
            value: "localhost:6379"
          - name: OIDC_SCOPES
            value: "profile email"
          - name: JWT_HMAC_SECRET
            valueFrom:
              secretKeyRef:
                name: ambassador-auth-jwt-key
                key: jwt-key
          - name: REDIS_PASSWORD
            valueFrom:
              secretKeyRef:
                name: ambassador-auth-redis-password
                key: redis-password
          - name: OIDC_PROVIDER
            valueFrom:
              secretKeyRef:
                name: ambassador-auth-oidc-provider
                key: oidc-provider
          - name: SELF_URL
            valueFrom:
              secretKeyRef:
                name: ambassador-auth-self-url
                key: self-url
          - name: CLIENT_ID
            valueFrom:
              secretKeyRef:
                name: ambassador-auth-client-id
                key: client-id
          - name: CLIENT_SECRET
            valueFrom:
              secretKeyRef:
                name: ambassador-auth-client-secret
                key: client-secret

      - name: auth-redis
        image: bitnami/redis:latest
        imagePullPolicy: Always
        ports:
        - name: redis-port
          containerPort: 6379
        env:
          - name: REDIS_PASSWORD
            valueFrom:
              secretKeyRef:
                name: ambassador-auth-redis-password
                key: redis-password

I see a small difference in login_mapping section of your config.
apiVersion: ambassador/v0
      kind:  Mapping
      name:  login_mapping
      prefix: /login
      rewrite: /login
      service: oidc-auth:9090

This is different from our example config that only has prefix: /login/ without the rewrite. What happens if you have just that?

It seems like I had some leftover configuration in Ambassador, since I was trying several configurations while trying to fix the problem I had (turn on/off the Pro mode)
I got back to the basic configuration, as mentioned by you and it works like a magic.
Thank you so much for your time and support

Great to hear! Also happy to notice that people are using the software. I'm doing some improvements for this soon, and adding support for #19. Code quality and test coverage isn't that good currently, so hoping to have this addressed.

These are wonderful news.
I think this is a great project!


@eessex => Refactor Callouts to server-side rendering

The main new thing is that callout articles are now fetched on the server which later lets us add callouts to AMP, instant articles, and rss. Cleans up a bit of the styl/jade stuff as well

💯  Looks good to me


more plots for test file

plot calculated demand and supply in the test plot outputs

closed with https://github.com/ergs/d3ploy/pull/75


Changing Virtual Desktops on Builtin Screen and External Screen

There is an annoying feature which could be corrected.
If you switch with the 4-finger swipe it changes the ""screen"" I'm in, which is GOOD, it's a cool feature.
But, if I have an external monitor connected, the animation affects both monitors...
Expected behaviour
external-screen-1
builtin-screen-1
4-finger swipe when mouse is focused on the builtin monitor
external-screen-1
builtin-screen-2
Current behaviour
external-screen-1
builtin-screen-1
4-finger swipe when mouse is focused on the builtin monitor
external-screen-2
builtin-screen-2

I mean windows put this animation back into the OS.. so is this software still even being developed?  Feels like it should be obsolete now.

Since when did Windows put these back in? I'm on 23H2 and still don't see them.

Almost a year ago.
https://answers.microsoft.com/en-us/windows/forum/all/windows-11-updated-virtual-desktop-animation/f04f877d-e868-48c1-b8c1-137bc32a13f0

@DesktopMasters Interesting, I still don't see them and I'm using 23H2, although maybe Wallpaper Engine might be at fault here.

Try searching your settings for "Visual Effects" and make sure "Animation Effects" is turned on.  If not.. turn it on and reboot.

@DesktopMasters No dice, everything is enabled but I see no animation when using WIN+CTRL and the arrow keys, also not with Wallpaper Engine disabled.

Well your issue is a bit off-topic here and I am only one.  I recommend you visit #Windows in the Libera IRC network https://Libera.chat lots of experts there to help you sort this out.. Including myself.


[5.1] Get routes from RouteCollection by its method

This isn't correct. This would not return a single route but rather a collection of routes. I recommend just getting all the routes and filtering them yourself.

@taylorotwell you are right.. It's about copy/paste demon!

I was looking for this, wanted an array || collection of routes by method name. Wish it was in the framework. Thanks anyway.


Use regular expressions for matching paths

Just an example for the feedback

Interesting, will have a look tomorrow!

This is smart. Do you know how it affects performance? There is a test named StupidPerformanceTest which I use to get very rough impressions on how changes affect performance. Could you try running it before and after the change? It would be better to write one specifically for comparing the two methods, but that's more work.

I suppose that's common method. StupidPerformanceTest doesn't help that much, shows different numbers each time.
Could try to compare it with some microbench this evening.

Generally, it seems like this approach is a bit slower 🤔. Will look into possible optimizations.

On my laptop (mbp 15) it has deviation around 1s, which is strange. Anyway, stepwise string manipulation happens only during path initialization, not during each match.

Anyway, stepwise string manipulation happens only during path initialization, not during each match.

I'm not really that worried then, but it would be great if you could create a performance comparison test before I merge this. You can put the old code in the test dir. I could also write this test, but I don't think I'll have time before next weekend.

@tipsy
Have tested the performance of the new method, results seem to be very neat.

Matching: old: 3.60; new: 1.90
Parameter extraction: old: 4.90; new: 3.75

Deviation is 0.2s.
If you could take a look at the test, would be nice. I tried to go straight with matcher comparison, so it should reflect actual performance. The only thing I am concerned is the StupidPerformanceTest, as it happens to be around 0.2s slower.

Added some CRUD stuff to the performance test. It doesn't cover many cases, though they can be added later. There the performance is old: 95s; new: 83s where deviation could be around 5s.

I'll check it out locally now. Is it merge ready?

The numbers are really impressive on my machine:

Type
Old
New

Matching
1.81
0.43

Parameter extraction
3.63
1.29

Also a lot fewer GC calls.

Yep, it is merge ready. The only thing I am thinking of is escaping regexps in paths (as if somebody will write [a-zA-Z]+ in path definition, it will work.
Though it could be taken as a feature, not a bug 😄

That's a feature (not kidding). I'll merge it later tonight.


Allow this typing and type parameters on static methods

Since constructor visibility #2341 got merged. I haven't been able to utilise it fully since the classes I can benefit from requires type parameters and this typings on static methods.
abstract class Model<P> {
    static create(props: P): this {
        let model = window.store[this.name + props.id];
        if (model) {
            return model;
        }
        return window.store[this.name + props.id] = new this(props)
    }

    protected constructor(props: P) {
    }
}

The Model class is a base class made to be extended. So a this typing would be very good to refer to the subclass instead of the base class. And also since many classes has a type argument in the constructors. It makes sense to allow type arguments in static factory methods as well.

Also since the original reason to allow visibility on constructors was to support static factory methods. So at least this typing on static methods needs to be supported to conform to the original reason.

duplicate of https://github.com/Microsoft/TypeScript/issues/5863


Can I deploy it in vps?

Can I deploy it on a vps?? If yes, then pls tell me how?

Use Cloudflare pages

You can deploy it on a vps too, For that build the react app and serve the output directory.

Well thanks, but I ain't a developer or a computer guy. So i'll just wait, if u ever add this "Deploy on vps" feature in ur project. Thanks anyway.


iOS 10 - Tapping on ad doesn't show ad

For iOS 10, tapping on ad doesn't show ad

Thanks for the report @walsht we're looking into this.


Add uv support

Summary
Add support for UV as a pre-commit hook (drop-in replacement for https://github.com/jazzband/pip-tools
Test Plan
Locally and via this PR as a CI run on GitHub.
There is still a large diff because of https://github.com/astral-sh/uv/issues/1343, once that is resolved this should be 2 line change in the pre-commit for a considerable speedup.

Wouldn't it make sense to rather have this as its own independent pre-commit hook? Otherwise ruff is always installed, though it's not really needed.

Yeah I think we might not package this here — we need to discuss though.

Maybe I should explain where this train of thought comes from: I think the number of ppl. using uv in their pre-commit who are not using ruff will be very small and not having 2 different pre-commit-hook definitions reduces resolution and setup times. Having separate hook definitions for tools from the same org would be unusual but I accept your decision either way - already have this deployed in 40+ repos ;-).

@zanieb Is there any update on the repository structure :)?
Thanks for the hard work btw!

This was added at https://github.com/astral-sh/uv-pre-commit
Thanks for the interest and contribution! Open an issue there if more discussion is necessary.


chore: hotfix redundent import

This change is

#1569  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @ArniStarkware and the rest of your teammates on  Graphite


Mods with incorrect homepages

Background
CKAN Version: 1.25.3
Problem

[x] The right homepage for "BurnTogether Continued" mod is this
[x] The right homepage for "Civilian Population" mod is this
[x] The right homepage for "Distant Object Enhancement" mod is this
[x] The right homepage for "Distant Object Enhancement default config" mod is this
[x] The right homepage for "Earn Your Stripes" mod is this.
[x] The right homepage for "Stock Visual Enhancements" mod is this
[x] The right homepage for "Stock Visual Enhancements-High Res Textures" mod is this
[x] The right homepage for "Stock Visual Enhancements-Low Resolution Textures" mod is this
[x] The right homepage for "Stock Visual Enhancements-Medium Resolution Textures" mod is this
[x] The right homepage for "Stock Visual Terrain" mod is this
[x] The right homepage for "Eva Follower" mod is this

Would you be interested in fixing any of these yourself? You can try it by clicking the mod at http://status.ksp-ckan.org/ to open the netkan, then click the pencil icon to edit, make your changes, then use the box at the bottom to start a pull request.

Would you be interested in fixing any of these yourself? You can try it by clicking the mod at http://status.ksp-ckan.org/ to open the netkan, then click the pencil icon to edit, make your changes, then use the box at the bottom to start a pull request.

Oh. Ok. I didn't now about it.
Check my try, please.

Fixed in:

#6736
#6737
#6738
#6739
#6740
#6741
#6742
#6743
#6744
#6745
#6746


Notice: Undefined offset: 0

Specific user agent string produces error
$s = "Mozilla/5.0 (Linux; Android 4.2.2; KENEKSI Build/JDQ39; ru-ru) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Mobile Safari/537.36 Puffin/<IP_ADDRESS>05AP";
$result = new \WhichBrowser\Parser($s);

Which version of PHP are you using and could you post the full error message, including the file named line number in which the error occurs.

tried these versions

PHP 7.1.10
PHP 5.6.30

PHP Notice:  Undefined offset: 0 in vendor/whichbrowser/parser/src/Data/DeviceModels.php on line 227
PHP Notice:  Undefined offset: 1 in vendor/whichbrowser/parser/src/Data/DeviceModels.php on line 228

also stack trace might be useful
PHP Notice:  Undefined offset: 0 in /my_project/vendor/whichbrowser/parser/src/Data/DeviceModels.php on line 227
PHP Stack trace:
PHP   1. {main}() /my_project/src/t.php:0
PHP   2. WhichBrowser\Parser->__construct() /my_project/src/t.php:4
PHP   3. WhichBrowser\Parser->analyse() /my_project/vendor/whichbrowser/parser/src/Parser.php:23
PHP   4. WhichBrowser\Analyser->analyse() /my_project/vendor/whichbrowser/parser/src/Parser.php:56
PHP   5. WhichBrowser\Analyser->analyseHeaders() /my_project/vendor/whichbrowser/parser/src/Analyser.php:42
PHP   6. WhichBrowser\Analyser->analyseUserAgent() /my_project/vendor/whichbrowser/parser/src/Analyser/Header.php:15
PHP   7. WhichBrowser\Analyser\Header\Useragent->__construct() /my_project/vendor/whichbrowser/parser/src/Analyser/Header.php:85
PHP   8. WhichBrowser\Analyser\Header\Useragent->detectOperatingSystem() /my_project/vendor/whichbrowser/parser/src/Analyser/Header/Useragent.php:19
PHP   9. WhichBrowser\Analyser\Header\Useragent->detectAndroid() /my_project/vendor/whichbrowser/parser/src/Analyser/Header/Useragent/Os.php:19
PHP  10. WhichBrowser\Data\DeviceModels::identify() /my_project/vendor/whichbrowser/parser/src/Analyser/Header/Useragent/Os.php:311
PHP  11. WhichBrowser\Data\DeviceModels::identifyAndroid() /my_project/vendor/whichbrowser/parser/src/Data/DeviceModels.php:55
PHP  12. WhichBrowser\Data\DeviceModels::identifyList() /my_project/vendor/whichbrowser/parser/src/Data/DeviceModels.php:167

Found the issue and will be fixed in the next release.

Fixed in v2.0.29


MailData must have dynamicTemplateData property

The library doesn't send dynamicTemplateData added to the personalization to the SendGrid API.
dynamicTemplateData in the MailData works.

Fixes
Checklist

[ ] I have made a material change to the repo (functionality, testing, spelling, grammar)
[ ] I have read the [Contribution Guide] and my PR follows them.
[ ] I updated my branch with the master branch.
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation about the functionality in the appropriate .md file
[ ] I have added in line documentation to the code I modified

Short description of what this PR does:

If you have questions, please send an email to Sendgrid, or file a Github Issue in this repository.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Should the dynamicTemplateData be removed from personalizations then? @mvpspl619

Any updates here? Would love to get this in and not have to use the legacy templates.

Hello @dyatko,Thanks again for the PR! We want to show our appreciation by sending                                              you some swag. Could you please fill out                                              this form so we can send it to you? Thanks!                                             Team SendGrid DX

@thinkingserious nice, thank you!

Hi guys, I just ran into this exact issue, and am happy to find that it's already taken care of :rocket:
Two questions/remarks:

I just freshly installed @sendgrid/mail, and it seems this change isn't published yet. Where should I check to see when this gets out?
The use case that is referenced in the original issue specifies dynamic_template_data, while the type specifies dynamicTemplateData. I dug through the source code, and as far as I can tell both should work. I suggest to at least make the types and the use case in the docs coherent.

Cheers :raised_hands:

Second the above, any immediate plans on pushing a release?

Hello @edorivai, @kyleowens10,
We publish our releases here and if you sign up for this mailing list, we'll send you an email upon release.
I'm hoping to get this out within weeks if not days with any luck.
For the long term, we are going to be thinking through a sustainable release schedule today with the goal of having more frequent and predictable release schedule
With Best Regards,
Elmer

Just wasted 4 hours on this issue ☹.
Please deploy this to production, it's a pretty confusing issue for us Typescripters.

Do you have any plans to push a new release soon?

wasted days on this lmfao

Exactly what mercurial said 😄

The types are there for me in 6.3.0 but the variables do not come accross unless I send them up with a snaked case'd key.
For now I got this working by creating my own MailData that extends from the one including in the package
export interface IMailData extends MailData {
  personalizations: [
    {
      dynamic_template_data?: { [key: string]: any };
    }
  ];
}

Hello @drewbietron,
We have a deploy coming up that may fix this. I suggest you subscribe to our release newsletter to get the heads up. Thanks!
With Best Regards,
Elmer

hello @thinkingserious ,
dynamic_template_data has to be snake case in type definitions.
if you use camelCase (dynamicTemplateData) then the sendgrid doesn't replace the values.
Would you be providing another release with typedef fixes?
Should I raise a PR with those changes in your lib?
Let me know thanks.


build number 0 needs to be fixed.

@conda-forge/core build number 0 was not pinned on a boost version. I am trying to fix this build: https://github.com/conda-forge/staged-recipes/pull/751 by downgrading conda-build but that version of conda-build pulls the build number 0 of bob.ip.base. Could you please either delete bob.ip.base-2.0.9-py*_0 from conda-forge channel or hotfix its dependency on boost -> boost 1.60.*?
I did write a hotfix script here: https://github.com/conda-forge/conda-forge.github.io/pull/170 a while ago but it is not complete.

The same for bob.io.base build numbers 0, 1, and 2.

I'm confused bob.ip.base build number 0 doesn't seem to be dependent on boost at all.

Because it was not listed as dependency but was being pulled during build because of their dependencies.

I see. Thanks for the clarification. So, they are linking to boost, but they just didn't list it explicitly. Correct?

I mean boost was a dependency but I did not know at that time.

Correct

Ok, so those are now removed.
FYI there didn't seem to be build for bob.ip.base version 2.0.9 build number 0 on Mac. I don't remember if this was intentional (e.g. BLAS related) or unintentional (e.g. failed build).

It's because I introduced the mac builds later.

Ok, that's fine.
Do things seem to be working for you now? Should we close this?

Thank you but not yet. I need to test this later.
On Tue, Jun 21, 2016, 5:25 PM jakirkham<EMAIL_ADDRESS>wrote:

Ok, that's fine.
Do things seem to be working for you now? Should we close this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/conda-forge/bob.ip.base-feedstock/issues/4#issuecomment-227475928,
or mute the thread
https://github.com/notifications/unsubscribe/AFeQx7eJfoDw8xxTjbSfJqMqUjhAB_pGks5qOAJYgaJpZM4I5xkQ
.

This is fixed. Thanks.


feat: Delete row support in auto crud

Added a separate test for custom columns in autogrid + created #1448


Tech spec: Give Calendar Display Options of SMTWTFS vs MTWTFSS

Guidelines
A technical specification exists to guide implementation and to clear any ambiguity around what needs to be done in order to ship a project. The level of detail should be enough so that people won't be wondering how something will be done from a high level, but it shouldn't be so much that the tech spec is basically doing the entire project.
When writing technical documents, err on the side of brevity. Say just enough to get your point across.
When writing tech specs, err on the side of decreasing scope instead of increasing scope if faced with the two choices.
Not every section requires a response. Just leave N/A under a section if it's not applicable.
When completed please post to discussion board.
Task
Currently, the calendar only renders in Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday. We'd like to consider offering an option to have events rendered in Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday Sunday.
Template
Summary:
Provide a short (1-2 sentences) overview of the project, including its purpose and goals.
Scope:
Define the scope of the project, including what is within scope and what is out of scope.
Data model:
Define any changes to data models, including any added or removed indeces or relations.
User Stories:
List the ways the user will interact with the project. e.g. "User will be able to edit their profile."
Implementation Details:
Provide details around how the feature will be implemented, and justify any decisions made. For example, this may include stuff that looks like:

We are using server-side rendering via Next.js instead of client-side rendering because XYZ.
To get a user's information from Discord, we will use the provided code to generate an access token from Discord's OAuth API, and then use that access token to hit various endpoints to get user's profile and guild data.

Provide pseudocode/code snippets if you think they are important for understanding the implementation.
APIs:
Define new API endpoints of the project, including the endpoints, methods, and request/response formats.
Security/Privacy:
Call out any security or privacy concerns, and what can be done to mitigate them.
Testing:
Describe the testing approach and strategy for the project, including unit tests, integration tests, and end-to-end tests.
Open Questions:
Use this space to ask any questions of which you're not sure of the answer, whether it be a technical question or an implementation detail.
Deployment:
Describe any special considerations needed when deploying the project. For example, if there are breaking schema changes, how do we migrate existing data?

Should the days be displayed according to the system settings automatically, or should there be some kind of a switch to toggle between the two options?

Should the days be displayed according to the system settings automatically, or should there be some kind of a switch to toggle between the two options?
Edit: what is a tech spec?

That question can be answered in the tech spec.
Tech specs are a way to scope out and investigate a new feature. @timmyichen has a great write up here

Ah, this will make it so much easier to collaborate! I'll try to create a tech spec in the discussions next week if no one has taken this already


Pass on rustdoc comments

Most of the public API does not have formal rustdoc comments. Would be good to add some.
As a bonus, could look into sculpin docs failing: https://docs.rs/crate/skulpin/0.2.2. This is likely due to the skia crate trying to download prebuilt binaries since the builder doesn't have internet access. Not sure if there is anything we can do about that. It fails for skia-safe as well. If docs.rs isn't an option, might be worth adding a note about this in the readme with instructions to generate documentation locally. Or even committing generated docs to git.

Did a pass on docs, added a note on the readme for how to build/view the docs locally.


[CT-3218] materialized: view is not respected in dbt_project.yml

Is this a new bug in dbt-core?

[X] I believe this is a new bug in dbt-core
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
models under folders with config materialized: view will create tables in Athena database
Expected Behavior
models under folders with config materialized: view shouldn't create tables
Steps To Reproduce
dbt_project.yml :
`
name: 'dbtModels'
version: '1.0.0'
config-version: 2
profile: 'dbtModels'
model-paths: ["models"]
analysis-paths: ["analyses"]
test-paths: ["tests"]
seed-paths: ["seeds"]
macro-paths: ["macros"]
snapshot-paths: ["snapshots"]
clean-targets:         # directories to be removed by dbt clean

"target"
"dbt_packages"

models:
dbtModels:
prep_table:
+materialized: table
# Config indicated by + and applies to all files under models/example/
prep_view:
+materialized: view
`
then when you do dbt run, models under models/prep_view will create tables
Relevant log output
No response
Environment
- OS:macos
- Python:3.10

dbt Core:
  - installed: 1.6.5
Plugins:
  - athena: 1.6.2 - Ahead of latest version!

Which database adapter are you using with dbt?
other (mention it in "Additional Context")
Additional Context
the database is Amazon athena with the dbt-athena plugin

Hi @doofin -- I was not able to reproduce the error you reported.
Using the dbt_project.yml file you shared + the following files worked as expected for me.
Could you try out the set up below and see if it works for you?
One idea
Maybe double-check that you aren't overriding the config within your SQL files for views?
models/prep_view/my_view.sql
{{ config(materialized="table") )}

select 1 as id

Example that worked for me
models/prep_table/my_table.sql
select 1 as id

models/prep_view/my_view.sql
select 1 as id

Run the two relevant models:
dbt run --select my_table my_view

Output
(duckdb_1.6) $ tree models
models
├── prep_table
│   └── my_table.sql
└── prep_view
    └── my_view.sql

3 directories, 2 files

(duckdb_1.6) $ dbt run --select my_table my_view
13:03:00  Running with dbt=1.6.3
13:03:00  Registered adapter: duckdb=1.6.0
13:03:00  Found 2 models, 0 sources, 0 exposures, 0 metrics, 348 macros, 0 groups, 0 semantic models
13:03:00
13:03:00  Concurrency: 1 threads (target='duckdb')
13:03:00
13:03:00  1 of 2 START sql table model main.my_table ..................................... [RUN]
13:03:00  1 of 2 OK created sql table model main.my_table ................................ [OK in 0.11s]
13:03:00  2 of 2 START sql view model main.my_view ....................................... [RUN]
13:03:00  2 of 2 OK created sql view model main.my_view .................................. [OK in 0.05s]
13:03:01
13:03:01  Finished running 1 table model, 1 view model in 0 hours 0 minutes and 0.34 seconds (0.34s).
13:03:01
13:03:01  Completed successfully
13:03:01
13:03:01  Done. PASS=2 WARN=0 ERROR=0 SKIP=0 TOTAL=2

thanks, It seems to work fine. Previously I probably didn't notice that Athena have a "view" tab