Creating the entry in the aspnetusers table manually

Hi
I noted that if a user logs in, he/she gets an entry in the ASPNetUsers table, just like local users. I was wondering what kind of data need to be added to do this prior to the user logging in. I'm devising a system with local roles and I'd like to be able to assign them prior to the user first logging in, but to do that, I need the entry in the ASPNetUsers table (and create one if there's none present).
Thanks
Stephan

Hi,
This is the default ASPNET identity behavior, all external logins require a local account. The difference is the local account is created without a password.
Any updates you want to apply to newly created accounts can be done upon account creation.
Thanks.

I don't mind having that entry - I'm more curious how that record is created so that I could generate it on my own (prior to the user logging in).

This statement UserManager.CreateAsync(user); is the one responsible for creating that record. Internally it calls the UserStore.CreateAsync which in turn creates the DB record.

We also had to prepopulate the User and UserLogin tables with AD Accounts, so in addition to calling UserManager.CreateAsync() we hit UserManager.AddLoginAsync() as well.
For example, we pulled all the users from AD with something similar to the following, and then just built the user and login objects from the AD values:
using System.DirectoryServices;
using System.DirectoryServices.AccountManagement;
using (var context = new PrincipalContext(ContextType.Domain, "YOUR_DOMAIN_NAME"))
{
using (var searcher = new PrincipalSearcher(new UserPrincipal(context)))
{
foreach (var result in searcher.FindAll())
{
DirectoryEntry de = result.GetUnderlyingObject() as DirectoryEntry;
Console.WriteLine("First Name: " + de.Properties["givenName"].Value);
Console.WriteLine("Last Name : " + de.Properties["sn"].Value);
Console.WriteLine("SAM account name   : " + de.Properties["samAccountName"].Value);
Console.WriteLine("User principal name: " + de.Properties["userPrincipalName"].Value);
Console.WriteLine();
}
}
}

I still don't understand how can I prepopulate AspNetUsers table with user records and pair them with AD accounts/ in my case it is Windows 10 development machine.
So ... Test case of OWIN-MixedAuth shows us the case when AD/Windows user authenticate using Windows authentication. And when this is first time user is redirected to confirmation page where he enters mail address and hit the Register button which calls the   ExternalLoginConfirmation method of AccountController.
An here is called

await UserManager.CreateAsync(user)
which (if I understand correctly) creates record in AspNetUsers table
and then is called
await UserManager.AddLoginAsync(user.Id, info.Login)
which (if I understand correctly) connects/pairs this record with AD/windows account.

But how can I do it manually in the background for some users in AD (or some  windows accounts of my local machine)?
I assume that this email address is an attribute which connects   AspNetUsers table and AD/windows account. But where on AD/windows can be seen this email?

I'm a little surprised that you're still using this code base considering it's age. If you're building an Intranet application, this might be fine, but if any external access is required you'll be opening a can of worms. I would highly recommend looking at some newer security packages, like passport for example, which will give you far more options with much better security.
But, if you still want to proceed with this, the 'email' you're looking for is the userPrincipalName in the code above. Note that this might also be their email address, but doesn't have to be. It is, however, what is matched against AD.
As for:

(or some windows accounts of my local machine)

Give up on that right away. Your local machine would be another provider, and won't translate over well to your web server

Brian, thank you to respond.
Yes, I have the requirement to develop authentication for ASP.NET MVC 5 application where some users are logged as domain users (in AD) inside the organisation LAN  and other users come from internet ... and domain users should be logged in automatically by Windows authentication and internet users hould be logged in by Forms Authentication. All users are known in advance, so no self registration is allowed.
All internet resources about this topic point to OWIN-MixedAuth. So I am here, with little malnourished knowledge of Microsoft infrastructure (IIS, AD, ...) and ASP.NET Identity.
Do you have suggestion for different approach, what did you mean with "like passport for example", is this some sort of Microsoft SSO? The organisation, I am working for, have somehow rigid approach regarding infrastructure changes ... they have what they have and don't want changes, so the authentication should be solved more or less programmatically.
Regards.

Well, if you're bound by the current infrastructure then you might very well be in the right place.
I would first verify what flavor of AD is available to you (if you're not already sure). If you have either Active Directory Federation Services OR Azure Active Directory, then you really want to set up your domain users with the standard Oauth flow in ASP.NET Identity. It just saves a ton of trouble down the road.
If that's not possible, then this package probably is the right approach. Be aware of the following though:

If your domain users will also need to log in remotely, then they will need to establish a VPN connection for Windows Authentication to work. This can feel very redundant since the web server is normally available without a VPN.

If a VPN is not possible and you still need to provide remote access for domain users, you'll have to map an additional, non-domain login for each domain user. You can do this manually if your user count isn't too high, or build a self service login mapping page for domain users. It's not much fun either way, and your users may get confused as to which account to use when.

Passport doesn't seem applicable here as it runs on node.js, probably a bad suggestion on my part.   Just keep up to speed on the Microsoft Authentication Libraries so that you can make the most of the infrastructure available to you.

they don't have avilable Active Directory Federation Services OR Azure Active Directory
yes, they have VPN for remote work of domain users, so Windows Authentication should work
So I go OWIN-MixedAuth path.
Thank you for suggestions and directions.

@sacocelarc

But how can I do it manually in the background for some users in AD (or some windows accounts of my local machine)?
I assume that this email address is an attribute which connects AspNetUsers table and AD/windows account. But where on AD/windows can be seen this email?

Users are linked via objectSID. To manually link identities, you need to add a record to AspNetUserLogins as follows:

LoginProvider
ProviderKey
UserId

Windows
{AD objectSID}
{Aspnet User Id}

Where  {AD objectSID} is the Active Directory user objectSID and {Aspnet User Id} is the local aspnet user id.

Mohammad, thank you for this missing piece. When I study code in examples I realized when record in AspNetUsers is created. But I was not aware of role of AspNetUserLogins table.
So if summarize my understanding of workflow in example code:

Get information about Windows/AD account ... info.Login.ProviderKey is set by value of {AD objectSID}
Using  var info = await AuthenticationManager.GetExternalLoginInfoAsync();

Creates record in AspNetUsers with Id = generated UID
var result = await UserManager.CreateAsync(user);

Creates record in AspNetUserLogins which connects  {AD objectSID} and AspNetUsers record
result = await UserManager.AddLoginAsync(user.Id, info.Login);

And instead of allowing process of this self confirmation I can get {AD objectSID} value, create records in AspNetUsers and AspNetUserLogins independently in advance.

@sacocelarc Yes.


Add link to YAML usage in manual-intervention.md

I notice that the very same feature described here is available for YAML syntax using Manual Validation task. As such task seems to be recently introduced (11/30/2020), I guess this page has just not been updated yet. Hence the PR.

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

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

@RoopeshNair - Could you review the proposed update to your article? Thanks.

#sign-off

@steved0x: I'm sorry - only the author of this article, @RoopeshNair, 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.

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


Crash with mek Mekanism-1.7.10-<IP_ADDRESS>

Running latest DEV  build of MEK with latest build of AOBD on curse. Don't know which mod is causing the crash ,but as soon as I click on the creative tab in vanilla minecraft to search for a item I get a freeze for a minute then it crashes . Crash log here http://pastebin.com/tRk6FTXk and I posted this over on the AOBD GitHub as well here  https://github.com/ganymedes01/Another-One-Bites-the-Dust/issues/69

It was AOBD's fault and it's been fixed for a couple of versions.


@hey-api/client-fetch: Error is unknown when using default

Description
The I use a non-200 response code, the Error object is created with a specific type. But if I use response code default the response is created as unknown
OpenAPI specification (optional)
openapi: 3.0.1
info:
  title: Testing
  version: v1
paths:
  '/specific/{id}':
    post:
      tags:
        - Testing
      operationId: SpecficError
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        '500':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  '/default/{id}':
    post:
      tags:
        - Testing
      operationId: DefaultError
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '204':
          description: No Content
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'

components:
  schemas:
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: { }

Configuration
import { defineConfig } from '@hey-api/openapi-ts';

export default defineConfig({
  input: 'source/swagger.yaml',
  output: {
    path: 'output',
    format: false,
    lint: false
  } ,
  client: '@hey-api/client-fetch',
  schemas: false,
  types: {
    enums: 'javascript'
  },
  services: {
    asClass: true,
  }
});

System information (optional)
Example repo: https://github.com/mlankamp/openapi

I think the problem is caused by https://github.com/hey-api/openapi-ts/blob/032bd93a7de9696473887aef5d770e2f78fea076/packages/openapi-ts/src/utils/write/types.ts#L403
The causes the error to be filtered twice, because the operation.errors is already assigned with operation.errors = getErrorResponses(operationResponses);

cc @gergan

Yes I think @mlankamp is correct -> operation.errors are set in operation.ts and they are already filtered through getErrorResponses so no need to filter them once more. It seems that removing the function call is the correct thing to do. Albeit my question is if the logic for the default in https://github.com/hey-api/openapi-ts/blob/a9dfda0afcc125125e8617d6be77f8d8a85e638b/packages/openapi-ts/src/openApi/common/parser/operation.ts#L139 is correct. If I understand the specification correctly https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#fixed-fields-9 or https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#fixed-fields-14 it seems that default covers all the responses, which are not declared. But inferDefaultResponse tries to identify if there are declared success responses and in this way decides if the default is only for error responses...

Sorry for the delay all, try with the next version once it's released


Make it easier to generate sqlx code

To quote the README:

The generated models rely on the modelq/gmq package, I am not sure if this would be OK, or could this be changable and plugable, no idea so far.

I think different users have different preferences. What I think woul be nice, is if it was easier to support generating sqlx code (with a custom template is OK). sqlx uses a "db" tag rather than a "json" tag by default.
With that in mind, it would be great if the default struct template stated something like:
var modelStruct string = `type {{.Name}} struct {
	{{range .Fields}}{{.Name}} {{.Type}} `json:"{{.FieldMeta}}"`{{if .Comment}} // {{.Comment}}{{end}}
	{{end}}
}

instead of
var modelStruct string = `type {{.Name}} struct {
	{{range .Fields}}{{.Name}} {{.Type}} {{.JsonMeta}}{{if .Comment}} // {{.Comment}}{{end}}
	{{end}}
}

That way it would be easier/less hacky to make a "db" tag for sqlx in place of your default JSON tag;-)

@smyrman Yeah, modelq supports the customized template for the generated code, in some project we are using gmq and sqlx together, so we have a template like this
{{ define "struct" }}
type {{.Name}} struct {
    {{range .Fields}}{{.Name}} {{.Type}} `json:"{{.ColumnName}}",db:"{{.ColumnName}}"`{{if .Comment}} // {{.Comment}}{{end}}
    {{end}}
}
{{ end }}

You could refer to https://github.com/mijia/modelq/blob/master/examples/custom.tmpl , define your own code template parts or some of them to override the default ones.

thx. I guess this issue can be resolved.

:)


Flash-attention Installation Failed

Trying to run: pip install flash-attn --no-build-isolation
System build:
Cuda : 12.2
Linux : Ubuntu 20.04
Python : 3.10.12
Pytorch : 2.0.1+cu117
pip : 23.2.1
pip install flash-attn --no-build-isolation
Defaulting to user installation because normal site-packages is not writeable
Collecting flash-attn
Using cached flash_attn-2.3.1.post1.tar.gz (2.3 MB)
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [12 lines of output]
fatal: not a git repository (or any of the parent directories): .git
Traceback (most recent call last):
File "", line 2, in
File "", line 34, in
File "/tmp/pip-install-2m2j8ref/flash-attn_c35a1707629840c39ad89958b7891230/setup.py", line 117, in
raise RuntimeError(
RuntimeError: FlashAttention is only supported on CUDA 11.6 and above.  Note: make sure nvcc has a supported version by running nvcc -V.
  torch.__version__  = 2.0.1+cu117

  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

Do you have nvcc?
From the error message: "make sure nvcc has a supported version by running nvcc -V."

Thanks for your reply @tridao
nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243

We need nvcc 11.6 or above for installation.

@tridao I have the same issue here and my nvcc is 11.8:
Building wheels for collected packages: flash-attn
  Building wheel for flash-attn (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [9 lines of output]
      fatal: not a git repository (or any of the parent directories): .git

      torch.__version__  = 2.0.1+cu118

      running bdist_wheel
      Guessing wheel URL:  https://github.com/Dao-AILab/flash-attention/releases/download/v2.3.1.post1/flash_attn-2.3.1.post1+cu118torch2.0cxx11abiFALSE-cp39-cp39-linux_x86_64.whl
      error: Remote end closed connection without response
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for flash-attn
  Running setup.py clean for flash-attn
Failed to build flash-attn
ERROR: Could not build wheels for flash-attn, which is required to install pyproject.toml-based projects

nvcc:
nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0

I just wget https://github.com/Dao-AILab/flash-attention/releases/download/v2.3.1.post1/flash_attn-2.3.1.post1+cu118torch2.0cxx11abiFALSE-cp39-cp39-linux_x86_64.whl and it works.

I have the same issue, I run the wget you suggested above , but still same error when I run pip install flash-attn.       error: command 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\nvcc' failed with exit code<PHONE_NUMBER>
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for flash_attn
Running setup.py clean for flash_attn
Failed to build flash_attn
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (flash_attn)
PS C:\Users\15023\Documents\Models\Florence>
C:\Users\15023>nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:41:10_Pacific_Daylight_Time_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0

I have the same issue, I run the wget you suggested above , but still same error when I run pip install flash-attn. error: command 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\nvcc' failed with exit code<PHONE_NUMBER> [end of output]
note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for flash_attn Running setup.py clean for flash_attn Failed to build flash_attn ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (flash_attn) PS C:\Users\15023\Documents\Models\Florence>
C:\Users\15023>nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2022 NVIDIA Corporation Built on Wed_Sep_21_10:41:10_Pacific_Daylight_Time_2022 Cuda compilation tools, release 11.8, V11.8.89 Build cuda_11.8.r11.8/compiler.31833905_0

did you solved it ?


dns resolution for http check with round robin dns entries

We have a website setup with round robin DNS entries. We noticed in our website logs that Gatus requests were arriving at all of the IP addresses at the same time. We have 4 IP addresses for the website so Gatus is generating 4 requests each minute (interval for checks is 60s). Is this the expected behavior? From our perspective, the extra traffic is unwanted. We have multiple checks of different components so this is a large increase in traffic.

this may be behavior of our website setup. a weird one.


Radio button field error generates double span with the same message

Hi,
I have a jsp with a form with theme set to bootstrap.
In the form I have an <s:radio > tag that maps to a property in a struts action whose setter method is annotated with the @RequiredFieldValidator annotation.
When I submit the form not having selected one of the radio buttons I obtain the required validation error but the tag generates two  tags one above the radio field and the other below.
The first span is defined as follow:
Specificare un ente

as defined in template radiomap.ftl:
<#assign hasFieldErrors = fieldErrors?? && fieldErrors[parameters.name]??/>
<#if hasFieldErrors>
    <#list fieldErrors[parameters.name] as error>
    ${error?html}<#t/>
    </#list>
</#if>

The second one is defined as follow:

Specificare un ente

as defined in template controlfooter.ftl:
<#assign hasFieldErrors = parameters.name?? && fieldErrors?? && fieldErrors[parameters.name]??/>
<#if hasFieldErrors>

    <#list fieldErrors[parameters.name] as error>
    ${error?html}<#t/>
    </#list>
</#if>

The problem is we have two equal messages one above and the other below.
I noticed the problem exists only for the tags: <s:radio>, <s:checkbox> and <s:checkboxlist> since they don't include the controlheader.ftl template. There's no similar problem for the <s:select>, <s:text> or <s:textarea> tags.
I tried commenting out the first  tag generation from the radiomap.ftl and the result was as expected.
There's a reason I'm missing for this behaviour ?
Thanks

Created project that simulates the problem: struts2-bootstrap-issue19
Created branch for fixing this issue: issue19
todolist:

[ ] s:radio
[ ] s:checkbox
[ ] s:checkboxlist

@jogep @max-trappist
for fixing this issue concerning the double fielderror on s:radio in particular, i'm updating the radiomap.ftl to use the controlheader.ftl .
On first check this seems to solve the problem.
Was there a reason for this tag not to include the controlheader.ftl ?
The main reason i'm asking, is because this file was just changed to add support for dynamic attributes.
see issue #10 and pull-request #18 . This would basicaly remove the code recently added but should still keep the functionality.

found an additional problem with s:radio
Adding cssClass attribute to the s:radio tag generates 2 class attributes on the input tag

found an additional problem with s:radio
Ussing cssStyle adds it as plain text instead of as attribute to the div containing the input fields.

Not using controlheader.ftl for the radiomap.ftl

s:checkbox tag also doesn't work correctly with the attributes cssStyle and cssClass

awaiting #20 to create a pull request

I close this issue as new version is released now.


feat: Prover node stakes to escrow contract

Introduces a BondManager (is that a good name? should we rename it to something else?) that ensures that the staked bond in the escrow contract for a given prover is above a configurable threshold. This method is called regularly from the prover-node.

Docs Preview
Hey there! 👋 You can check your preview at https://66fdb2483c37fc7fd9da0c1c--aztec-docs-dev.netlify.app


'Microsoft.Compute/autoscaleSettings/read' does not match any of the actions supported by the providers

I am getting an error message when when I create the experiment.  I reviewed the instructions and am confident I followed them correctly.  I also tried in two different Azure tenants

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

ID: 1f053c14-2163-1eca-bcd1-c9dbf0e84e7c
Version Independent ID: 9776e858-bb2a-03d1-bddf-35b76a81ce45
Content: Use an Azure Chaos Studio experiment template to take down Virtual Machine Scale Set availability zones with autoscale disabled
Content Source: articles/chaos-studio/chaos-studio-tutorial-availability-zone-down-portal.md
Service: chaos-studio
GitHub Login: @prasha-microsoft
Microsoft Alias: abbyweisberg

@terrymandin
Thank you for bringing this to our attention.
I've delegated this to content author, who will review it and offer their insightful opinions.

I suspect you did not select the autoscale resource in your cluster which is why it's not able to read it.

Or rather, that you need to onboard the autoscale setting and VMSS to chaos studio

#please-close  No response.  Seems you may have fixed the problem. Not a docs issue.


Do not convert '\n' to \r\n' in logs

runv and hyperstart needs updating in order to set stdout to non-term.

Fixed by https://github.com/hyperhq/runv/pull/136


swiss: silence checkptr errors

Silence the race-build checkptr warnings that are triggering on
unsafeSlice.At and unsafeConvertSlice when accessing and constructing the
empty group. The warnings are semi-valid as the empty group slice is actually
the wrong size, but we never access group.slots on this group so that is ok.

This change is

I'm not entirely sure this is the right thing to do or if there is another way to avoid these checks in race builds.

TFTR!
I poked around a little more. I could get rid of the go:nocheckptr declaration on unsafeConvertSlice by not using it to convert emptyCtrls to the "emptyGroup" slice. Doesn't really seem worth it, though. I don't see anything that can be done about the unsafeSlice.At call on an "emptyGroup". I've added some additional commentary to explain what is going on and why these declarations are necessary.


DAM: Make MoveDamItemDialog show new folders

Previously:
Newly created folders weren't shown in the MoveDamItemDialog because the query in the dialog was only executed once and never refreshed.
https://github.com/vivid-planet/comet/assets/13380047/d7f91b07-f060-44d3-8f03-ee1d4d1bb50c
Now:
Refetch is executed every time the MoveDamItemDialog is opened. Meaning the folders are always up to date.
https://github.com/vivid-planet/comet/assets/13380047/dca846b7-5584-40ea-aaa5-c7937025e11e
Alternative:
Manual refetch() call in MoveDamItemDialog on open (I had this solution previously, now replaced it). Like this:
https://github.com/vivid-planet/comet/blob/1e16c132245d4a3c79d459dc7d1985011320e8ed/packages/admin/cms-admin/src/dam/MoveDamItemDialog/MoveDamItemDialog.tsx#L62-L66
Pro:

Query name doesn't have to be hardcoded in other files => less error prone in the future

Con:

Refetch is executed even if it's not necessary
Refetch is executed after the dialog has opened => if the user has a bad internet connection, the folders are suddenly updated after a few seconds

I'd prefer using one of the alternatives suggested by @nsams


Extended compatibility matrix

Which problem is this PR solving?
Resolves: https://github.com/jaegertracing/jaeger-operator/issues/2219
Short description of the changes
The compatibility matrix was missing date for some version. This PR adds that.

Closing due to issues with CI tests


Declare babel-polyfill as dependency or peerDependency

Right now just doing an installation of oao and running it throws an error:
❯ ./node_modules/.bin/oao bootstrap
module.js:471
    throw err;
    ^

Error: Cannot find module 'babel-polyfill'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Users/eli/code/neutrino-dev/node_modules/oao/lib/index.js:4:1)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)

Looking at the code, it is indeed looking for babel-polyfill in the compiled code, but it's only listed as a dev dependency. This should be either a dependency or peer dependency.

Thanks for reporting! Corrected in the latest release.
If you use oao, please send me your feedback!

@guigrpa will do! I've got a PR open to start using it for https://github.com/mozilla-neutrino/neutrino-dev
Thanks!


How join a socket to room and emitting to room?

Hi,
Is there any methods to join to room like in nodejs socket io? , in node, we can do something like socket.join("room name") or do I need to create a struct with arc and add a socket to it?
I am a noob in Rust, so I am comparing nodejs socket io and this repo examples to get an idea.

Hi,
Please check the chat example. It shows how to use rooms.


locally hosted viewer should allow any file location

Included 'qrc://' for Qt resource files

Please refer to PR #6916 for background on HOSTED_VIEWER_ORIGINS, and the related URL validation.
The default set of HOSTED_VIEWER_ORIGINS are the bare minimum that are necessary for https://mozilla.github.io/pdf.js/web/viewer.html to work. For any sort of custom implementation of the default viewer, you should edit HOSTED_VIEWER_ORIGINS as required yourself depending on the situation.
Hence I don't think that this is a change that we need/should make in PDF.js library itself, which is why I'm closing the PR.

Sorry did not see that. The comment  // Hosted or local viewer, allow for any file locations had me thinking the current behaviour was unintentional.


Babel ES6 Polyfill required?

FWIW, babel will soon inject polyfills "automagically" as needed. The goal is to make it transparent to developers, so you don't have to worry about the "Babel runtime" dependencies at all

Thanks @truenorth - yeah I saw those threads.  Noticed the demo wasn't working on iOS devices.  For now I reckon we inject the polyfill into the dummy/demo app, and add a gotcha to the README.
Given you're the Github Pages master, If u do the dummy app polyfill I'll update the readme?

@hhff sounds good :)

u da man @truenorth


adding Bantown public license

Adding the infamous Bantown public license

Used in a number of projects like https://metacpan.org/release/BANTOWN/Time-Cubic-1.0


[Docs] introduction page throws an error after navigation

Environment

All current versions of Chrome, Firefox, and Edge

Reproduction

Go to the introduction page
Click on any other page on the left sidebar
Click on any section in the right table of contents
Go back to the introduction page

Describe the bug
No idea what's going on since the Docs repo isn't available yet.
In Firefox this throws "TypeError: e.value is null" while on Chrome/Edge it's "TypeError: Cannot read properties of null (reading 'querySelectorAll')"
Additional context
No response
Logs
No response

Transferring to (currently) private https://github.com/nuxt/nuxt.com repo to track there.


Make Utf8 validation optional

Can we make isValidUtf8 optional?

No it is a strict part of the standard. Send as binary to get away without this check.

Yes, you are correct but given we are sure all messages are UTF8 or we just want to go nuts and have maximum performance, we should have that flexibility.
http://autobahn.ws/python/reference/autobahn.websocket.html#autobahn.websocket.protocol.WebSocketServerFactory.setProtocolOptions
Autobahn lets us set utf8validateIncoming to false to avoid validation.

So send the text as binary.

If we do that, we loose compression ratio.
Plus, we do some actions based on message so we would have to convert binary to text on server which would waste CPU.

How do you lose compression ratio? The message packet is practically the same thing, just under a different bit flag.

That, and you'd still be converting binary to text regardless. The only difference is where it's being converted -- inside of uws, or inside your code.


runner down fails at ECR step

Describe the bug
Pulumi throws an error when doing runner down at the ECR step. Every subsequent attempt will result in a failure until the nginx-ingress image in the ECR repository is deleted manually.
To Reproduce
Steps to reproduce the behavior:

Clone repo
Set up virtual environment with setup_venv.sh
Run runner -p aws -s new up and wait for all the resources to be created
Initiate stack tear down with runner -p aws -s new down
Pulumi throws error at ECR step

Expected behavior
Stack tear down process happens without any errors.
Your environment

Version of the repo - commit 1b76f7b07c1754221818fccbed4ecf78b1374ccd
Version of KIC: 2.4.1
Version of infrastructure tooling (e.g. Pulumi)
Version of executing environment (e.g. Python, node): Python 3.10.6
OS and distribution: Linux (kernel version 5.15.0-1022-aws), Ubuntu 22.04.1
Details about containerization or virtualization environment: t3.large-type EC2 instance running Ubuntu 22.04.1

Additional context
ECR Repository (ingress-controller-new) not empty, consider using force_delete: RepositoryNotEmptyException: The repository with name 'ingress-controller-new' in registry with id '<ID>' cannot be deleted because it still contains images

@monrax  - thanks for the report; the jenkins jobs do a force by default, but it looks like we need to port that logic into runner.

As a work-around, the following logic is used by the automated Jenkins jobs to ensure we can re-run. It's hacky and sloppy and needs to be fixed...but if you really need to move forward...
https://github.com/nginxinc/kic-reference-architectures/blob/master/extras/jenkins/AWS/Jenkinsfile#L184-L206

Hey @qdzlug, thank you for the work-around. The way I ended up avoiding this issue by passing True to the force_delete parameter here, but I'm not sure if this is the preferred way of deleting this resource.

@monrax - glad you were able to get it working, and thanks for sharing your code - I haven't dug into it that much as of yet, but I think that may be the winning fix. Now, I just need to make sure that putting that in the mainline isn't going to cause issues for anyone with existing infrastructure.


[opentelemetry-operator]  use self-sifned cert not works well.

As described from https://github.com/open-telemetry/opentelemetry-helm-charts/blob/main/charts/opentelemetry-operator/README.md#tls-certificate-requirement 3rd way.
We deploy as following sets:
helm install \
  my-opentelemetry-operator open-telemetry/opentelemetry-operator \
--set admissionWebhooks.certManager.enabled=false

and we also create tls by kubectl create secret tls...
but the opentelemetry-operator pod occurs error :
TLS handshake error from <IP_ADDRESS>:39014: remote error: tls: bad certificate
It can be fix by bundle ca cert for MutatingWebhookConfiguration  and MutatingWebhookConfiguration  like :
{{- if  and (.Values.admissionWebhooks.enabled) (not .Values.admissionWebhooks.certManager.enabled) }} 👈
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
  annotations:
    cert-manager.io/inject-ca-from: {{ printf "%s/%s-serving-cert" .Release.Namespace (include "opentelemetry-operator.name" .) }}
  labels:
    app.kubernetes.io/name: opentelemetry-operator
  name: {{ template "opentelemetry-operator.name" . }}-mutating-webhook-configuration
webhooks:
  - admissionReviewVersions:
      - v1
    clientConfig:
      caBundle:  "xxxxxxxx" 👈
      service:
        name: {{ template "opentelemetry-operator.name" . }}-webhook-service
        namespace: {{ .Release.Namespace }}
        path: /mutate-opentelemetry-io-v1alpha1-instrumentation

/cc @Allex1


Question: attempting to update a notification from captured build output

So I am attempting to to update a single notification from captured output from a build. I was just looking for feedback on going about it because currently I have it synchronously creating one notification per update from the build after following the docs + wiki.
Please feel free to close this if it's not appropriate for this place.
I currently have this:
local custom_notify = function(data, level)
    return notify.async(data, level, {
        title = "Runner",
        render = "compact",
        animation = "slide",
        timeout = false,
        hide_from_history = false
    })
end

local client_notifs = {}

local get_notif_data = function(id)
    if not client_notifs[id] then
        client_notifs[id] = {}
    end
    return client_notifs[id]
end

local replace = function (id, data, level)
    local notif_data = get_notif_data(id)
    print(notif_data["notification"])
    if not notif_data["notification"] then
        notif_data["notification"] = custom_notify(data, level)
        return
    end
    notif_data["notification"] = notify.async(data, level, {
        hide_from_history = true,
        replace = notif_data["notification"]
    })
end

-- split_instr is the build command in this context and args are the build commands args
job:new({
    split_instr[1], args,
    on_stdout = function (err, data)
        if not err then
            -- I am blindly putting in an id of 1 so hopefully it refers to the same notification
            replace(1, data, vim.log.levels.INFO)
        end
    end,
    on_exit = function(j, return_val)
        replace(1, "command " .. instr .. " done")
        if return_val ~= 0 then
            notify(j:result(), vim.log.levels.ERROR)
        end
    end
}):sync(1000000)

As I said currently now this creates a new notification per each captured output and am looking for feedback here. Again, feel free to close if this is not appropriate.

As your snippet is incomplete I can't reliably tell why it's not working but I've created a similar snippet that avoids the use of module level state (I don't maintain the wiki so I can't guarantee the quality :sweat_smile:). Also the use of the async function is unnecessary and on_exit doesn't seem to run in an async context so it caused errors so I removed the async usage.
local notify = require("notify")
local Job = require("plenary.job")

local function job_with_notify(cmd)
  local notification

  local notify_output = vim.schedule_wrap(function(data, level)
    if not notification then
      notification = notify(data, level, {
        title = "Runner",
        render = "compact",
        timeout = false,
      })
      return
    end
    notification = notify.notify(data, level, {
      hide_from_history = true,
      replace = notification,
    })
  end)

  Job:new({
    command = table.remove(cmd, 1),
    args = cmd,
    on_stdout = function(err, data)
      if not err then
        notify_output(data)
      end
    end,
    on_exit = function(j, return_val)
      notify_output("command done")
      if return_val ~= 0 then
        notify(j:result(), vim.log.levels.ERROR)
      end
    end,
  }):start()
end

job_with_notify({"bash", "-c", "for i in {1..3}; do echo hello $i; sleep 1; done;"})

This works perfectly thank you! :D


Syntax error when trying to build Zephir

Just gone through the install steps for Zephir, but once I get to the Zephir Build step I get the following error:
c:\zephir>zephir build
Zephir\ParseException: Syntax error in C:\zephir\test\fcall.zep on line 7

    function zephir_global_method_test(var str)
    -------^

at Library\CompilerFile.php(534)
#0 Library\Compiler.php(159): Zephir\CompilerFile->preCompile(Object(Zephir\Compiler))
#1 Library\Compiler.php(199): Zephir\Compiler->preCompile('test\fcall.zep')
#2 Library\Compiler.php(686): Zephir\Compiler->recursivePreCompile('test')
#3 Library\Compiler.php(880): Zephir\Compiler->generate(Object(Zephir\Commands\CommandBuild))
#4 Library\Compiler.php(985): Zephir\Compiler->compile(Object(Zephir\Commands\CommandBuild), false)
#5 Library\Compiler.php(1054): Zephir\Compiler->install(Object(Zephir\Commands\CommandBuild), false)
#6 Library\Commands\CommandAbstract.php(72): Zephir\Compiler>build(Object(Zephir\Commands\CommandBuild))
#7 Library\Bootstrap.php(200): Zephir\Commands\CommandAbstract->execute(Object(Zephir\Config), Object(Zephir\Logger))
#8 compiler.php(21): Zephir\Bootstrap::boot()
#9 {main}

This is using php 5.6 nts with VS2012.
System PATH currently has these (Plus many more)
C:\xampp\php; //(5.5 nts)
C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;
C:\zephir\bin;
C:\phpdevpack; //(php-5.6.6-nts-Win32-VC11-x86.zip)
C:\phpsdk; //(php-sdk-binary-tools-20110915.zip)

Not to sure what else to put here but I'll happily supply any other info needed.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/9662304-syntax-error-when-trying-to-build-zephir?utm_campaign=plugin&utm_content=tracker%2F280146&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F280146&utm_medium=issues&utm_source=github).

Did you recompile a parser?

All I've done is follow the steps as described here https://github.com/phalcon/zephir/blob/master/WINDOWS.md except for the setx commands were failing with a "WARNING: The data being saved is truncated to 1024 characters." error, so I set them manually in System/Advanced System Settings/Environmental Variables/Path

You need a visibility before 'function': public, protected, private, etc

I've not modified the code in anyway yet, all I've done is clone the current repo from github. I'm only trying to test phalcon 2 at the moment.

Have removed the thread safe xampp 5.5 PHP in favour of 5.6 nts updated PHP dev tools for 5.6 but still have the same error regarding incorrect syntax on line 7

Its because the windows zephir compiler binary hasnt been updated yet.
@andresgutierrez Is it ok to replace the cygwin binaries with native msvc binaries? (As my jsonc patch allows)
If so, I could do the PR for that.

Is there anything I can do to get around this (without installing Linux) ?

You need a newer version of the win32 parser, which you could build yourself
Else you will have to wait until somebody updates the binary or use the one from my zephir-ng branch.

Think I'll try the last option :-) will forking your repo and trying to build it succeed do you think.
On a side note, is there a reason why 2.0 dlls aren't simply downloadable like the 1.3.* are? Is it an effort to push all phalcon devs to dabble in zephir?

@steffengy
Can you please create PR with latest regenerated parser?

@steffengy yes, could you please submit a regenerated parser?

Ok I Will commit it with instructions very soon :)

Seems to be okey, will close


Password decryption error with non-admin User

Hi,
I've got an user, which is not an admin. I set the permissions with Set-LapsADReadPasswordPermission and set the authorized decryptors group via GPO.
When I try to read the password with the user with  Get-LapsADPassword -Identity COMPUTERNAME -AsPlainText it works without problems.
LAPS-WebUI shows an error related to decryption, when I run the decryption script manually I get the following error:
PS C:\Users\vodi> python "C:\System Management\LAPS-WebUI-v1.5.5-win-x64\scripts\DecryptEncryptedLAPSPassword.py" --user "sbplanbau\NON-ADMIN-USER" --password "REDACTED" --data "REDACTED_BASE64"
Traceback (most recent call last):
  File "C:\System Management\LAPS-WebUI-v1.5.5-win-x64\scripts\DecryptEncryptedLAPSPassword.py", line 17, in <module>
    main()
  File "C:\System Management\LAPS-WebUI-v1.5.5-win-x64\scripts\DecryptEncryptedLAPSPassword.py", line 13, in main
    decryptedBlob = dpapi_ng.ncrypt_unprotect_secret(username=args.username, password=args.password, data=encyrptedPass)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python312\Lib\site-packages\dpapi_ng\_client.py", line 608, in ncrypt_unprotect_secret
    rk = _sync_get_key(
         ^^^^^^^^^^^^^^
  File "C:\Program Files\Python312\Lib\site-packages\dpapi_ng\_client.py", line 215, in _sync_get_key
    return _process_get_key_result(resp)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python312\Lib\site-packages\dpapi_ng\_client.py", line 131, in _process_get_key_result
    return GetKey.unpack_response(raw_resp)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python312\Lib\site-packages\dpapi_ng\_gkdi.py", line 132, in unpack_response
    raise ValueError(f"GetKey failed 0x{hresult:08X}")
ValueError: GetKey failed 0x80070005

Running the same python command but with the login data of an admin user shows the decrypted password.

If i got this right this seems a issue with dpapi_ng itself? LAPS-WebUI just wraps this python module.
My gut feeling would be that there is a connection problem. For LAPSv2 you need RPC and LDAP. Is there a firewall in between?

I had the same issue but i worked out it was due to the password history. Whilst the user is now part of the group that can decrypt the current password, the group wasnt designated as the password decryptor when previous passwords were created, the previous password decryptor was still set as the Domain Admins group.
As I'm still in the testing stage I simply cleared the msLAPS-EncryptedPasswordHistory attribute and voila no more errors.


gcc14 compatibility on Loongarch64

Hello,
I tried to compile current OpenBLAS code (downloaded through git) using gcc 14.1 and get an "unrecognized argument in option ‘-mabi=lp64’" error.
Operating system: AOSC Linux loongarch64 (can also be observed on other systems such as loongnix, Arch, etc.)
Host: Loongson-3A6000-HV-7A2000-1w-V0.1-EVB
The error message is the following:

gcc-14.1.0 -O2 -DMAX_STACK_ALLOC=2048 -Wall -mabi=lp64 -DF_INTERFACE_GFORT -fPIC -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=8 -DMAX_PARALLEL_NUMBER=1 -DBUILD_SINGLE=1 -DBUILD_DOUBLE=1 -DBUILD_COMPLEX=1 -DBUILD_COMPLEX16=1 -DVERSION="0.3.27.dev" -UASMNAME -UASMFNAME -UNAME -UCNAME -UCHAR_NAME -UCHAR_CNAME -DASMNAME=sdsdot -DASMFNAME=sdsdot_ -DNAME=sdsdot_ -DCNAME=sdsdot -DCHAR_NAME="sdsdot_" -DCHAR_CNAME="sdsdot" -DNO_AFFINITY -I.. -I. -UDOUBLE  -UCOMPLEX -c sdsdot.c -o sdsdot.o
gcc-14.1.0: 错误：unrecognized argument in option ‘-mabi=lp64’
gcc-14.1.0: 附注：valid arguments to ‘-mabi=’ are: lp64d lp64f lp64s; did you mean ‘lp64d’?

...
...
"-mabi=" should be "lp64d" but the program has chosen wrong arguments "lp64".
The solution:
I checked the place where  "-mabi=" is defined in the file "Makefile.system" at the line 964:
https://github.com/OpenMathLib/OpenBLAS/blob/5d678f18318e99111c40d4f25efae4764143cfb0/Makefile.system#L964
Based on the information at this line I tested "gcc-14.1.0 -c cpuid_loongarch64.c" and "clang -c cpuid_loongarch64.c". In both cases I get error messages and useful suggestions. See below:
"gcc-14.1.0 -c cpuid_loongarch64.c":

cpuid_loongarch64.c: 在函数‘get_architecture’中:
cpuid_loongarch64.c:84:3: 错误：隐式声明函数‘printf’ [-Wimplicit-function-declaration]
84 |   printf("LOONGARCH64");
|   ^~~~~~
cpuid_loongarch64.c:36:1: 附注：include ‘<stdio.h>’ or provide a declaration of ‘printf’
35 | #include <sys/auxv.h>
+++ |+#include <stdio.h>
36 |

"clang -c cpuid_loongarch64.c":

cpuid_loongarch64.c:84:3: error: call to undeclared library function 'printf' with type 'int (const char *, ...)'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
84 |   printf("LOONGARCH64");
|   ^
cpuid_loongarch64.c:84:3: note: include the header <stdio.h> or explicitly provide a declaration for 'printf'
1 error generated.

Following the suggestion above I added one more line "#include <stdio.h>" below line 35 " #include <sys/auxv.h>" in the file cpuid_loongarch64.c. The building error here is gone and the program can correctly recognize "-mabi=lp64d".
By the way, there is still a utest failing error in the end of the compilation:

TEST 63/67 potrf:smoketest_trivial [FAIL]
ERR: test_potrs.c:535  L s(0,0) difference: 1.19209e-07

It looks very strange to me. In the file test_potrs.c:534-535 the bound is 1e-5. Why the test failed when err=1.19209e-07?
https://github.com/OpenMathLib/OpenBLAS/blob/5d678f18318e99111c40d4f25efae4764143cfb0/utest/test_potrs.c#L534-L535

Thank you. I'll fix the GCC 14 compatibility issue. As for the other problem, I'll find a 3A6000 computer to verify it.

Test environment：

OpenBLAS: 8da6f7e5f29a6ed8ae0513cc0a8d62425803aaa5 && make USE_SIMPLE_THREADED_LEVEL3=1 NO_AFFINITY=0
OS: Loongnix GNU/Linux 20 (DaoXiangHu) loongarch64
Host: Host: Loongson-3A6000-HV-7A2000-XA61200
Kernel: 4.19.0-19-loongson-3
Gcc: gcc version 8.3.0 (Loongnix 8.3.0-6.lnd.vec.37)

Test Result:

TEST 62/67 axpby:saxpby_inc_0 [OK]
TEST 63/67 potrf:smoketest_trivial [OK]
TEST 64/67 potrf:bug_695 [OK]
TEST 65/67 kernel_regress:skx_avx [OK]
TEST 66/67 fork:safety [OK]
TEST 67/67 fork:safety_after_fork_in_parent [OK]
RESULTS: 67 tests (67 ok, 0 failed, 0 skipped) ran in 216 ms

I didn't reproduce this issue. Perhaps I should upgrade to GCC 14.

It looks very strange to me. In the file test_potrs.c:534-535 the bound is 1e-5. Why the test failed when err=1.19209e-07?

It is indeed quite strange. I wonder if it's related to the compiler.

I wonder if it's related to the compiler.

You are probably right.  I tested on AOSC OS (loongarch64). The system default gcc 13.2.0 is fine with no errors:

TEST 60/67 axpby:saxpby_inc_2 [OK]
TEST 61/67 axpby:saxpby_inc_1 [OK]
TEST 62/67 axpby:saxpby_inc_0 [OK]
TEST 63/67 potrf:smoketest_trivial [OK]
TEST 64/67 potrf:bug_695 [OK]
TEST 65/67 kernel_regress:skx_avx [OK]
TEST 66/67 fork:safety [OK]
TEST 67/67 fork:safety_after_fork_in_parent [OK]
RESULTS: 67 tests (67 ok, 0 failed, 0 skipped) ran in 282 ms

However AOSC backports many changes not in upstream GCC 13.2 to their "13.2": https://github.com/AOSC-Dev/aosc-os-abbs/tree/stable/core-devel/gcc/01-runtime/patches
Using gcc 13.2 compiled from official source I got the same utest failing error:

TEST 60/67 axpby:saxpby_inc_2 [OK]
TEST 61/67 axpby:saxpby_inc_1 [OK]
TEST 62/67 axpby:saxpby_inc_0 [OK]
TEST 63/67 potrf:smoketest_trivial [FAIL]
ERR: test_potrs.c:535  L s(0,0) difference: 1.19209e-07
TEST 64/67 potrf:bug_695 [OK]
TEST 65/67 kernel_regress:skx_avx [OK]
TEST 66/67 fork:safety [OK]
TEST 67/67 fork:safety_after_fork_in_parent [OK]
RESULTS: 67 tests (66 ok, 1 failed, 0 skipped) ran in 257 ms
make[1]: *** [Makefile:82：run_test] 错误 1

On Loong Arch Linux it fails too. System default gcc is 14.0.1 20240316 (experimental):

使用内建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/loongarch64-unknown-linux-gnu/14.0.1/lto-wrapper
目标：loongarch64-unknown-linux-gnu
配置为：/build/gcc/src/gcc/configure --enable-languages=c,c++,fortran,lto,m2,objc,obj-c++ --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --disable-multiarch --disable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror
线程模型：posix
支持的 LTO 压缩算法：zlib zstd
gcc 版本 14.0.1 20240316 (experimental) (GCC)

utest results:

TEST 60/67 axpby:saxpby_inc_2 [OK]
TEST 61/67 axpby:saxpby_inc_1 [OK]
TEST 62/67 axpby:saxpby_inc_0 [OK]
TEST 63/67 potrf:smoketest_trivial [FAIL]
ERR: test_potrs.c:535  L s(0,0) difference: 1.19209e-07
TEST 64/67 potrf:bug_695 [OK]
TEST 65/67 kernel_regress:skx_avx [OK]
TEST 66/67 fork:safety [OK]
TEST 67/67 fork:safety_after_fork_in_parent [OK]
RESULTS: 67 tests (66 ok, 1 failed, 0 skipped) ran in 218 ms
make[1]: *** [Makefile:82：run_test] 错误 1

After " pacman -Syu " in Arch Linux to update the software I got an updated version of gcc 14.0.1:

使用内建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/loongarch64-unknown-linux-gnu/14.0.1/lto-wrapper
目标：loongarch64-unknown-linux-gnu
配置为：/build/gcc/src/gcc/configure --enable-languages=c,c++,fortran,lto,m2,objc,obj-c++ --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --disable-multiarch --disable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror
线程模型：posix
支持的 LTO 压缩算法：zlib zstd
gcc 版本 14.0.1 20240421 (experimental) (GCC)

compile OpenBLAS again I got the same potrf:smoketest_trivial [FAIL] but happened at different place:

TEST 60/67 axpby:saxpby_inc_2 [OK]
TEST 61/67 axpby:saxpby_inc_1 [OK]
TEST 62/67 axpby:saxpby_inc_0 [OK]
TEST 63/67 potrf:smoketest_trivial [FAIL]
ERR: test_potrs.c:541  L d(0,0) difference: 4.44089e-16
TEST 64/67 potrf:bug_695 [OK]
TEST 65/67 kernel_regress:skx_avx [OK]
TEST 66/67 fork:safety [OK]
TEST 67/67 fork:safety_after_fork_in_parent [OK]
RESULTS: 67 tests (66 ok, 1 failed, 0 skipped) ran in 227 ms
make[1]: *** [Makefile:82：run_test] 错误 1

This is still strange since the bound here is 1e-12 but err=4.44089e-16
https://github.com/OpenMathLib/OpenBLAS/blob/8da6f7e5f29a6ed8ae0513cc0a8d62425803aaa5/utest/test_potrs.c#L540-L541

I don't think we can do anything about a broken compiler, unless there is a known compiler flag that happens to work around the problem. If gcc14 gets something as fundamental as floating point comparisons in plain C code wrong, the library built by it will probably be unusable even if we manage to "fix"  a single test.


WIP: feat: pfe-dropdown

Title of this pull request

Link to discovery documentation (should contain all the planning and requirements for this work):

See the DISCOVERY.md template at the root of the project

Link(s) to demo pages where this element can be viewed:

What has changed and why
Summarize files edited as part of this MR along with a brief description of what was changed/why.

Testing instructions
Be sure to include detailed instructions on how your update can be tested by another developer.

Browser requirements
Your component should work in all of the following environments:

[ ] Latest 2 versions of Edge
[ ] Internet Explorer 11 (should be useable, not pixel perfect)
[ ] Latest 2 versions of Firefox (one on Mac OS, one of Windows OS)
[ ] Firefox 60.7.2 (or latest version for Red Hat Enterprise Linux distribution)
[ ] Latest 2 versions of Chrome (one on Mac OS, one of Windows OS)
[ ] Latest 2 versions of Safari
[ ] Galaxy S9 Firefox
[ ] iPhone X Safari
[ ] iPad Pro Safari
[ ] Pixel 3 Chrome

Your repository infrastructure updates should work for at least:

[ ] Node v8.x
[ ] NPM v7.x

Ready-for-merge Checklist

[ ] Expected files: all files in this pull request are related to one feature request or issue (no stragglers)?
[ ] Did browser testing pass?
[ ] Did you update or add any necessary documentation (README.md, WHY.md, etc.)?
[ ] Was this feature demo'd and the design review approved?
[ ] Did you update the CHANGELOG.md file with a summary of this update?

Be sure to share your updates with the<EMAIL_ADDRESS>mailing list!

@diwanshi here's the branch for the new pfe-dropdown element we're going to start working on.

@eyevana @kylebuch8 hola!!
I've added keyboard accessibility features to the dropdown. Can you please review if this is what's expected.
I think I might need to restructure the code I've written. Also, how do we test if a component passes all the accessibility features?

@eyevana @kylebuch8 i messed up my branch and now there is a merge conflict in the branch.
Give me sometime to fix xit.

@diwanshi when you tab onto the dropdown, hit tab again, it opens the list. Should that be the case?

@eyevana  I was also seeing this in the console

@eyevana  we had one small request from the UX team, can we add the cursor:pointer to this element? then, let's ship it! 🥳

@starryeyez024 should disabled items also have the pointer cursor?

@starryeyez024 should disabled items also have the pointer cursor?

@eyevana Nope! good question :)


Please add a license?

Please document the license under terms of which this software is made available to use, and possibly package and redistribute. The absence of one at the very least prevents making this available in package managers.
Thank you!

Hi there,
We'll look to add a license soon. We already have this packaged as a snap: https://snapcraft.io/velbus-tcp

Addressed in #16


fix(cmake): downgrade openssl to 1.0.2u

What type of PR is this?
/kind bug
Any specific area of the project related to this PR?
/area build
What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #89
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
build: downgrade openssl to 1.0.2u

Welcome @zuc! It looks like this is your first PR to falcosecurity/libs 🎉

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: zuc
To complete the pull request process, please assign gnosek after the PR has been reviewed.
You can assign the PR to them by writing /assign @gnosek in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi @zuc. Thanks for your PR.
I'm waiting for a falcosecurity member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

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

/ok-to-test

LGTM label has been added.  Git tree hash: 92b5ae2a262aa2141c0f0682f84950e93316efd5

/approve

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: leogr, zuc
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


BUG: lambdaurl.Wrap does not add Content-Type or Content-Length headers like http.ResponseWriter does

The http.ResponseWriter implementation says the following thing about Content-Type header (and it actually has a note about Content-Length too).

If WriteHeader has not yet been called, Write calls
WriteHeader(http.StatusOK) before writing the data. If the Header
does not contain a Content-Type line, Write adds a Content-Type set
to the result of passing the initial 512 bytes of written data to
DetectContentType. Additionally, if the total size of all written
data is under a few KB and there are no Flush calls, the
Content-Length header is added automatically.

As of right now the lambdaurl.Wrap implementation completely misses this and causes all content without an explicit Content-Type header to get it with application/json. Which is different and incorrect when compared to how the http.Handler normally works.
A simple repro for this is to use http.FileServer with e.g. HTML files. The HTML files will not be loaded by the browser properly as the response will have Content-Type: application/json header in it but when running the same handler normally it will work fine.

Ooof, I thought that the Function URL backend would at least be defaulting to application/octet-stream, getting application/json as a default is confusing.
For this package, I don't think I want to attempt being 100% compatible with the http.ListenAndServe behavior, specifically the Flusher interface. The backend for Function URLs has it's own size and time based logic for flushing out to the client, so mimicking Go's http server defaults ontop of that seems like a footgun. There's other stuff like Trailer that the stdlib documents, that isn't feasible to make work for Lambda Function URLs.
Calling http.DetectContentType on the first Write ought to resolve most of the problem, at minimum getting rid of the default application/json, though again, since there'll be no internal buffering, I'm sure it'll be possible to contruct a case where the detected content types differ.

Any timeline on when this might be fixed? This is blocking my project at the moment and I would be happy to know whether I should just implement a fix on my end or to wait for the upstream fix.

Released as a part of https://github.com/aws/aws-lambda-go/releases/tag/v1.42.0


Adding interceptors to TransportChannelProvider

Interceptors currently have to be specified on an implementation of TransportChannelProvider, e.g. InstantiatingGrpcChannelProvider.
What do you think about adding methods to TransportChannelProvider to set interceptors? The idea being to write unit tests which replacing InstantiatingGrpcChannelProvider with LocalChannelProvider, and still being able to test interceptors all through the stack? We might need some convenience methods for test asserts in LocalChannelProvider as well.
Here are the current implementations (in GAX):
LocalChannelProvider (com.google.api.gax.grpc.testing)
InstantiatingGrpcChannelProvider (com.google.api.gax.grpc)
FixedTransportChannelProvider (com.google.api.gax.rpc)
InstantiatingHttpJsonChannelProvider (com.google.api.gax.httpjson)
LocalChannelProvider and InstantiatingGrpcChannelProvider can both implement these methods.
FixedTransportChannelProvider should probably return false for needsInterceptors() and throw on withInterceptors().
InstantiatingHttpJsonChannelProvider currently doesn't support interceptors, and I didn't see any support drilling down to HttpRequestRunnable. Maybe should do the same as above for FixedTransportChannelProvider?

@vam-google Do you have any updated thoughts on this?


login page done with auth

in firebase.js, there is a line "import firebaseConfig from "./firebaseConfig"". But firebaseConfig file is missing


electron application

no more errors, working good

I would remove the rebabel.exe because it won't work on linux or macs.


Disable all unused features of dependencies

Features take time to build. Go through the entire crate graph and figure out which features are on that we don't need. Turn those features off and measure the change in build time and binary size.

Hi! I am a long time admirer of CNCF and their projects. I have a little experience with rust and a lot of free time to work. If someone can mentor me over this issue, I would be glad to work on it!

@psinghal20 Awesome! I'm glad to mentor. This project is going to mostly be about getting to know the crates in our crate graph, understanding whether each of their features add code or remove code, and adjusting them as needed.
Is there anything you need to know to get started?
I was just going to add a note here that this issue also may require turning features on to disable extra code, since there are many "negative" features, like "no_std".
Here's the documentation on cargo features: https://doc.rust-lang.org/cargo/reference/manifest.html#the-features-section
I'd start my just getting to know the crate graph by installing cargo-tree: cargo install cargo-tree, then running cargo tree in the root directory. Everything it lists is a crate that might have features turned on that we don't need.
Then our [Cargo.toml] file lists its direct dependencies. Those are probably the ones to inspect first because they can easily be changed from our Cargo.toml. Offhand I don't know of a simple way to list, describe and understand the features of a crate but to look at its own Cargo.toml, though often the README.md or API docs for a crate will mention some features. Find a crate's Cargo.toml by searching on https://crates.io/ then clicking either "Repository" , or "Home page" for that crate.
Note that the "components" folder contains several other Rust projects that are dependencies of TiKV.
For this project it would be very nice to have a tool that lists every feature in the crate graph, and indicates whether they are on or off. I think it will become difficult to tell which features we've affected without such a tool. I don't know of such a tool, though certainly cargo could be modified to log that info. If you find yourself wanting such a tool, I'd suggest asking in the #cargo Rust discourse channel how to make it.
I'll follow this issue, but if you need to get ahold of me more quickly the best ways are probably to email<EMAIL_ADDRESS>or direct message me on wechat.

Direct deps are now done. There is still opportunity to dig deeper in the crate graph, modify upstream crates to disable default features of their deps, then upgrade them here.


Vue cannot detect the Change of Date

Vue.js version
1.0.24
Reproduction Link
https://jsfiddle.net/bsqgx1f9/5/
Steps to reproduce
Add a Date as vue data, then change it.
What is Expected?
the html change when the Date object change
What is actually happening?
No change on html

Vue does not watch methods of Date objects, so if you mutate it, Vue cannot recognize it.
You have to do this:
this.d. = this.d.setFullYear(2000);


PANIC: called Option::unwrap() on a None value in query-engine/core/src/query_document/parser.rs:250:87

UPDATE: I can reproduce this error consistently.
It happens after sending quite high volume to Prisma. Nested upserts. It only starts to show after a few minutes.
Happening both locally and on our deployed servers.
Hi Prisma Team! My Prisma Client just crashed. This is the report:
Versions

Name
Version

Node
v14.15.3

OS
darwin

Prisma Client
3.0.2

Query Engine
0.1.0

Database
postgresql

What happened:
I was sending a high volume of upserts to Prisma. I can send the schema in private if needed.
Logs
 prisma:client:fetcher how you used Prisma Client in the issue.
  prisma:client:fetcher
  prisma:client:fetcher     at LibraryEngine.logger (project/db/node_modules/@prisma/client/runtime/index.js:25007:32)
  prisma:client:fetcher     at project/db/node_modules/@prisma/client/runtime/index.js:24977:36
  prisma:client:libraryEngine sending request, this.libraryStarted: true

Client Snippet
// PLEASE FILL YOUR CODE SNIPPET HERE

Schema
I can send the schema in private if needed.
// PLEASE ADD YOUR SCHEMA HERE IF POSSIBLE

Prisma Engine Query
{"X":{}}

Can you reproduce this consistently? Even more interesting, can you build a reproduction of it in an isolated project? I know we get these reports sometimes, but we could never reproduce them (reliably) ourselves and so are having a really hard time pinpointing what is going on.

@janpio That is the issue, it's really hard to reproduce it, it happens sometimes, randomly, even if you have a workaround for one query, another query randomly does this.
https://github.com/prisma/prisma/issues/9795

I can reproduce it. If I send a lot of queries it will happen after a few minutes. Happy to give repo access to the Prisma team if it helps you debug it properly.

Any chance this will work better if I use queryRaw or it won't make any difference?
Other option is that I move this piece to another Postgres library.

Happy to share repo access in private if it helps fix this bug.

That would be nice. Can you please invite @janpio and @pantharshit00? Thanks.

Any chance this will work better if I use queryRaw or it won't make any difference?

That might be interesting to test actually. "Just" send the same queries the current Prisma Client call creates via queryRaw and see if it also triggers this problem. Actually might help us pinpoint the problem here.
I am really happy you found a workaround, even though it adds half a second delay between each upsert - I hope that is acceptable to you for now. We will look into this of course, especially as there are also other, related issues. Hope we can figure this out soon.

So the workaround isn't perfect. Even with 500ms break it still happens but a lot less than before.
Was actually trying to reproduce the problem today locally but couldn't get it to crash locally (probably would have eventually if I waited long enough). I'll work on a demo repo and see if I can stress Prisma enough to resurface the bug on a consistent basis.

"Kinda consistent" is also fine, we just need something we can get to run in under half an hour with instructions on how to hammer it to probably cause the problem sooner or later.

In response to:
https://github.com/prisma/prisma/issues/9795#issuecomment-965539739
What is your Prisma version (prisma -v)?
prisma                  : 3.4.2
@prisma/client          : 3.4.2
Current platform        : darwin
Query Engine (Node-API) : libquery-engine 57771c0558568c7d08bd34c7248af5244ae16bd9 (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli 57771c0558568c7d08bd34c7248af5244ae16bd9 (at node_modules/@prisma/engines/migration-engine-darwin)
Introspection Engine    : introspection-core 57771c0558568c7d08bd34c7248af5244ae16bd9 (at node_modules/@prisma/engines/introspection-engine-darwin)
Format Binary           : prisma-fmt 57771c0558568c7d08bd34c7248af5244ae16bd9 (at node_modules/@prisma/engines/prisma-fmt-darwin)
Default Engines Hash    : 57771c0558568c7d08bd34c7248af5244ae16bd9
Studio                  : 0.438.0
What OS? What Node version? What database and version?
MacOS but also on Linux in production.
v14.15.3
PostgreSQL 13
What is similar in the Prisma Client queries you are running?
Quite heavily nested but hard to pinpoint. A lot of upserts one after the other.
And most important: Does anyone have a (kinda) reliable reproduction of what is happening?
Yes, I can't reproduce in a fresh repo so will give access to our main one even though the set up takes more effort.
Will hopefully update with access in the next hour.

Well I'm struggling to reproduce now.

Another update:
I can confirm it's still happening. But after around 500k upserts it happened only 4 times (although part of this is because we use a retry strategy and requeue in RabbitMQ). It's possible other changes on our end also improved things. One changed was updating Prisma from 3.0.2 to the latest 3.4.2 but there were others too.
If I can find a reproduction in the future I will share again. Always happy to add to the repo if you'd like to take a look around.

Yes, if you can share a reproduction, that would be great. Otherwise, it would be very hard to triage.

This is still a major issue for us. If it helps get the ball rolling I can add to our GitHub repo and share the Sentry errors too.
I've tried to create simple and complex reproductions with no luck but we get a lot of errors for this issue consistently.

The code in question where the PANIC error can happen:
export async function upsertEvent(myId: number, event: Prisma.EventCreateInput) {
  try {
    return await prisma.event.upsert({
      where: { myId },
      create: event,
      update: event,
    })
    ```

@elie222 Share your reproduction to<EMAIL_ADDRESS>privately. Then we can have a look and try to understand what is happening here.

@elie222 Share your reproduction to<EMAIL_ADDRESS>privately. Then we can have a look and try to understand what is happening here.

Will do.
Another update:
This bug only happens with nested upserts. We removed the nesting from our upserts and it hasn't happened at all now.

Same issue here when taking data from an API and doing a createMany, I was casting some number string to integer and a value was greater than the supported by the Int schema. Hard to debug because the error do not give any information.

Same issue here when taking data from an API and doing a createMany, I was casting some number string to integer and a value was greater than the supported by the Int schema. Hard to debug because the error do not give any information.

Interesting. There's a chance that that was the issue for us too. We never found the actual cause of it just that unnesting fixed it.

Can you turn that into a reproduction @enzojavier-desimone?

Same issue here when taking data from an API and doing a createMany, I was casting some number string to integer and a value was greater than the supported by the Int schema. Hard to debug because the error do not give any information.

Ditto. It took some debugging to narrow down to the specific data being passed into an upsert() call that causes this error.
I'm able to trigger Option::wrap() PANIC if an integer greater than Postgres's upper bound for Int is used in either create or update inputs options.

Same question to you, can you provide a minimal reproduction of this @gleuch? That would be amazing.

@janpio Example: https://github.com/gleuch/prisma-panic-example

Thanks for the reproduction @gleuch. I can confirm this issue now. We need to properly handle these panics.

Everyone else who posted in this issue (@elie222 @yassinebridi @enzojavier-desimone), can you take a look at https://github.com/gleuch/prisma-panic-example/blob/main/index.js and confirm this could also be causing your issue?

yes, exactly same issue in my case

It’s possible that was causing the issue.
I know that removing nesting fixed it for us though. Maybe it just made the error less obscure. But panic went away after unnesting.
Best,
Eliezer
On Tue, Mar 22 2022 at 3:45 PM, EJDS < @.*** > wrote:

yes, exactly same issue in my case
—
Reply to this email directly, view it on GitHub (
https://github.com/prisma/prisma/issues/10049#issuecomment-1075200380 ) ,
or unsubscribe (
https://github.com/notifications/unsubscribe-auth/AAXSQXZVF3FHVRD44X2AGIDVBHFJNANCNFSM5HFLA6IA
).
You are receiving this because you were mentioned. Message ID: <prisma/prisma/issues/10049/1075200380
@ github. com>

3.15 will ship a change that returns a structured error for over or underflowing integers instead of a panic.


Paginate results on patron profile page

Paginate loan results on the profile page on frontsite, instead of having an infinite list.
Also refactor the UI components and remove any direct backend call: backend call should be in redux actions only.

Paginate loan results on the profile page on frontsite, instead of having an infinite list: addressed by #440.
Also refactor the UI components and remove any direct backend call: backend call should be in redux actions only: addressed by #439


HWKAPM-710 Change the information reported by instrumentation rules i…

…n fault property to be the human readable version of the fault, and store the code in a separate detail

@pavolloffay Could you review this please?

LGTM :+1:

@pavolloffay Thanks!


i have configured 'config.yml '. but it doesn't work,  plz help me !

Interaction
blogger-followers: [ bikerjacket, bikergirls_ ]
blogger-following: [ bikerjacket, bikergirls_ ]
blogger-post-likers: [ bikerjacket, bikergirls_ ]
blogger: [ bikerjacket, bikergirls_ ]
hashtag-likers-top: [ #biker, #bikerlife ]
hashtag-likers-recent: [ #biker, #bikerlife ]
hashtag-posts-top: [ #biker, #bikerlife ]
hashtag-posts-recent: [ #biker, #bikerlife ]
place-posts-top: [ motocross, motogp ]
place-posts-recent: [ motocross, motogp ]
place-likers-top: [ motocross, motogp ]
place-likers-recent: [ motocross, motogp ]
interact-from-file: [bikerjacket.txt, bikergirls_.txt]
posts-from-file: posts.txt
feed: 2-5 # is the number of likes you will give in feed
Environment:
[08/22 10:04:26]     INFO | GramAddict v.2.8.0
Instagram version: <IP_ADDRESS>.112
Relevant Logs:

*Note: if you have a crash log, please do not attach the archive here as this is not a secure place to upload the sensitive data inside. Please open a ticket in Discord in #lobby and provide the ticket ID here.

Doesn't work means nothing to me.. Again, I don't know what is the problem here.
Start with only a job, this is not a good configuration.
If you read on the top of the yaml file, you will discover how to remove jobs.


Adding an option to specify a local embedding model

Hello everyone,
I am working on a project where I am running the semantic router on an embedded hardware. I have all my models, LLMs and encoding models, residing locally and I am already using the Huggingface sentence transformers encoder with Chroma vector database. However, it doesn't seem like the semantic router library allows for specifying a local encoding model when creating the encoder. For example, the HuggingFaceEncoder specifies the "sentence-transformers/all-MiniLM-L6-v2" name and it automatically tries to download the encoding model into cache once the object is created. I would like to be able to specify the path to a local instance of the all-MiniLM-L6-v2 model instead, so that it won't try to download anything. I used "semantic-router[local]" to install the semantic-router library.
Thanks!

Never mind. I figured I can just pass the local path as a name like HuggingFaceEncoder(name=local_path). Sorry for the inconvenience.


[5.2] Customize error message for ThrottleRequests

This introduces coupling on our routing component to the language component.

Then what will be the optimal solution?

Not customizable at the moment.


WAGTAILIMAGES_FEATURE_DETECTION_ENABLED broken when specifying a WAGTAILIMAGES_IMAGE_MODEL

When specifying a WAGTAILIMAGES_IMAGE_MODEL, WAGTAILIMAGES_FEATURE_DETECTION_ENABLED will not assign the focal point on upload.
A workaround is possible by creating receivers for the WAGTAILIMAGES_IMAGE_MODEL that call the original receiver functions.
Is this a bug or expected?

This is expected as you have you redefine this signal handler on your new image model: https://github.com/torchbox/wagtail/blob/master/wagtail/wagtailimages/models.py#L242-L248
I'll mark this as a documentation issue. But there could be a way we can make it automatically switch to your custom image model if one is specified

Documented here: http://docs.wagtail.io/en/v1.0/topics/images/advanced_topics.html#feature-detection-custom-image-model


Fails to deserialize sample YAML v2 document

The sample YAML document on this page: https://swagger.io/docs/specification/2-0/basic-structure/ cannot be deserialized by paperclip, it errors out here:
---- test_basic_structure stdout ----
thread 'test_basic_structure' panicked at 'Couldn't deser doc: Yaml(Message("invalid type: integer `200`, expected a string", Some(Pos { marker: Marker { index: 183, line: 14, col: 7 }, path: "paths./users" })))', src/lib.rs:41:45
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Here is the code I used to generate this error:
use paperclip::v2::{self, ResolvableApi, DefaultSchema, models::Version};

#[test]
fn test_basic_structure() {
    use std::io::{self, Cursor};

    let doc = r#"swagger: "2.0"
info:
  title: Sample API
  description: API description in Markdown.
  version: 1.0.0

host: api.example.com
basePath: /v1
schemes:
  - https

paths:
  /users:
    get:
      summary: Some text
      description: Some more text
      produces:
        - application/json
      responses:
        200:
          description: OK"#.to_string();

    let bytes = doc.as_bytes().to_vec();
    let mut bytes = Cursor::new(bytes);

    let api: ResolvableApi<DefaultSchema> = v2::from_reader(&mut bytes).expect("Couldn't deser doc");
    assert_eq!(api.swagger, Version::V2);
}

As the error says, you should have "200" (string) instead of 200 (integer) in responses schema.

ok, but this sample is not from me, but from the official OpenAPIv2 spec...not accepting 200 means paperclip is not spec-compliant.

The official spec seems to describe the status code as a string (example here). The JSON schema for v2 spec also says that the responses schema is an object, which only have string keys.

exactly, so the 200 should be parsed as a string instead of integer, but it's not, that's where the issue is.

Um, no. The 200 should be written as a string in the spec (it will be parsed as an integer, but it should still be "200" in the spec).

So I've looked into this, and there seems to be an issue with serde. Specifically, a struct that has a #[serde(flatten)] property of BTreeMap<_, BTreeMap<String, _>> doesn't automatically cast numbers to Strings, while a struct with the same property without a #[serde(flatten)] attribute does.
Example:
https://gist.github.com/mxndtaylor/488db8ca053d8d69e72fa0fc4f5d0a23


Fix app-config.yaml

Description
Following this change of replacing the start command by turbo run build --filter=app && turbo run start --filter=backend, this PR updates app.baseUrlto http://localhost:7007 in app-config.yaml as the frontend app is now served automatically as part of backend.
Which issue(s) does this PR fix
PR acceptance criteria
Please make sure that the following steps are complete:

[ ] GitHub Actions are completed and successful
[ ] Unit Tests are updated and passing
[ ] E2E Tests are updated and passing
[ ] Documentation is updated if necessary (requirement for new features)
[ ] Add a screenshot if the change is UX/UI related

How to test changes / Special notes to the reviewer

@04kash on second thought, can you also update the getting-started.md docs to indicate this new change. Also it would be nice if we had something like a dev command that starts up backstage with the old behavior (turbo run start --filter=backend --filter=app) since the new behavior no longer allows for hot reloads of the frontend.

Updated PR to include the old behavior as the new behavior does not allow for hot reloading of the frontend. Also added additional docs about the new ways to start the showcase, as well as the caveats.

/lgtm


add support Tethys json

By analogy with implement for Tethys https://github.com/softwaremill/sttp/blob/master/json/circe/src/main/scala/sttp/client4/circe/SttpCirceApi.scala

https://github.com/softwaremill/sttp/pull/2129

The task was completed within https://github.com/softwaremill/sttp/pull/2129


Make go install work consistently for every project

Go version
go 1.23
Output of go env in your module/workspace:
N/A

What did you do?
Sometimes it's go install github.com/hello/world@latest, or go install github.com/hello/world/cmd/other@latest or go install github.com/hello/world/v3@latest or it just doesn't work.
What did you see happen?
Often fails.
What did you expect to see?
Should install the program(s).
Proposal
Let's create an official package manifest file format that go install can use to find and compile projects. It would allow putting code in cmd, src, or any other directory, and likely would proactively search the root directory and ./cmd/<module name specified at the top of go.mod>.

Related Issues and Documentation

cmd/go: offer a consistent "global install" command #30515 (closed)
`go install` fails for local source package #44315 (closed)

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

see go install pkg/...@latest

That's intentional, major versions are considered different modules, we would not blur the line between them.

@seankhliao But what's the proper go install for trufflehog? And why do I need to be ask? It should be as simple as go install package-name.

It is go install package-name.
Go is consistent in using fully qualified package names everywhere. Introducing different names for install vs import makes things less consistent.
Unlike many projects, the Go project does not use GitHub Issues for general discussion or asking questions. GitHub Issues are used for tracking bugs and proposals only.
For questions please refer to https://github.com/golang/go/wiki/Questions

It is go install package-name.

@seankhliao That hasn't been my experience.

[!CAUTION]

...Go is consistent in using fully qualified package names everywhere.

Which is the problem I'm describing.

[!IMPORTANT]

...fully qualified package names...

How about simply pointing to the root of a repo.

For example, golangci-lint is installed via go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
while another will simply be go install github.com/some/package@latest
Proposal: An Official Go Package Manager
Go needs an official package manager. Rust has cargo. Node has npm. Just about every cool new language has it's own package manager and package repository.
Common Features of a Modern Package Manager
Manifest file

[ ] describe the project in a single file

[ ] manifest file version
[ ] project name, description, keywords, categories, version, repo URL, docs URL, homepage URL, license, readme
[ ] authors names and email addresses
[ ] dependencies with several attributes

[ ] version requirements
[ ] features
[ ] override location (eg. point to a local copy)

[ ] features

Common set of commands

[ ] init [ go mod init should be go init ]
[ ] add
[ ] remove
[ ] build executables / libraries
[ ] build documentation
[ ] build examples
[ ] run
[ ] test
[ ] bench
[ ] update
[ ] search
[ ] publish
[ ] install
[ ] uninstall

Recap
What I'm proposing is that you should only have to type go install github.com/owner/project and everything should automatically work.
Specifically, you should not have to:

add /cmd/<some command that's not necessarily "project">
add @latest or @<some semver>


Grouped cartesian product results support

Instead of having result of cartesian poduct as a very large iterator.
The result can be grouped by another iterable items which wil result in 3D iterable instead of 2D iterable.
prodius.product([0,1], [2,3]) -> [(0, 2), [0, 3), (1,2), (1,3)]

# First iterable was used for grouping
product.product_group([0,1], [2,3]) ->[[(0, 2), (0, 3)], [(1,2), (1,3)]]

# Same thing be archieved as
product.product_group([2,3], group=[0,1]) ->[[(0, 2), (0, 3)], [(1,2), (1,3)]]

Forcetable already has basic implementation of it.
But can be easily done using prodius.product() but individually on items of iterable with items for grouping.
product_group = []
for item in group:
  item_product = prodius.product([item], iterables)
  product_group.append(item_product)

There is no need to split functionality into its own function but let it be in form of argument.
product.product([2,3], group=[0,1]) ->[[(0, 2), (0, 3)], [(1,2), (1,3)]]


Add support for Linux.

In order to keep our position as one of the top projects we have to be open-minded and support as many platforms as legally and logically possible and/or reasonable.

Sounds like a good idea.
Do you have a high-level plan what we need to do to add Linux support?

Not at the moment. Will add later.
Mentioning @BondarenkoArtur as Linux expert in that matter for more input.

One of the things that we need to do is to change our build system to something cross-platform.
For example CMake #9

It seems that project is works pretty well on Linux now after fixes #14 and #11.
The only thing that is needed is probably more detailed explanation in a README about how to build project on different systems, but I think it's not related to this issue, so this one might be closed.
WDYT @Badrpas  ?

Yes. The goal is met and it's better to keep issues neat and discrete without excess work overlap.
Such things like list of required libraries and supported tools should take different place since there is little or no dependency based on platform.
Created #18 to keep track for it.
Closing this one.


[#226] Adding expiry threshold and min renewal as properties

Hope this is correct. Let me know if any changes are needed.

...and I used the wrong issue number. Let me close this, and reopen with the right one.


Too many scales break the homepage card

Describe the bug
Adding a lot of scales to a palette break the palette card on the homepage.
To Reproduce
Steps to reproduce the behavior:

Go to the home page
Click on the '+' button on top right corner to create a new palette.
Click on new scale to add a new color. Add around 15 new scales.
Go back to home screen.
Observe the palette card, you can't see the color scales.

Expected behavior
Either the scales should be visible and Horizontally scrollable.
Or It should show a fixed number of scales.
Screenshots
https://user-images.githubusercontent.com/25580776/175866855-865afd94-fb51-4db8-91cb-1629be0b955b.mov
Environment

OS: OSX
Browser Chrome
Version 103

@colebemis I think we should only display the first 12 colors (same as default number of scales). Views @colebemis?
Already opening a PR 😄 .


Add text area for allowed words that override blocking, and the ability to mute instead of block.

This is first and foremost a request to review this code, and possibly help test it, as I have never developed an extension before, and am having trouble with the testing setup. While I'm working out what I'm doing wrong with npm to test a build, I thought it's worth asking you to look this over and see what you think, as you may want to integrate it into the public extension once it's correct.
This (hopefully) adds a new field for words that will override flagging a user, as it's easy to sweep up innocents that have certain keywords in their profiles specifically because they advocate against those people, organizations, social issues, etc, and it's usually easy enough to provide a different overriding word that also shows up in their profile, indicating they are fine for you. Or a keyword will get flagged as a substring of something you don't want flagged ("MAGA" also sweeps up "Smithsonian Magazine"), and this would be an easier way to provide quick overrides ("magazine") for the average user rather than figuring out the complicated regex to filter terms that are fine.
Also added an option to mute instead of block, because many users prefer that as it silences and removes people from your view, without letting them know you blocked them if they happen to follow a link to your account. Which for some people results in more or different harassment as someone posts a screenshot and says "hey go say hi to this person who blocked me" to all their followers.
Most of the muting add-on was by just duplicating functions for blocking and substituting "mute" for "block" in the right places, simply to keep things simple without a lot of conditional statement everywhere. Other existing functions were modified to check the muting checkbox value before calling a mute or block function.
For Line 169 of TwitterAPI.js, I have no idea if the value I used of "resp => resp.data.user.legacy.muting," is even valid, as I cannot figure out where that data is coming from by the API reference. I'm hoping that "legacy" data also has "following" etc, and that using "muting" instead of "blocking" in your original function would succeed. But, again, still not able to test this thing yet.
English is my native language, and sometimes barely that, so please check the Turkish(?) local entries as I did them with Google Translate.

Well, apparently my intentional use of duplicating functions is frowned upon. I suppose that can be fixed, but if it's possible to review the raw logic of what's already there before revising things with conditional statements, that may be better first.
Please pardon my inexperience here.

Apologies, I just realized I needed to commit these to my master branch first so there's not 47 commits here, I'll close and open a new pull.


Create Copy List with Random Pointer

Time Complexity:
•	O(n) due to three passes over the list:
1.	One pass to create the interwoven list.
2.	One pass to assign the random pointers.
3.	One pass to separate the original and copied nodes.

Space Complexity:
•	O(1) since no additional space other than a few pointers is used.

Key Steps:
1.	Node Creation:
•	It iterates over the original list and creates new nodes (deep copy of each node).
•	It checks the HashMap to determine whether a new node needs to be created or reused from the map.
2.	Mapping Random Pointers:
•	For each node, the random pointer is set using the stored mapping. If the random node isn’t already in the map, it creates a copy and adds it to the map.
3.	Final List:
•	After the loop finishes, the deep copy list is fully constructed and returned.


Renamed Summary to Title and added constraint of '/' in RepositoryName

@LonelyPullRequests

I think this is fine, and need this for the other pullrequest


Significant configuration time degradation when using multiple daemons at the same time since Gradle 6.5

Steps to Reproduce

Clone perf-native-large into two directories:
git clone https://github.com/gradle/perf-native-large perf-native-large-1
git clone https://github.com/gradle/perf-native-large perf-native-large-2

Run gradle tasks in both projects 1-2 times to warm-up the caches and then kill all daemons (gradle --stop)

Run gradle tasks --no-daemon in both directories at the same time

Current Behavior
Very slow configuration time (it takes 5-10 minutes) to configure both projects when running simultaneously.
It is 30x slower than configuration time when using only 1 daemon.
Expected Behavior
Fast configuration (~11 seconds on 2.4 GHz 8-Core Intel Core i9).
It should take roughly the same amount of time to configure the project when running the daemons separately.
Context
We were using Gradle 5.6.4 and after updating to the latest version (6.7) we faced this issue on CI and on local machines when using multiple daemons. Previously, in this situation project configuration took roughly the same amount of time compared to running a single Gradle daemon:

Your Environment
Gradle 6.7. Checked on macOS, Linux.
It is not reproducible on Gradle 5.6.4.
upd:
Experimented with different Gradle versions, the biggest difference when comparing 6.4 and 6.5:

6.4: 2 daemons parallel configuration ~45 seconds
6.5: 2 daemons parallel configuration ~5 minutes

I'm interested if it could be somehow related to #14877. We also have problems since 6.5, and it seems to be JVM related.

Hi there. Can you tell me more about why you are running two Gradle builds simultaneously?
In general each Gradle build tries to maximize the resources of your computer in order to build as fast as possible. Having two Gradle builds at the same time would not lead to an optimumal situation.

@runningcode we use Mirakle for remote builds where multiple users can invoke Gradle simultaneously in the same Docker container. We looked into using separate containers or separate Gradle homes but realized that memory and disk requirements would be significantly higher than with shared Gradle home and daemons and we don't have that kind of hardware. Each idle daemon would occupy ~16GB of RAM per user and each Gradle home - up to 30GB on disk, also per user. So we're kinda stuck with Gradle 6.4 for now.

In general each Gradle build tries to maximize the resources of your computer in order to build as fast as possible

I ran the configuration phase under a profiler, there is no problem with hardware resources, it's the opposite. When 2 or more independent projects are being configured simultaneously, Daemon worker threads spend most of the time waiting to acquire a lock on jars-8 cache. I pointed out a problematic line of code in #12896.


[3.x] Backport CanvasLayer visibility

Backports #56734.

It moves show() and hide() logic into set_visible(), so later changes are easier.

Backports #48006.

The original PR that adds visible property and visibility_changed signal to CanvasLayer.

Backports #57684.

It fixes a bug in CanvasLayer visiblity propagation of the original PR.
It fixes hidden signal so that it won't be emitted again when the CanvasItem was already invisible.
is_visible_in_tree() is now as cheap as is_visible()

Thanks!


The preview is zoomed when I start recording with front camera Sony Xperia M4

Sony Xperia M4 Android 5.0 - when I use front-camera at demo-playground app the video preview is zoomed at the start of the recording. Nevermind If I use Classic camera or Camera 2 engine.

Once recording starts, I have no further control over the video preview.
I am going to guess that your problem is what I have has issue #173. You can follow that issue, or comment back here if you feel that your situation is different than that issue.


Added two blog post and removed one link

@ndolker,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@ndolker : Thanks for your contribution to the Azure documentation! The author, @TomShinder, has been notified to review your proposed change.

#sign-off

#sign-off


Installation instructions

Part of JOSS review (https://github.com/openjournals/joss-reviews/issues/1837):
Could you add installation instructions? There is a list of R packages dependencies but no information about the installation of CoralP itself. Would be good as well to convert it to an R package [1-2].
[1] https://cran.r-project.org/doc/manuals/r-release/R-exts.html
[2] http://r-pkgs.had.co.nz/

Thanks so much for your feedback. We agree that it would be helpful to provide more detailed instructions for running the code locally. So we have added a new section to the README called “Running Locally” that provides information and code for downloading the code, installing prerequisites, and running the app locally.
I am not sure if it makes sense to turn it into an R package. Packages are typically collections of functions. But Coralp is a Shiny application that has been designed to run through a browser. As such Shiny apps are not typically distributed as packages. To do so would be unusual and wouldn’t be any easier than simply following the instructions to run locally.

Thanks


Scale generator exercise departs from actual music theory

I'd like to open this as a discussion before I attempt to fix it, because I'm not sure how pedantic we need to be with this.
In the 'scale generator' exercise:

There's no universal standard for accidentals in chromatic scales. A lot of sources print ascending scales with sharps and descending with flats; fewer stipulate that the accidentals should follow the direction of the starting note's major key signature. I feel this test should accept a number of variations.
The F# Major scale should be %w(F# G# A# B C# D# E#), not %w(F# G# A# B C# D# F). Similarly, Gb major has a Cb and not a B. There are no tests for these, but the given example does not generate these correctly.
The d harmonic minor scale is %w(D E F G A Bb C# D), not %w(D E F G A Bb Db D). This may seem like a minor quibble (har har), but the definition of a harmonic minor scale is that the seventh note is raised one half-step, resulting in a rare case of a key signature with both sharps and flats.

So: a big issue is that this exercise becomes quite a bit more complicated to implement for the huge lumbering historical morass of music theory rules instead of a 'good enough' approach — is this worth pursuing?

Close due to "Good Enough"?

Yeah I think we should close it.

:tada: