resolver in Cargo.toml changed MSRV

More an FYI than a bug, I think, but #2602 said the following, which doesn't appear true for us:

But that's fine and the published serde crate won't be affected.

For our CI, building serde on rustc 1.48 and 1.49 now fails with:
   Downloaded serde v1.0.187
error: failed to parse manifest at `/home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/serde-1.0.187/Cargo.toml`

Caused by:
  feature `resolver` is required

  this Cargo does not support nightly features, but if you
  switch to nightly channel you can add
  `cargo-features = ["resolver"]` to enable this feature

Thanks, I didn't realize Cargo would propagate that field from the workspace manifest into serde's manifest during publish. I don't understand why it does that — the choice of resolver is controlled by the top-level crate/workspace being built; serde as a dependency has no say in this.
I'll revert that change.

We propagate the resolver version so that cargo install of a bin carries forward the expected behavior from the developer.  See rust-lang/cargo#11047

I'd prefer if it did not do that for packages not containing any bin crates.

At this time, the code responsible does not have that knowledge.  However, I've been wanting to change our publish code to to explicitly list all auto targets at which point it would be possible to determine that.  There still might be enough nuance to be annoying because examples are considered installable.

As an easier fix that still eliminates resolver-related breakage for libraries, could we make sure Cargo disregards any value of resolver in the manifest of library dependencies?
I tried editing $CARGO_HOME/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.188/Cargo.toml to add resolver = "100", and that currently makes crates depending on serde as a library fail with this error, on current nightly:
error: failed to download `serde v1.0.188`

Caused by:
  unable to get packages from source

Caused by:
  failed to download replaced source registry `crates-io`

Caused by:
  failed to parse manifest at `$CARGO_HOME/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.188/Cargo.toml`

Caused by:
  `resolver` setting `100` is not valid, valid options are "1" or "2"


Disable path checking by directory

RFE: Disable path checking for some directories but not others.  Similar to the vcs_info disable-patterns style.  This would be useful under expensive-to-readdir()/stat() mountpoints (e.g., sshfs).
This would need to check several things:

[ ] Absolute filenames under DIR: % stat /victim/foo/bar
[ ] Relative paths that resolve to paths under DIR (could use the :a modifier here, since it's disk-agnostic): % stat ../victim/foo/bar
[ ] Any paths, when cwd is DIR:  /victim% stat foo (where the prompt displays cwd)
[ ] Any of the foregoing, as a command word: % /victim/foo/bar

Tentatively adding to 0.7.0 milestone.


Addition of a unique login form with animation

I want to add a registration/login form with a panda holding the form and it will be making a gesture as the form is being field.

Please can you assign this task to me

login forms are done already! can you suggest any other style!


Jeson Not reading realsense after firmware upgrade

librealsense
2.49.0 RELEASE

OS
Linux

Name
Intel RealSense D4XX Recovery

Product Line
D400

Firmware Update Id
919423050830

Please provide a description of the problem

Hi @master-25  Let's first try using the RealSense SDK's rs-fw-update firmware updating tool in its recovery mode.

Visit the firmware releases page for the 400 Series cameras and download the firmware file Signed_Image_UVC_5_12_15_50.bin (which is the recommended firmware for SDK version 2.49.0).

https://dev.intelrealsense.com/docs/firmware-releases#section-d400-series-firmware-downloads

Place the firmware bin file in the same folder location that the rs-fw-update tool is located in.  In Linux, this would be usr/local/bin

Launch rs-fw-update in recovery mode using the instruction below:

rs-fw-update -r -f Signed_Image_UVC_5_12_15_50.bin

Hi @master-25  Do you require further assistance with this case, please?  Thanks!

Sorry for the late reply, no I haven't had the time to work with it due to
my thesis sorry, I'll confirm by Monday
On Wed, 15 Sep, 2021, 2:25 AM MartyG-RealSense, @.***>
wrote:

Hi @master-25 https://github.com/master-25 Do you require further
assistance with this case, please? Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/IntelRealSense/librealsense/issues/9743#issuecomment-919736071,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIVHS7DRK74RTWQ7SHG74J3UCA35HANCNFSM5DVRQ3TA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

That's no problem at all, @master-25 - thanks very much for the update, and good luck with your thesis!

Its working but after I moving the .bin file to /usr/local/bin, the command still didn't work. Though the realsense-viewer worked perfectly. Thanks for your help, and thank I need all the luck I can get for my thesis.

Great to hear that the camera is working for you in the RealSense Viewer now - thanks for the update!

Hi @master-25  Do you require further assistance with this case, please?  Thanks!

No, it's all good and working fine, thank you for your support
On Tue, Sep 21, 2021 at 11:18 PM MartyG-RealSense @.***>
wrote:

Hi @master-25 https://github.com/master-25 Do you require further
assistance with this case, please? Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/IntelRealSense/librealsense/issues/9743#issuecomment-924620629,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIVHS7H6X4AKVUHEYLWIC4TUDFYMXANCNFSM5DVRQ3TA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Thanks very much @master-25 for the update!  As you do not require further assistance, I will close the case.  Thanks again!


Fix up InfoWindow on mobile devices

https://github.com/James-Sangalli/CitySats/commit/2b83dbc796dfee218e178520c4a3342a7f164a29


Update marketing materials to indicate time/place for ATO pitches

We're starting at 12:30. Should be room 306C.


Add opcodes for msg.*

Related to #4
Adds msg.value. msg.sig and msg.data with light checks in the contract
Also uses enum to pattern match syscalls.

Not much conflict with #9 now. I think we can proceed to merge this?


fixed: correctly translate namespace key when using ctx.Namespace()

closes #167

manipmongo is unfortunately not unit tested due to the lack of usable interface from mgo, so yeah for now we rely on the integ tests


AWS was not able to validate the provided access credentials

I've faced I strange thing while using awscli: having a user with keys and configured permissions, but getting an error while
aws ec2 describe-instances --region eu-central-1 --debug

<Response>
  <Errors>
    <Error>
      AuthFailure
      <Message>AWS was not able to validate the provided access credentials</Message>
    </Error>
  </Errors>
  <RequestID>3b660143-6e90-4739-a501-2ace577bcb0a</RequestID>
</Response>

I is not working when credentials are in ~/.aws/credentials not in environment. My keys was
[REDACTED]

It has a percent sign at the end, and I think it is a problem. I created another key (without special chars) and everything start working.
P.S. I found this bug using awscli, but I think it is boto issue.
CLI version: aws-cli/1.10.19 Python/2.7.10 Darwin/15.4.0 botocore/1.4.10

I think I may know what the issue is. Did you copy credentials downloaded from the console using cat to print them onto the terminal? That CSV doesn't have an empty line at the end of the file, so cat will print a % to show that.

I cant remember how it was copied. You could close the issue if it's clear in boto. Thanks!


Deprecate which on Windows and Mac OS X. Restore old unix-only implementation. Drop File::Which

We've made a full circle :)

Thanks :+1:


[BUG] Infinite loop rendering occurs when using getInlineAnchorList() and getRootContainer()

What happened?
When I use these two methods, the anchor on the page will be infinitely mounted nodes

My current solution is to filter the list returned by getInlineAnchorList. I'm not sure if this method is correct, but it does solve the problem of infinite loop rendering. Can you tell us if there is a better way?

Version
Latest
What OS are you seeing the problem on?
MacOSX
What browsers are you seeing the problem on?
Chrome, Microsoft Edge
Relevant log output
No response
(OPTIONAL) Contribution

[ ] I would like to fix this BUG via a PR

Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I checked the current issues for duplicate problems.

After a couple of hours of having the same issue, I found a solution.
I just had to move the clearInterval(checkInterval) to the end of the arrow function. See my example:
export const getRootContainer = ({ anchor }) =>
    new Promise((resolve) => {
      const checkInterval = setInterval(() => {
        let el = anchor.element
        if (el.getAttribute("href")) {
          const parentContainer = document.querySelector(`[href="${el.href}"]`)
          if (parentContainer) {
            const rootContainer = document.createElement("span")
            parentContainer.insertAdjacentElement(
              anchor.insertPosition,
              rootContainer
            )
            resolve(rootContainer)
          }
        }
        clearInterval(checkInterval) //Moved here to stop the infinite loop
      }, 137)
    })

After losing a few hours on the same issue, I found the cause and a solution.
In summary, when we use document.createElement Plasmo is not aware of the DOM change. The documentation assumes that we are using an existing DOM element as the rootContainer, which doesn't work for dynamically created elements.
To fix the issue, we have to add the new Element to the hostSet and hostMap via the mountState variable.
export const getRootContainer = ({ anchor, mountState }) =>
  new Promise((resolve) => {
    const checkInterval = setInterval(() => {
      let { element, insertPosition } = anchor
      if (element) {
        const rootContainer = document.createElement("span")

        mountState.hostSet.add(rootContainer)
        mountState.hostMap.set(rootContainer, anchor)

        element.insertAdjacentElement(insertPosition, rootContainer)

        clearInterval(checkInterval)
        resolve(rootContainer)
      }
    }, 137)
  })

OK, your method worked, thank you very much for your help.
I had noticed the mountState property before, but I didn't find a way to use it, which led me to find another way.
Maybe you can suggest to the author to write your way of using it in the document, it would be very helpful for other users!
Anyway, thanks a lot for your help, I think your way should be the final solution!


Make run.sh

Create a fully customizable run script in which we may define:

Params: (INPUTS)

EnvParams
SumoParams
QlParams
NetParams
ExpParams
InFlow

Metadata:
Generate a description for:

user
email
commit id
date and time
scenario generated
elapsed time
copy of the run script

Generate aggregate performance data: (OUTPUTS)

emission.csv
info.json
Average travel time
Wait time
Flow per intersection
Average outflow
Queue size

Publish overview (INTER EXPERIMENT)

Define a table (spreadsheet) holding the experiments, the results over the aggregate performance statistics.

Third party referecences:
SACRED:
https://medium.com/@u39kun/managing-your-machine-learning-experiments-and-making-them-repeatable-in-tensorflow-pytorch-bc8043099dbd
https://github.com/IDSIA/sacred
Other solutions:
https://medium.com/@hadyelsahar/how-do-you-manage-your-machine-learning-experiments-ab87508348ac


ci: update bats and zot versions

Update Makefile to bump up zot version
Update Makefile to include a recipe to install latest bats

What type of PR is this?

Which issue does this PR fix:
What does this PR do / Why do we need it:
If an issue # is not available please add repro steps and logs showing the issue:
Testing done on this change:

Automation added to e2e:

Will this break upgrades or downgrades?
Does this PR introduce any user-facing change?:

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

https://github.com/project-stacker/stacker/pull/584 has a fix that makes this pass.


Name 'WebHost' does not exist

Describe the bug
When using netcoreapp2.2 and Asp net Core 2.2.0 I get the error 'WebHost' does not exist in my buildWebHost function, going back to net Core 2.1 fix the issue.
To Reproduce
Steps to reproduce the behavior:

Using this version of ASP.NET Core 2.2
Run this code

public static IWebHost BuildWebHost(string[] args) =>
             WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
                .Build();

With these arguments '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
CsProj

netcoreapp2.2

true
$(NoWarn);1591
Linux

obj\Debug\netcoreapp2.1\Itga.Saam.WebApi.xml

Itga.Saam.WebApi.csproj.zip

For information a SO thread exists about this issue:
https://stackoverflow.com/questions/53623730/webhost-doesnt-exist-in-the-current-context-in-asp-net-core-2-2-default-api-tem

@Tratcher - any idea what could cause this issue?

It's either a dependency mismatch or a restore error. Or the using statement is missing?
@quentingarlan you included the csproj, can you also include program.cs?

Program.zip

using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore;
namespace Itga.Saam.WebApi
{
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
    public static IWebHost BuildWebHost(string[] args) =>
         WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .Build();
}

}

Something must have been missing in bin/debug, I noticed a permission error while building with VS code. I could fix it by building in administrator mode.

I've experienced this too, when I created a new project with ASP.NET Core 2.1 and then moved to ASP.NET Core 2.2 (by installing the SDK).
Deleting the obj folder fixed it for me.


Modify tag detail page and fix label bugs

Coverage increased (+0.3%) to 62.716% when pulling 42fa690f902dd08365455694fc86f74786a17c05 on pengpengshui:tagdetail into 0c95bd6ffa89d895ee84d350077ea327d327f297 on vmware:master.


Dashboard refactor

Annotate some parameters with @NonNull or @Nullable
Add annotation for calling the ‘addAll’ and ‘clear’ methods within an
UI thread. (Avoid some exceptions, avoiding some possible regressions)
Refactor code for avoiding lines with a length greater than 120
characters

merged in master


Dataset

The dataset is not available in the folder. Where can I find it? The pretrained model is also not there.

Hello, have you solved this problem?

@tchemaly the dataset still exists on other branches

I need datasets , Were can i find that ?


adding --fan-speed option. Allows multiple fan speeds based on layer …

Related to issue #18 .
Adds CLI argument --fan-speed which accepts a string in key=value,key=value etc etc format.
Example: --fan-speed 3=20,10=50,60=255
This means at layer 3, primary fan has speed setting 20. At layer 10, change primary fan to 50. At 60, change to 255 etc.
While poking around the source base, I didn't see any explicit parameter validation steps, so the Set() method for this new parameter is a little lengthy but does validation there. There are bounds checks (layer >=0) and speed has to be 0<=x<=255. If you'd prefer a different way to do the validation, just say the word.
If no speed parameters are set, then it defaults back to at layer 2 set the speed to 255 (as per existing functionality).
One thing that I'm wondering about is at some stage, regardless what the user specifies, should we set the primary fan to full speed?  ie, once we hit layer X (whatever that is) then we set the fan to full since we've determined this is a big enough print that full speed is warranted?  Thoughts?

Hi,
Thank you for the PR.
First of all, merge my master into your branch, you are working on a bit outdated code :-)
But yes, currently there is no validation at all. I think it would be great to add the validation in a way which is easy to use by all option values. I haven't looked into it, yet.

One thing that I'm wondering about is at some stage, regardless what the user specifies, should we set the primary fan to full speed? ie, once we hit layer X (whatever that is) then we set the fan to full since we've determined this is a big enough print that full speed is warranted? Thoughts?

I don't think we should do this, as full fan speed is not always the best. So the user should just configure how he needs it.
(Also later the fan speed will be coupled to the type of the currently printed paths: eg. if it is normal infill, less speed, if it is bridging full speed,...)
Also as the print speed depends heavily on the used Filament type, please put the fan-options to the filament.
As reference for options, I would suggest to take a look at the PrusaSlicer, as I like how the options are structured there.
I will review your code in detail later, when I have more time.
Thanks you :-)

For your information: just fixed an error in the test which was caused by the fact that maps in go do not guarantee the order. That's why the test sometimes failed.


feature(search): Offer Subscription enable search by company name

Description
Enhance endpoint in apps and services for offer subscription with filter company name
Why
By providing the chance to search by customer company name
Issue
N/A - Jira Issue: CPLP-3459
Checklist
Please delete options that are not relevant.

[x] I have followed the contributing guidelines
[x] I have performed a self-review of my own code
[x] I have successfully tested my changes locally
[x] I have added tests that prove my changes work
[x] I have checked that new and existing tests pass locally with my changes
[x] I have commented my code, particularly in hard-to-understand areas

Please don't merged this PR before FE PR is merged as per Julia


Add GitLab Statistics

Added star and fork statistics on detailed project view for projects with an
valid GitLab URL.
Closes https://github.com/pypa/warehouse/issues/4301
Ref: https://github.com/pypa/warehouse/issues/4301

We could also probably make that section more generic, since it's unlikely that a project has both GitHub and gitlab links.
Also, we should probably prefer one over the other here so we don't show approximately the same section twice (I'd lean towards preferring GitHub).

Cool! Waiting for it!

@am-on - what project were you testing this with in development?

@nlhkabu not sure which is gitlab and which github
pymagnitude
krangpower

This is nice. :smile:
However, Gitlab being free, there are several instances (for instance, my projects are hosted at Framagit). While having warehouse check a list of every single public gitlab instance is a bad idea, I wonder if it would be possible to:

Check if the project homepage URL is a gitlab instance;
If so, fetch and display its statistics.

Thanks for your work!

Thanks again for this PR @am-on - and sorry for the delay on getting back to it!
I've just pushed a PR that separates out the CSS classes from the JS class (the JS hook is now js-repo-data).
I've also updated the template to be (what I think is) more readable, and adapted the SCSS accordingly.

@yeraydiazdiaz would you be able to re-review the JS for this PR?  There is an empty catch function at the bottom of repository-info.js that I am not sure about :)

@am-on would you be interested in finishing this up?
Also, some of us will be at the PyCon North America sprints again this year, May 6th-9th, in case you would like to join us then!

@am-on Is this ready to be re-reviewed?

I believe this is waiting on another HTML and SCSS review on my side (and possible updates).

Note:
If / when this PR is re-reviewed, we will need to ensure that the template is appropriately translated.

This is still. a good idea, but due to age, too many conflicts, closing this PR. If there's still interest, please revive.


Fixed cordova_lib declaration, closes #113

@apla
The plugin is trying to access Cordova resources directly, wich may cause the build to fail for security reasons. The issue is mentioned in #113 and the following commit fixes it.
Please consider merging it :)

Bump. Can't install on windows machine.


Audit and update net/http instrumentation to comply with HTTP semantic conventions

https://github.com/open-telemetry/opentelemetry-specification/blob/84a5fa3d1ef42caae8f99f1b431504d7cdb9fffe/specification/trace/semantic_conventions/http.md

@MrAlias is this closed by https://github.com/open-telemetry/opentelemetry-go-instrumentation/pull/708?

Going through https://opentelemetry.io/docs/specs/semconv/http/http-spans/#http-client-server-example:
Name

HTTP spans MUST follow the overall guidelines for span names.

HTTP server span names SHOULD be {method} {http.route} if there is a (low-cardinality) http.route available (see below for the exact definition of the {method} placeholder).

Added in https://github.com/open-telemetry/opentelemetry-go-instrumentation/pull/740

If there is no (low-cardinality) http.route available, HTTP server span names SHOULD be {method}.

Fallback in https://github.com/open-telemetry/opentelemetry-go-instrumentation/pull/740

HTTP client spans have no http.route attribute since client-side instrumentation is not generally aware of the “route”, and therefore HTTP client span names SHOULD be {method}.
#740 only applies to server

The {method} MUST be {http.request.method} if the method represents the original method known to the instrumentation. In other cases (when {http.request.method} is set to _OTHER), {method} MUST be HTTP.

Our instrumentation doesn’t handle _OTHER

Instrumentation MUST NOT default to using URI path as span name, but MAY provide hooks to allow custom logic to override the default span name.

Need to follow up in https://github.com/open-telemetry/opentelemetry-go-instrumentation/pull/740#pullrequestreview-1977037391
Status

Span Status MUST be left unset if HTTP status code was in the 1xx, 2xx or 3xx ranges, unless there was another error (e.g., network error receiving the response body; or 3xx codes with max redirects exceeded), in which case status MUST be set to Error.

We always set Span Status: https://github.com/open-telemetry/opentelemetry-go-instrumentation/blob/c8f651da92197ead7858f6de63f437a270cfa709/internal/pkg/opentelemetry/controller.go#L73 but we never set the Status field in HTTP client or server probes.

For HTTP status codes in the 4xx range span status MUST be left unset in case of SpanKind.SERVER and MUST be set to Error in case of SpanKind.CLIENT.

For HTTP status codes in the 5xx range, as well as any other code the client failed to interpret, span status MUST be set to Error.

Currently no conditional handling

Don’t set the span status description if the reason can be inferred from http.response.status_code.

N/A - we don’t set description in client or server code

HTTP request may fail if it was cancelled or an error occurred preventing the client or server from sending/receiving the request/response fully.

When instrumentation detects such errors it MUST set span status to Error and MUST set the error.type attribute.

We don’t do this from what I can tell.
Required attributes

error.type (conditional, if request ended in error) - Not set
http.request.method (required) - Set in client and server
http.request.method_original (required only if different from http.request.method) - N/A
http.response.status_code (required if and only if one was received/sent) - Currently set always in client and server
[network.protocol.name](http://network.protocol.name/) (required if not http and network.protocol.version is set) - We always set network.protocol.version in client and server but don’t check if [protocol.name](http://protocol.name/) is not http

HTTP Client

This span type represents an outbound HTTP request. There are two ways this can be achieved in an instrumentation:

Instrumentations SHOULD create an HTTP span for each attempt to send an HTTP request over the wire. In case the request is resent, the resend attempts MUST follow the HTTP resend spec. In this case, instrumentations SHOULD NOT (also) emit a logical encompassing HTTP client span.

If for some reason it is not possible to emit a span for each send attempt (because e.g. the instrumented library does not expose hooks that would allow this), instrumentations MAY create an HTTP span for the top-most operation of the HTTP client. In this case, the url.full MUST be the absolute URL that was originally requested, before any HTTP-redirects that may happen when executing the request.

For an HTTP client span, SpanKind MUST be Client.

Set in client Probe
Required attributes

server.address (required) - Set and checks for valid format
server.port (required) - Set and checks for valid format
url.full (required) - Not currently set. We set URLPath but this should be URLFull

Server

HTTP server instrumentations SHOULD do the best effort when populating server.address and server.port attributes and SHOULD determine them by using the first of the following that applies:

The original host which may be passed by the reverse proxy in the Forwarded#host, X-Forwarded-Host, or a similar header.
The :authority pseudo-header in case of HTTP/2 or HTTP/3
The Host header.

We just use the original Host
Fixes needed

Resolve questions in #740
Should we handle _OTHER http request method?
Conditional checks for including span status
Do we need to set error.type?
Set [network.protocol.name](http://network.protocol.name/) if not http
Set url.full


Not working in FF v92+

Title, works fine in ESR, and worked fine when I was using 91.0.2

fixed in #8


fix(*): kongponents alpha phase 4 [KHCP-10182]

Summary
Jira: https://konghq.atlassian.net/browse/KHCP-10182
Phase 4 adoption of components reskinned in alpha version of Kongponents v9 release. Includes these components:

KSelect
KMultiselect
KTabs
KCopy (unused)

Resources

Creating a package docs

nit: the upstream form in this PR has HTTP statuses displayed as badges. Should we keep them collapsed as before?

This PR
Before


chore(ci): set timeouts in remaining CI files and adjust linter name in //nolint

Supersedes #950, #952, #953, #954

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 24.51%. Comparing base (230e266) to head (63c43f3).

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1072       +/-   ##
===========================================
- Coverage   60.01%   24.51%   -35.50%
===========================================
  Files          50       50
  Lines        4079     4079
===========================================
- Hits         2448     1000     -1448
- Misses       1322     2924     +1602
+ Partials      309      155      -154

Flag
Coverage Δ

integration-test
24.51% <ø> (-35.50%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

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


[Bug] Inability to set BuildOption during pipelines create/update causes pipeline triggers to not fire

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Azure Cli Version:
Azure-Devops extension version:
{
  "azure-cli": "2.0.80",
  "azure-cli-command-modules-nspkg": "2.0.3",
  "azure-cli-core": "2.0.80",
  "azure-cli-nspkg": "3.0.4",
  "azure-cli-telemetry": "1.0.4",
  "extensions": {
    "azure-devops": "0.17.0"
  }
}

Steps to reproduce the behavior:

Use PAT to authenticate (I set it as an environment variable AZURE_DEVOPS_EXT_PAT per documentation.
Ensure a scenario where an upstream pipeline "a" triggers pipeline "b" by utilizing a pipeline resource with trigger and branch filter in the downstream pipeline. Example:

#azure-pipelines-a.yml
jobs:
  - job: A
    pool:
      vmImage: ubuntu-18.04
    steps:
      - task: Bash@3
        displayName: Test
        inputs:
          targetType: inline
          script: |
            echo "Running testa"
            sleep 10

and
#azure-pipelines-b.yml
resources:
  pipelines:
    - pipeline: ci
      source: testa
      trigger:
        branches:
          - develop

jobs:
  - job: B
    pool:
      vmImage: ubuntu-18.04
    steps:
      - task: Bash@3
        inputs:
          targetType: inline
          script: |
            echo "Running testb"

Create both pipelines using az pipelines create with org and project arguments, naming the pipelines testa and testb respectively, choosing --branch as develop and referencing appropriate --yml-path and repository types.
Request build definition and note that there is no "options" data object in the top-level keys of the response shape.
Trigger the first pipeline, and validate that there is no consequent run of the downstream pipeline.
Go to the first (upstream) pipeline's Edit -> Triggers (3 dots in right upper corner) -> YAML -> Get sources -> Default and re-select the default branch that was specified as a command line argument again (i.e., develop) and note that, oddly, it allows you to save.
Repeat step 4, noting that this time the defaultBranch reference has changed from develop to refs/heads/develop, and that a new section has developed for options:

{
  "options": [
    {
      "enabled": false,
      "definition": {
        "id": "5d58cc01-7c75-450c-be18-a388ddb129ec"
      },
      "inputs": {
        "branchFilters": "[\"+refs/heads/*\"]",
        "additionalFields": "{}"
      }
    },
    {
      "enabled": false,
      "definition": {
        "id": "a9db38f9-9fdc-478c-b0f9-464221e58316"
      },
      "inputs": {
        "workItemType": "Bug",
        "assignToRequestor": "true",
        "additionalFields": "{}"
      }
    },
    {
      "enabled": false,
      "definition": {
        "id": "57578776-4c22-4526-aeb0-86b6da17ee9c"
      },
      "inputs": {}
    }
  ],
# ...other stuff

Repeat step 5, and validate that the upstream pipeline is now sending the trigger to the downstream pipeline.

Expected behavior
Allow setting of BuildOptions, which is what I believe shows up from this manual interation, in order to set definition id 5d58cc01-7c75-450c-be18-a388ddb129ec and allow for triggers from upstream.
Additional context
The changes to the build object are recorded and viewable by diff in Edit -> Triggers (3 dots in right upper corner) -> History as well.
Also important to note is that these BuildOptions are not user-specific; 5d58cc01-7c75-450c-be18-a388ddb129ec actually shows up in this extension's code base as a test case in tests/recordings/test_build_definition_listShow.yaml.
Additionally, I left a comment here in a vsts-docs issue to reflect some of the observations here.
Thanks for sitting through my ted talk.

@geverghe Not sure if this is a CLI issue. Who would be the right point of contact for the yaml pipelines triggers. The issues states that the pipelines triggers documented here does not work.

@aglorei what the status of this bug? When will it be resolved? A lot of us are getting hit by this and it causes lots of headaches 😅


[BUG] Video out of sync with label overlay

System information

Linux Ubuntu 18.04.2 LTS
installed from source
version 0.13.2
python version 3.6.9

Commands to reproduce
1. Create a video with the details bellow
2. Load a database with high amount of labels
3. hover over the Thumbnail or play a video in full screen

Describe the problem
Video occasionally gets out of sync with label overlay, i.e. when hovering on the thumbnail
or when playing video of the sample, the image would start playing in a high rate and
the labels would catch-up after the video well after the video would stop playing.
Code to reproduce issue
Video created with the following parameters:
ffmpeg output parameters:
["-f", "mp4", "-vcodec", "libx264", "-vb",  "4096K",
"-minrate", "4096K", "-maxrate", "4096K", "-bufsize", "250k",                                                                                "-pix_fmt", "yuv420p", "-vsync", "0"]
video resolution: 2688 x 1520
frame rate: 4 fps
Labels: There are high amount of labels on the video (7 layers including detections and polylines)
connection information:
Server is running in linux system.
Application running on windows remote system (edge or chrome)
Other info / logs
What areas of FiftyOne does this bug affect?

[X] App: FiftyOne application issue
[ ] Core: Core fiftyone Python library issue
[ ] Server: Fiftyone server issue

Willingness to contribute
The FiftyOne Community encourages bug fix contributions. Would you or another
member of your organization be willing to contribute a fix for this bug to the
FiftyOne codebase?

[ ] Yes. I can contribute a fix for this bug independently.
[ ] Yes. I would be willing to contribute a fix for this bug with guidance
from the FiftyOne community.
[X] No. I cannot contribute a bug fix at this time.

Hi @doronpor 👋
Thanks for reporting this. I noticed some occasional frame-label misalignments when doing some in-progress work on video features recently as well. We'll take a look at this and report back ASAP here

Hi Brimoor,
Any success with identifying the issue ?

HI @doronpor. I've made a video per your description and have tested it with a ~200 detections, but am not seeing any issues.
https://github.com/voxel51/fiftyone/pull/1228 has a fix in the video player related to sparse frame labels, but that does not sound like your issue.
Providing reproduction steps would help, i.e. a script that creates a video with some dumby labels. Even just some dumby labels that cause the same issue would help.

Thanks Benjamin,
I digged around a little and seem pinpoint the issue to the 4 fps video.
Apparently web browsers are not good with low frame rate video.
I re-encoded my video from 4 fps to 24 fps which seems to resolve the issue.
Its only artificial solution, because in order to do that I copied the annotations
to the additional images, but this inflates the data X6 times the data.

Yes, the video player is only as accurate as the web allows. There is a new API that we will leverage. Only chromium browsers have it currently, though. We will likely leverage  that, and only use the current method as a fallback.
But the current method should only be off by one frame at most. It should not get progressively worse during playback. And it is always frame accurate when paused. If this is not the case for you, let us know.
Regarding your second issue, each frame is constrained to 16MB of label data (including masks) at the moment. 16MB is MongoDB's document size limit.


Add conda support with these commands

conda create --name guildai
source activate guildai

then follow the rest of the quick start...

please update docs with these command that succeed handsomely

Example of mainstream app that leads with conda setup:
http://jupyterlab.readthedocs.io/en/stable/getting_started/installation.html


PHPC-278: nModified may be null for legacy writes

https://jira.mongodb.org/browse/PHPC-278

A test isn't included in the PR because we don't presently have 2.4 in the build matrix (see: PHPC-279).

Changes Unknown when pulling 1fe351fc7a188ddc80955186fb7f6b30e863160f on jmikola:phpc-278 into ** on 10gen-labs:master**.

lgtm


Replace the filename type of DownloadObjectArgs and UploadObjectArgs

Hi.
I have a problem with the filename attribute type of DownloadObjectArgs and UploadObjectArgs.
The current type is std::string, this leads to a file with utf-8 characters in the path that cannot read.
Example path: G:\\Tuấn Anh\tết.txt.
So, I suggest replacing std::string with std::filesystem::path
Thanks.

I think this is not fixing the root cause of the problem though. The C++ std::filesystem is kinda weird when it comes to UTF-8 encoding. In the past char* and std::string were considered to be using local encoding (which meant using code-pages on Windows), and this haven't changed, just Linux and others went with UTF-8 for all locales, but not Windows (Windows has unicode-aware API that uses wchar_t instead).
Changing std::string to std::filesystem::path may look as a solution, but I think it's not the right one. Maybe using std::u8string instead of std::string would be much better, but then we will hit more problems like poor support for std::u8string in the rest of the C++ standard library.
Not sure what would be the best thing to do in this case, I would like to just tell C++'s filesystem that we have indeed an UTF-8 encoded string to avoid going through mbtowc.

@kobalicek
I agree with you, std::u8string is not yet widely used. It can cause more string-handling problems in this repository, I think.
Above all, we will have big problems with std::fstream.open(...) if std::u8string() is used as standard.
Currently, I only use std::u8string with the object attribute:
std::filesystem::path file = L"G:\\Tuấn Anh\\tết.txt";
  minio::s3::UploadObjectArgs args;
  args.bucket = "pywps.storage";
  args.object = file.filename().u8string();

I'm also not sure which is better. However, it seems we don't have much choice.

@kobalicek
I agree with you, u8string() is not yet widely used. It can cause more string-handling problems in this repository, I think.
Above all, we will have big problems with std::fstream.open(...) if u8string() is used as standard.
Currently, I only use std::u8string with the object attribute:
std::filesystem::path file = L"G:\\Tuấn Anh\\tết.txt";
  minio::s3::UploadObjectArgs args;
  args.bucket = "storage";
  args.object = file.filename().u8string();

I'm also not sure which is better. However, it seems we don't have much choice.

If you use L"G:\\Tuấn Anh\\tết.txt" it means you are using wchar_t string and not char* string. wchar_t has a defined encoding, but char* doesn't always mean UTF-8 and the problem here is UTF-8 vs 8-bit locale used by Windows.

what does AWS CPP library do in this scenario? @kobalicek

I think we should not expose wchar_t in public API

I think so, too.
It's a hard change for current users.

what does AWS CPP library do in this scenario? @kobalicek

I have no idea.
Usually when you want UTF-8 file naming on Windows you would convert your UTF-8 string to Windows WideChar (UTF-16) and use WinAPI unicode-aware functions to access the file. And here the problem is file names on Windows platform can even have invalid surrogate pairs, etc... as the API doesn't validate the names, it just wants a sequence of 16-bit chars (similarly Linux API just wants a sequence of bytes). This means that if you use a regular validating UTF-8 -> UTF-16 conversion it could refuse your "invalid" file names. And quite frankly, I have no idea how C++ std::filesystem even deals with that - could be implementation specific, etc...
BTW check this issue regarding path names on Windows:

https://github.com/libuv/libuv/issues/2048 (libuv)

This means that under windows we would want to use WTF-8 encoding instead of UTF-8:

https://simonsapin.github.io/wtf-8/

That's why I don't really know the best way of solving this in minio-cpp. Ideally we should do the conversion ourselves to be sure, but honestly that just sounds like a lot of work (basically to write the code and have it tested). Depending on std::filesystem is another option, but like everything in C++ the standard could just say this is implementation specific, which would mean that it's not guaranteed to work.

Looks like there is no simple solution available. Why can't we skip supporting such special use case in {Upload,Download}Object methods? There is always a working APIs available like {Get, Put}Object methods. {Upload,Download}Object are just wrapper to these methods with additional file open/close. Let the special users use {Get,Put}Object methods.

Looks like there is no simple solution available. Why can't we skip supporting such special use case in {Upload,Download}Object methods? There is always a working APIs available like {Get, Put}Object methods. {Upload,Download}Object are just wrapper to these methods with additional file open/close. Let the special users use {Get,Put}Object methods.

yeah since this is a language specific problem, we can make this assumption and also add a doc line on what to do when a user wishes to deal with UTF-8.

Using Get|Put is fine, but have a lot of work to do for self-handle.
At first, I just thought Upload|DownloadObject needs a parameter type to pass to std::fstream(...), and std::filesystem is well supported.

Using Get|Put is fine, but have a lot of work to do for self-handle. At first, I just thought Upload|DownloadObject needs a parameter type to pass to std::fstream(...), and std::filesystem is well supported.

std::fstream(...) is already supported by {Get,Put}Object APIs. There is no point to support in {Upload,Download}Object APIs.
I am unable to understand why usage of {Get,Put}Object is hard.

std::ifstream file(filename);
// construct PutObjectArgs
PutObjectResponse resp = PutObject(args);
file.close();
// Use resp


CLI produces self signed cert error on NG

##Bug description
Description:
One first init attempt to a new cluster on ng machines, we get the following error. If you run init again, it will pass. The same process was run in a non-ng machine and on first init, it worked.

{code:java}
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/conjur/wrapper/http_wrapper.py", line 110, in invoke_request
raise ssl_error
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/conjur/wrapper/http_wrapper.py", line 100, in invoke_request
return request_method(url, *args,
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/requests/api.py", line 76, in get
return request('get', url, params=params, **kwargs)
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/requests/sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/requests/sessions.py", line 655, in send
r = adapter.send(request, **kwargs)
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/requests/adapters.py", line 514, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='ec2-3-127-155-226.eu-central-1.compute.amazonaws.com', port=443): Max retries exceeded with url: /info (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1129)')))
Failed to execute command. Reason: HTTPSConnectionPool(host='ec2-3-127-155-226.eu-central-1.compute.amazonaws.com', port=443): Max retries exceeded with url: /info (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1129)')))

{code}
Steps to reproduce:
Deploy cluster
On non-ng machine, Install conjur CLI
conjur init -u https://
Pass
On ng machine, install conjur CLI
conjur init -u https://
Fail on first try
Try init again, pass

Current Results:
We fail to init using the CLI on first attempt on ng-machines
Expected Results:
Add another retry
Present readible error
Error Messages:
Logs:
{code:java}
During handling of the above exception, another exception occurred:Traceback (most recent call last):
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/requests/adapters.py", line 439, in send
resp = conn.urlopen(
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/urllib3/connectionpool.py", line 726, in urlopen
retries = retries.increment(
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/urllib3/util/retry.py", line 446, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='ec2-3-127-155-226.eu-central-1.compute.amazonaws.com', port=443): Max retries exceeded with url: /info (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1129)')))During handling of the above exception, another exception occurred:Traceback (most recent call last):
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/conjur/cli.py", line 546, in run
Cli.run_action(resource, args)
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/conjur/cli.py", line 716, in run_action
Cli.handle_init_logic(args.url, args.name, args.certificate, args.force, args.ssl_verify)
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/conjur/cli.py", line 600, in handle_init_logic
input_controller.load()
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/conjur/controller/init_controller.py", line 60, in load
self.get_account_info(self.conjurrc_data)
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/conjur/controller/init_controller.py", line 133, in get_account_info
self.init_logic.fetch_account_from_server(self.conjurrc_data)
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/conjur/logic/init_logic.py", line 68, in fetch_account_from_server
response = invoke_endpoint(HttpVerb.GET,
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/conjur/wrapper/http_wrapper.py", line 69, in invoke_endpoint
response = invoke_request(http_verb,
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/conjur/wrapper/http_wrapper.py", line 110, in invoke_request
raise ssl_error
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/conjur/wrapper/http_wrapper.py", line 100, in invoke_request
return request_method(url, *args,
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/requests/api.py", line 76, in get
return request('get', url, params=params, **kwargs)
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/requests/sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/requests/sessions.py", line 655, in send
r = adapter.send(request, **kwargs)
File "/Users/Sigal.Sax/brew/lib/python3.9/site-packages/requests/adapters.py", line 514, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='ec2-3-127-155-226.eu-central-1.compute.amazonaws.com', port=443): Max retries exceeded with url: /info (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1129)')))Failed to execute command. Reason: HTTPSConnectionPool(host='ec2-3-127-155-226.eu-central-1.compute.amazonaws.com', port=443): Max retries exceeded with url: /info (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1129)')))
{code}
Other Symptoms:
Tenant ID / Pod Number:
##Found in version
12.3
##Workaround Complexity
There's an easy workaround
##Workaround Description
Rerun init
##Affects Version/s
##Link to JIRA bug
https://ca-il-jira.il.cyber-ark.com:8443/browse/ONYX-11838

https://ca-il-jira.il.cyber-ark.com:8443/browse/ONYX-11838

//Author<EMAIL_ADDRESS>Another way to reproduce this. is by init to the LB and switch to the Master.
Anytime a switch is happening this is being reproduce.
My guess it something to do with the .conjurrc file

//Author<EMAIL_ADDRESS>[~mbenita]happens with each switch? or just once? happens also in non-NG computers?

//Author<EMAIL_ADDRESS>After some investigation we found the followings:
on the first attempt to reach new conjur server from ng-computer we appears to be failing
The certificate we get from the server on the first try is different from the cert getting in the second try
The certificate we get in the second run is the one issued by conjur server.
The certificate we get in the first run is issued by cyberark. weird :P
It is probably served by global protect (Sacha c idea) which tries to act as man in the middle with untrusted ca's
on the second attempt GP stop the MITM attemps
Need to verify: does this happens with trusted CA's. we think that this will not reproduced in that case
It is also possible we are failing because the cyberark intermidiate CA due date is 2033 and we have a restriction validating cert duration to 10 years max.
Another thing. our cli doesn't take it rootCA from the machine CA trusted certificate. this is:
security issue
will cause this error always repeat itself with customers self signed CA's
Fo conclusion:
Need to verify if it's still working with cyberark root CA trusted by the cli
Need to verify if the intermediate  CA life duration is an issue
Need to make the CLI work with the machine trusted CAs

//Author<EMAIL_ADDRESS>Duplicate to https://ca-il-jira.il.cyber-ark.com:8443/browse/CONJSE-989


adding calls to util.Panic

Description
Simplify the "if err -> panic" code flows.

Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...

[ ] included the correct type prefix in the PR title
[ ] added ! to the type prefix if API or client breaking change
[ ] added appropriate labels to the PR
[ ] targeted the correct branch (see PR Targeting)
[ ] provided a link to the relevant issue or specification
[ ] added a changelog entry to CHANGELOG.md
[ ] included comments for documenting Go code
[ ] updated the relevant documentation or specification
[ ] reviewed "Files changed" and left comments if necessary
[ ] confirmed all CI checks have passed

Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...

[ ] confirmed the correct type prefix in the PR title
[ ] confirmed all author checklist items have been addressed
[ ] reviewed state machine logic
[ ] reviewed API design and naming
[ ] reviewed documentation is accurate
[ ] reviewed tests and test coverage
[ ] manually tested (if applicable)

I think this PR is missing the file with util.Panic defined

Yes, just added missing file.

Codecov Report

Merging #1764 (6cfbbab) into main (9af22b8) will decrease coverage by 1.53%.
The diff coverage is 12.42%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

@@            Coverage Diff             @@
##             main    #1764      +/-   ##
==========================================
- Coverage   57.50%   55.98%   -1.53%
==========================================
  Files          77       84       +7
  Lines        8034     8310     +276
==========================================
+ Hits         4620     4652      +32
- Misses       3063     3317     +254
+ Partials      351      341      -10

Impacted Files
Coverage Δ

util/error.go
0.00% <0.00%> (ø)

x/oracle/genesis.go
4.58% <0.00%> (-0.13%)
:arrow_down:

x/oracle/module.go
52.56% <0.00%> (-0.69%)
:arrow_down:

x/uibc/genesis.go
0.00% <0.00%> (ø)

x/uibc/ics20/keeper/keeper.go
0.00% <0.00%> (ø)

x/uibc/keys.go
0.00% <0.00%> (ø)

x/uibc/msg.go
0.00% <0.00%> (ø)

x/uibc/query.pb.gw.go
0.00% <0.00%> (ø)

x/leverage/keeper/genesis.go
8.51% <15.38%> (+4.51%)
:arrow_up:

x/uibc/params.go
41.46% <41.46%> (ø)

... and 9 more


Update BlockGasLimit of evm pallet

According to:
pub fn with_sensible_defaults(expected_block_weight: Weight, normal_ratio: Perbill) -> Self {
    let normal_weight = normal_ratio * expected_block_weight;
    Self::builder()
        .for_class(DispatchClass::Normal, |weights| {
            weights.max_total = normal_weight.into();
        })
        .for_class(DispatchClass::Operational, |weights| {
            weights.max_total = expected_block_weight.into();
            weights.reserved = (expected_block_weight - normal_weight).into();
        })
        .avg_block_initialization(Perbill::from_percent(10))
        .build()
        .expect("Sensible defaults are tested to be valid; qed")
}

The original BlockGasLimit is missing avg_block_initialization(Perbill::from_percent(10)).
There were multiple BlockGasLimit variables in the previous test, only keep one now.
Format certain ts/js files.

@boundless-forest don't format the package-lock.json
if you wanna format the *.ts and *.js files, please update the scripts:
    "fmt-check": "prettier ./tests --check",
    "fmt": "prettier ./tests --write",

Also, maybe you can update your PR based on #995

@boundless-forest don't format the package-lock.json if you wanna format the *.ts and *.js files, please update the scripts:
    "fmt-check": "prettier ./tests --check",
    "fmt": "prettier ./tests --write",

I reverted the format changes for the package-lock.json file, have no idea why the GitHub still shows like this:

@boundless-forest don't format the package-lock.json if you wanna format the *.ts and *.js files, please update the scripts:
    "fmt-check": "prettier ./tests --check",
    "fmt": "prettier ./tests --write",

Fixed


Only number passwords accepted as best passwords

When user types passwords containing only numbers  charsetBonus becomes 1.8, which is higher.
Need to add another control for numbers
if (RegExp(r'^[0-9]*$').hasMatch(password)) {
    charsetBonus = 0.5;
}

Or let us allow custom "estimateBruteforceStrength" function usage;


chore: 升级最新依赖

General

✏ Mark the necessary items without changing the structure of the PR template.

[ ] Pull request template structure not broken

Type

ℹ What types of changes does your code introduce?

👉 Put an x in the boxes that apply

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist

ℹ Check all checkboxes - this will indicate that you have done everything in accordance with the rules in CONTRIBUTING.

👉 Put an x in the boxes that apply.

[ ] My code follows the style guidelines of this project
[ ] Is the code format correct
[ ] Is the git submission information standard?
[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

@xingyuv  看ci信息 还需要处理下类型错误

@xingyuv 看ci信息 还需要处理下类型错误

可以了，重写了一下实现


Hello Rails Back End: Setup backend

Hello

In this PR I:

[x] Initialized the project with --api to serve as an API.
[x] Configured it to generate random greeting messages.
[x] Created sample greeting messages in the seeds.rb file.

Frontend repo PR can be found HERE

Thank you @Ismailco @TedLivist


Metrics have bug for training.

🐛 Bug
I am under the impression that metrics can not be shared between validation and training as validation_epoch_end resets them before training_epoch_end is run.
As an end user this is highly counter intuitive to me.
Code sample

from pathlib import Path

import pytorch_lightning as pl
import torch
import torch.nn as nn
from torchmetrics import Accuracy
import pytorch_lightning.loggers as pl_loggers
import torch.nn as nn
from pytorch_lightning.callbacks import RichProgressBar
from torch.nn.modules.linear import Linear
from torchvision.models import resnet18
import pytorch_lightning as pl
from torch.utils.data import DataLoader, random_split
from torchvision import datasets, transforms

PROJECT_DIR = Path(".")

class MNISTDataModule(pl.LightningDataModule):
    def __init__(
        self,
        data_dir,
        batch_size=32,
        val_percentage=1 / 12,
        num_workers=20,
    ):
        super().__init__()
        self.data_dir = data_dir
        self.batch_size = batch_size
        self.val_percentage = val_percentage
        self.num_workers = num_workers

    def prepare_data(self):
        datasets.MNIST(root=self.data_dir, train=True, download=True)
        datasets.MNIST(root=self.data_dir, train=False, download=True)

    def setup(self, stage):
        transform = transforms.Compose(
            [
                transforms.ToTensor(),
                transforms.Normalize((0.1307,), (0.3081,)),
            ]
        )
        if stage in (None, "fit"):
            mnist_train = datasets.MNIST(root=self.data_dir, train=True, transform=transform)
            self.mnist_train, self.mnist_val = random_split(
                mnist_train,
                [
                    len(mnist_train) - int(len(mnist_train) * self.val_percentage),
                    int(len(mnist_train) * self.val_percentage),
                ],
            )
        if stage in (None, "test"):
            self.mnist_test = datasets.MNIST(root=self.data_dir, train=False, transform=transform)

    def train_dataloader(self):
        mnist_train = DataLoader(
            self.mnist_train, batch_size=self.batch_size, num_workers=self.num_workers
        )
        return mnist_train

    def val_dataloader(self):
        mnist_val = DataLoader(
            self.mnist_val, batch_size=self.batch_size, num_workers=self.num_workers
        )
        return mnist_val

    def test_dataloader(self):
        mnist_test = DataLoader(
            self.mnist_test, batch_size=self.batch_size, num_workers=self.num_workers
        )
        return mnist_test

class ClassificationModule(pl.LightningModule):
    def __init__(
        self, head_network: nn.Module, embedding_network: nn.Module, loss_func=None, metrics=None
    ):
        super().__init__()
        self.embedding_network = embedding_network
        self.full_network = nn.Sequential(self.embedding_network, head_network)
        self.loss_func = loss_func or nn.CrossEntropyLoss()
        self.metrics = metrics or nn.ModuleList([Accuracy()])

    def forward(self, x):
        y_pred = self.full_network(x)
        return y_pred

    def forward_embedding(self, x):
        y_pred = self.embedding_network(x)
        return y_pred

    def _update_metrics(self, logits, y, **log_kwargs):
        for metric in self.metrics:
            metric.update(logits, y)

    def _log_metrics(self, mode, **log_kwargs):
        for metric in self.metrics:
            self.log(f"\n{mode}/{metric.__class__.__name__.lower()}", metric, **log_kwargs)

    def training_step(self, batch, batch_idx):
        x, y = batch
        logits = self.forward(x)
        loss = self.loss_func(input=logits, target=y)
        self.log(
            f"\ntraining/loss",
            loss,
            on_step=False,
            on_epoch=True,
            prog_bar=False,
            logger=True,
        )
        self._update_metrics(logits, y)
        self._log_metrics(
            mode="training",
            on_step=True,
            on_epoch=True,
            prog_bar=True,
            logger=True,
        )
        return loss

    def validation_step(self, batch, batch_idx):
        x, y = batch
        logits = self.forward(x)
        loss = self.loss_func(input=logits, target=y)
        self.log(
            f"\nvalidation/loss",
            loss,
            on_step=False,
            on_epoch=True,
            prog_bar=True,
            logger=True,
        )
        self._update_metrics(logits, y)
        self._log_metrics(
            mode="validation",
            on_step=True,
            on_epoch=True,
            prog_bar=True,
            logger=True,
        )
        return loss

    def test_step(self, batch, batch_idx):
        x, y = batch
        logits = self.forward(x)
        loss = self.loss_func(input=logits, target=y)
        self.log(
            f"\ntesting/loss",
            loss,
            on_step=False,
            on_epoch=True,
            prog_bar=True,
            logger=True,
        )
        self._update_metrics(logits, y)
        self._log_metrics(
            mode="testing",
            on_step=True,
            on_epoch=True,
            prog_bar=True,
            logger=True,
        )
        return loss

    def configure_optimizers(self):
        optimizer = torch.optim.Adam(self.parameters(), lr=3e-4)
        scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(
            optimizer, T_max=self.trainer.max_epochs
        )
        return [optimizer], [scheduler]

if __name__ == "__main__":
    data_module = MNISTDataModule(
        PROJECT_DIR / "data", num_workers=20, batch_size=128, val_percentage=0.2
    )

    base_network = resnet18(pretrained=True)
    embedding_network = nn.Sequential(
        nn.Conv2d(1, 3, padding="same", kernel_size=3),
        base_network,
    )

    classification_module = ClassificationModule(
        head_network=Linear(1000, 10),
        embedding_network=embedding_network,
        loss_func=nn.CrossEntropyLoss(),
    )
    rich_bar = RichProgressBar()
    tb_logger = pl_loggers.TensorBoardLogger(
        save_dir=PROJECT_DIR / "logs",
        name="experiment",
        default_hp_metric=False,
    )
    trainer = pl.Trainer(
        gpus=1,
        callbacks=[rich_bar],
        max_epochs=20,
        logger=[tb_logger],
        check_val_every_n_epoch=1,
        num_sanity_val_steps=0,
    )
    trainer.fit(
        model=classification_module,
        datamodule=data_module,
    )
    trainer.test(datamodule=data_module)

Expected behavior
Epoch 7    ━━━━━╸━━━━━━━━━━━━━━━━ 118/469 0:00:04 • 0:00:11 32.89it/s loss: 0.0144 v_num: 0
                                                                      validation/loss: 0.041
                                                                      validation/accuracy_e…
                                                                      0.995
                                                                      training/accuracy_epo…
                                                                      0.0

Here training/accuracy_epoch is always 0. I would have expected it to be non-zero.
Environment

PyTorch Version pytorch_lighting.__version__==1.5.2. (Have not checked other versions.)

Hi @somedadaism,
As you state yourself we highly recommend that users use separate metrics for train, val and test to not mess up the state between them. Also stated as the first note on this page in the documentation. So instead of having
self.metrics = metrics or nn.ModuleList([Accuracy()])

in the beginning, please exchange with
self.train_metrics = deepcopy(metrics) or nn.ModuleList([Accuracy()])
self.val_metrics = deepcopy(metrics) or nn.ModuleList([Accuracy()])
self.test_metrics = deepcopy(metrics) or nn.ModuleList([Accuracy()])

then I would add a extra argument to your _update_metrics method:
def _update_metrics(self, logits, y, stage, **log_kwargs):
    # stage should be one of ["train", "val", "test"]
    metrics = getattr(self, f"{stage}_metrics")
    for metric in metrics:
        metric.update(logits, y)

and a similar update to the _log_metrics method. This should fix the issues you are having.

Hi thanks for your help. Yes I have already fixed this accordingly.
Nonetheless the fact that validation_end comes before training_end will predictably result in user error.
You are correct to point to the documentation. What the documentation honestly should say in my opinion is that it is guaranteed with the current state of the framework to introduce error when trying to manage shared metrics yourself.

So I am going to agree with you that it is probably impossible to get it working correctly in lightning if you only is using a single instance of the metric. That is the reason we have the note in the docs.
However, torchmetrics is not only used with lightning but was also developed to be used with just native torch. Using just torchmetrics+torch it is absolutely possible to do train/val/test with a single metric instance because you have full control of the call order.
Based on this I would say that what we can do is to add an additional note in this page https://torchmetrics.readthedocs.io/en/latest/pages/lightning.html that is related specifically to logging in lightning that states that you should always use different metrics for the different stages.

Yes I think that is the best option.
I concur that using vanilla torch you can use the metrics in a shared manner.
All in all this probably is more of an pytorch_lighting issue than a torchmetrics issue.
I will close my issue and remember to RTFM next time. 👍


trained model

Is there any trained model for testing?
Thank you！

I used the unofficial-Pix2Seq trained model , and got an error:
RuntimeError: Error(s) in loading state_dict for DETR:
size mismatch for transformer.embedding.position_embeddings.weight: copying a param with shape torch.Size([500, 256]) from checkpoint, the shape in current model is torch.Size([501, 256]).


Better debug statement when looking for matching route

I keep making this change manually every time I have a routing problem, so thought it might be worth committing.

Improved debugging statements. Named one anonymous function. Show list of middleware for a route (uses debug formatter so that it is not run unless debugging is enabled). Indicates if a route matches.


Feature: Adding context with Embeddings and Pinecone

Not sure if this is a feature request, but it might be nice to interface with a vector database (ex. Pinecone) with OpenAI embeddings and add some text to add context to some messages.

This is super interesting. Can be used to relate/group conversations, or search messages as well.
Would need to get some sort of API key from the user, so that storage can be private.
How would this feature look like? (UI/UX)

Embeddings, as represented by vectors of floating-point numbers, measure the "relatedness" of text strings. These are super useful for ranking search results, clustering, classification, etc. Relatedness is measured by cosine similarity. If the cosine similarity between two vectors is close to 1, the vectors are highly similar and point in the same direction. In the case of text embeddings, a high cosine similarity between two embedding vectors indicates that the corresponding text strings are highly related.
This starter app uses embeddings to generate a vector representation of a document, and then uses vector search to find the most similar documents to the query. The results of the vector search are then used to construct a prompt for GPT-3, which is then used to generate a response. The response is then streamed to the user. Check out the Supabase blog posts on pgvector and OpenAI embeddings for more background.
taken this from https://github.com/gannonh/gpt3.5-turbo-pgvector
maybe a way to integrate with each other

in case of UI/UX, I have tested the above and they take a list of URL's to take embeddings from and stores on Supabase and calls Supabase API

Can we have the option to click on a response that opens up embedding results, which is pandas data frame for example? There can be multiple results so we will need paginations and support for multiple columns in the data frame.

@sungkim11 can you describe a bit more. Pandas is not something we have on a Typescript website. Happy to add, but would need more details on what's the ask.
For instance:

what's the embedding generator, what's the chunking function for the text, when do you compute/recompute them, etc.

This assumes I am using OpenAI API where python is used to control the prompts and typescript is used to display these prompts.
User enters a prompt.
Python script searches embeddings using prompt.
Python script returns both response and embedding search results as pandas dataframe fir example.
Typescript displays a response.
When a user clicks on a response and triggers more information on a response, right nav opens up providing information on response, displaying pandas dataframe in tabular format within a limited space with a pagination controls. It could take up half the windows space.
I guess we can do a wholething in typescript too.
Thanks!

Thinking of closing this issue. Looking at this from now:
s the purpose to have a RAG system in big-AGI?
If so, I can rename this issue and track it as "RAG", so a user could opt-in on a per-chat (or per-persona?) basis.
As far as LangChain and Pinecone - embeddings can be stored in any manner, and Langchain is library that's very large for the benefit it would provide.

Closed for deprecation - superseded by RAG mechanisms.


MGMT: Contacts should be "tabbed" by name?

While this is perfectly good as is, I am wondering if it might be more useful if each contact that is tabbed as 1, 2, 3 should be instead displayed by contact name instead. That would allow me to very quickly see who the contacts are, and I wouldn't have to step through 2-3 clicks to find Jane Doe.

Change has been pushed to mgmt-contacts.  Default tab label is index number until a name is entered.  Also Name and EMail have been set to be Required

Looks great. Merged. Branch deleted.


Sensor data transformations fix

Description

Temporally fixed sensor transformations and sensor data transformations mismatch in IMU and camera-based sensors.
This must be reverted once the new camera tick pipeline is implemented since it should fix this.
Added additional smoke tests that validate this fix so it won't happen again.
Added PythonAPI/examples/lidar_to_camera.py: a tutorial that shows how to create and use the camera intrinsic and extrinsic matrix to project 3D world positions to 2D image coordinates in CARLA. It requires the Pillow Python module in order to store the result as an image.

Where has this been tested?

Platform(s): Ubuntu 18.04
Python version(s): 3.6
Unreal Engine version(s): 4.24

This change is

Hi there,
When I try to run your script I am getting this error below:
ValueError: cannot reshape array of size 92262 into shape (30754,4)
It seems a simple error but I am a newbie. It would be appreciated if you could help me.


3 Page sizes added

Fixes #48

But I had defined it😧

Okay.. I'll do that again

Closing this since it will have lots of conflicts now 😅

Closing this since it will have lots of conflicts now 😅


Dasel query crashes with go panic

Describe the bug
dasel crashes with panic: reflect.Set: value of type []interface {} is not assignable to type []*dencoding.Map.
Maybe a dupe of #282.

Stacktrace
panic: reflect.Set: value of type []interface {} is not assignable to type []*dencoding.Map

goroutine 1 [running]:
reflect.Value.assignTo({0x7483e0?, 0xc0353721e0?, 0xc02880af88?}, {0x7b95e2, 0xb}, 0x7476a0, 0x0)
	reflect/value.go:3307 +0x289
reflect.Value.Set({0x7476a0?, 0xc028351f80?, 0x16?}, {0x7483e0?, 0xc0353721e0?, 0xc0285af860?})
	reflect/value.go:2260 +0xe6
github.com/tomwright/dasel/v2.Value.Append({{0xc0322d2340, 0xc028351f80, 0x16}, 0xc028706520, 0x0, 0xc0285af860})
	github.com/tomwright/dasel/v2/value.go:295 +0x285
github.com/tomwright/dasel/v2.glob..func3(0x760ce0?, 0x41679a?, {0xd5cfc0?, 0x6?, 0xa61cc0?})
	github.com/tomwright/dasel/v2/func_append.go:26 +0x2ae
github.com/tomwright/dasel/v2.BasicFunction.Run(...)
	github.com/tomwright/dasel/v2/func.go:144
github.com/tomwright/dasel/v2.(*Step).execute(0xc000313810)
	github.com/tomwright/dasel/v2/step.go:30 +0xc3
github.com/tomwright/dasel/v2.(*Context).Next(0xc03530de00)
	github.com/tomwright/dasel/v2/context.go:227 +0x1a5
github.com/tomwright/dasel/v2.(*Context).Run(0x7aa6e0?)
	github.com/tomwright/dasel/v2/context.go:195 +0x29
github.com/tomwright/dasel/v2.(*Context).subSelect(0xc0322b8d80, {0x7aa6e0?, 0xc0285af980?}, {0xc0322e65e0?, 0x2?})
	github.com/tomwright/dasel/v2/context.go:162 +0x67
github.com/tomwright/dasel/v2.glob..func6.1({{0xc0322d2340, 0xc028351f80, 0x16}, 0xc028706380, 0x0, 0xc0285af860}, {{0xc0322e65e0, 0xc}, {0xc0322e65f0, 0xe}})
	github.com/tomwright/dasel/v2/func_equal.go:42 +0x85
github.com/tomwright/dasel/v2.glob..func6(0xc0322b8d80, 0xc0003135e0, {0xc032232da0?, 0x2, 0xa61cc0?})
	github.com/tomwright/dasel/v2/func_equal.go:64 +0x706
github.com/tomwright/dasel/v2.BasicFunction.Run(...)
	github.com/tomwright/dasel/v2/func.go:144
github.com/tomwright/dasel/v2.(*Step).execute(0xc0003135e0)
	github.com/tomwright/dasel/v2/step.go:30 +0xc3
github.com/tomwright/dasel/v2.(*Context).Next(0xc0322b8d80)
	github.com/tomwright/dasel/v2/context.go:227 +0x1a5
github.com/tomwright/dasel/v2.(*Context).Run(0x7aa6e0?)
	github.com/tomwright/dasel/v2/context.go:195 +0x29
github.com/tomwright/dasel/v2.Select({0x7aa6e0?, 0xc0285af890?}, {0x7ffce70d5591?, 0xc000138840?})
	github.com/tomwright/dasel/v2/context.go:117 +0x2a
github.com/tomwright/dasel/v2/internal/command.runSelectCommand(0xc0000c1c28, 0x7b3e8f?)
	github.com/tomwright/dasel/v2/internal/command/select.go:99 +0xbc
github.com/tomwright/dasel/v2/internal/command.selectRunE(0xc00019ac00?, {0xc00035bd80, 0x1, 0x7ad020?})
	github.com/tomwright/dasel/v2/internal/command/select.go:83 +0x4f9
github.com/spf13/cobra.(*Command).execute(0xc000004300, {0xc0000160a0, 0x8, 0x8})
	github.com/spf13/cobra@v1.8.0/command.go:983 +0xabc
github.com/spf13/cobra.(*Command).ExecuteC(0xc000004300)
	github.com/spf13/cobra@v1.8.0/command.go:1115 +0x3ff
github.com/spf13/cobra.(*Command).Execute(0x408e2b?)
	github.com/spf13/cobra@v1.8.0/command.go:1039 +0x13
main.main()
	github.com/tomwright/dasel/v2/cmd/dasel/main.go:10 +0x25

To Reproduce
Steps to reproduce the behavior:

Create the following CSV (or any other, I think):Hello;There;
1;2;

Run dasel -f foo.csv --csv-comma ';' -w json --pretty  'equal([], )'
Observe the error

I have to admit I didn't look much at the dasel query syntax (this is a reduced version), I just ended up piping it to jq and using some select and map magic for my usecase :)
Expected behavior
It should not crash.
Desktop:

OS: Arch Linux (using the nix package though)
Version dasel version 2.6.0

Hey @I-Al-Istannen,
Thanks for raising this. I'll do a bit of digging.
Out of interest, what were you actually trying to get from the CSV?

It seems this panic could occur when appending to a list of objects. I have fixed it here: https://github.com/TomWright/dasel/pull/393 however it requires the deletion of some code that I need to verify is OK to be removed.

Thanks for raising this. I'll do a bit of digging.

Thanks :)

Out of interest, what were you actually trying to get from the CSV?

I was parsing stop data for the German train network, which of course only offers data in a large CSV file :P The full command for finding stops I was interested in looked something like this:
dasel -r csv -f <(iconv -f ISO-8859-1 -t UTF-8 haltestellen.csv) --csv-comma ';' -w json | jq 'map(select(.Gemeinde | contains("Name"))) | map({Gemeinde, Haltestelle, Haltestelle_lang, globaleID})'

I was trying  to do the select with dasel first, but it was sufficiently different from jq that I didn't manage to cook something up quickly and then ran into the crash. dasel+jq worked just fine. Though the above command takes around 7 seconds, with dasel taking up 5 of them, but I don't really care about the performance :D

Yeah dasel unfortunately loads the entire file into memory because of the change in file type. Streaming parsers are hard enough on there own - imagine trying to streaming readers + writers in 5 file types.
Performance aside, I'd be interested in a subset of your file that I can create some tests against to:
A: be sure no panic will occur
B: Potentially help you with your query without the need for jq (I'm always looking for ways to increase the general usefulness of dasel)

Streaming parsers are hard enough on there own - imagine trying to streaming readers + writers in 5 file types.

:^)

You can find the full file for e.g. Baden-Württemberg here. They offer data in the only two capable data formats this world has come up with, semicolon-separated comma separated values and XLSX. You can follow the "csv Datei" link (or click here directly).
The query is in my last comment, it just takes the json array, filters the entries to the ones in a specific municipality and then trims down the json object to the relevant elements.

Hey @I-Al-Istannen,
Just for your information I got some time to dig at this. This is possible without hitting the panic you experienced:
./dasel -r csv -f <(iconv -f ISO-8859-1 -t UTF-8 ~/Downloads/file.csv) --csv-comma ';' -w json 'all().filterOr(equal(Gemeinde,Stuttgart),equal(Gemeinde,Mahlstetten)).mapOf(Gemeinde,Gemeinde,Haltestelle,Haltestelle,Haltestelle_lang,Haltestelle_lang,globaleID,globaleID)'
6.79s user 0.10s system 164% cpu 4.185 total

This shows just the fields:

Gemeinde
Haltestelle
Haltestelle_lang
globaleID

For any stations in:

Stuttgart
Mahlstetten

I have also merged the panic fix to master.

Ah, I see. You need to also duplicate all the fields in the map as it is key,value,key,value,…. I was trying more of a jq-like approach for the filter apparently 'equal([].Landkreis, "Sigmaringen")', but that already maps the array values.

That's right - I want a neater version of that map function for exactly this purpose. It works for now though


Parsing error - "cookie: " became part of key in Python cookies-dict

Hi Nick,
Great job with this curl converter! I ran into a small issue today, where a curl command worked in bash, but the Python-converted variant did not work due to a wrongly parsed header.
When converting the following curl cookie header to Python:
-H 'cookie: secure_user_id=InNlY3VyZTEwNjI3Ig%3D%3D--3b5df49345735791f2b80eddafb630cdcba76a1d; adaptive_image=1440; has_js=1; ccShowCookieIcon=no; _web_session=Y2h...e5'

It resulted in a cookies dict like this:
cookies = {
    'cookie: secure_user_id': 'InNlY3VyZTEwNjI3Ig%3D%3D--3b5df49345735791f2b80eddafb630cdcba76a1d',
    'adaptive_image': '1440',
    'has_js': '1',
    'ccShowCookieIcon': 'no',
    '_web_session': 'Y2h...e5',
}

that fails, rather than the following expected cookies dict that works:
cookies = {
    'secure_user_id': 'InNlY3VyZTEwNjI3Ig%3D%3D--3b5df49345735791f2b80eddafb630cdcba76a1d',
    'adaptive_image': '1440',
    'has_js': '1',
    'ccShowCookieIcon': 'no',
    '_web_session': 'Y2h...e5',
}

It seems to be a more or less simple parsing error where the "cookie: " erroneously became part of the dict key:
'cookie: secure_user_id': 'InNlY3VyZTEwNjI3Ig%3D%3D--3b5df49345735791f2b80eddafb630cdcba76a1d',

Where it should just have become:
'secure_user_id': 'InNlY3VyZTEwNjI3Ig%3D%3D--3b5df49345735791f2b80eddafb630cdcba76a1d',

Best regards,
Johan

Thanks @johandicap for reporting this. I have opened #153 which will fix this issue.

You're welcome. Thanks for fixing it :)


Empty REACT_APP_ env vars in .env.production cannot override its counterpart in .env

Is this a bug report?
Yes.
When an REACT_APP_ environment variable is set in .env, we cannot overwrite it with an empty string.
In our scenario, our app tries to connect to an development API server running on local machine, but in production the static files built with npm build will be served directly with API server. The host name is set through an REACT_APP_ENDPOINT environment variable, with it being localhost in .env and being an empty string in .env.production. However, the empty string somehow cannot override the settings in .env.
In reality I worked-around this by putting REACT_APP_ENDPOINT in .env.development.
Also, for API servers we can also use proxies instead. However, I think it's still a bit counter-intuitive that settings in .env.production cannot override the one in .env. That's why I opened this issue.
Did you try recovering your dependencies?
It's reproducible in fresh install of create-react-app
Which terms did you search for in User Guide?

env then read through "Adding Custom Environment Variables"

Environment

node -v: v8.9.0
npm -v: 5.5.1
npm ls react-scripts (if you haven’t ejected<EMAIL_ADDRESS>
Then, specify:

Operating system: Mac OSX

Steps to Reproduce

Create .env and write REACT_APP_ENDPOINT=http://localhost:8080
Create .env.production and write REACT_APP_ENDPOINT=
inApp.js put:

console.log('ENDPOINT', REACT_APP_ENDPOINT} + '/api');

npm run build
Manually open the built main..js, search for 'ENDPOINT: '

Expected Behavior
Find this in the built js:
console.log('ENDPOINT', '/api');

Actual Behavior
Find this in the built js:
console.log('ENDPOINT', 'http://localhost:8080/api')

Reproducible Demo
Repo
https://github.com/MrOrz/create-react-app-env-override/
Relevant file

App.js
.env
.env

This does sound like a bug. I took a quick look at the dotenv source and it does allow you to set an empty environment variable. The empty value in .env.production should take precedence over the non-empty value in .env.
I think the workaround you came up with is a better way to handle this situation anyway but we should still look into what's going on here.

It looks like this was fixed in dotenv here.

Looks like 5.0 was released a couple of weeks ago so we just need to upgrade. Too bad we didn't notice that before the 1.1.1 release yesterday. 😞

Since this is potentially breaking for others who may rely on the behavior it's probably safe to do this in 2.x only.

Makes sense. I've submitted a PR to next only at this point. I won't make one of 1.x.

The fix will be available in the next 2.x alpha.
https://github.com/facebook/create-react-app/pull/4009#issuecomment-364684770

Hey everyone, just wanted to point out that I'm still running into this issue. I believe the bug here is actually being introduced by dotenv-expand. When I take it out, the variable overrides behave correctly, but something in the expand package causes issues that allow empty strings to be overridden.


Small fixes to the READMEs and CLI help messages

In this PR I

updated the README in the example directory to include the MySQL docker instance spin-up command.
updated the help message for the CLI in mysql_demo. Since it is no longer supported to get root_hash of an older epoch, I modified the description of root_hash command to remove the optional epoch parameter from the CLI help message.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 88.46%. Comparing base (24b11de) to head (417e5ac).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #426      +/-   ##
==========================================
+ Coverage   87.99%   88.46%   +0.46%
==========================================
  Files          39       39
  Lines        9054     9214     +160
==========================================
+ Hits         7967     8151     +184
+ Misses       1087     1063      -24

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

Looks good, thanks! I know it's unrelated, but mind addressing the clippy error in this diff as well?


Public Key Issue

I'm getting an error decoding the NHS Covid Pass 2d barcode using this repo.
Based from my investigation the public key used to encrypt the 2d barcode data does not exist anymore on this web service "https://covid-status.service.nhsx.nhs.uk/pubkeys/keys.json".
Can anyone please share the new link for the public keys if  there is any.
Thank you.

any update on this issue?

Hi, just want to follow up this issue.


Add new plugin danmu

Description
Add a new plugin danmu.
This plugin use dandan api to generate .ass subtitle files to play danmu with local video files.
This extension allows users to select a video file (.mp4 or .mkv) in Finder. It calculates the MD5 hash of the first 16 MB of the video file and searches for the corresponding danmu file using the Dandan API. The plugin then generates two types of danmu files: one containing only the danmu comments and another that includes the original subtitles along with the danmu.
Screencast
https://github.com/user-attachments/assets/e4187fe0-4782-45e9-92e7-6da5eab94fda
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

hello!
I have update it with your suggestion! Please let me know if there any issue I didn't noticed ^^


scala-js: disable -Xfatal-warnings in Scaladoc generation;

works around #149 for now

green build w/ this change https://scala-ci.typesafe.com/job/scala-2.12.x-integrate-community-build/198/consoleFull (in 2.12.x context, but hey)

let's make sure 2.11.x is good: https://scala-ci.typesafe.com/job/scala-2.11.x-integrate-community-build/122/console

I merged this onto 2.11.x-jdk8 and 2.12.x as well.


AnimatedSprite doesn't emit animation_finished when changing playback direction

Godot version
3.x (ddc14b6bbce41ca539e6314403b5afea7d192b19), master (d6e7dcbea9c297253e05a75691d5707aa0a749b3)
System information
Mageia 9 Linux, x86_64
Issue description
AnimatedSprite (AnimatedSprite2D in master) seems to behave differently from AnimationPlayer with regard to emitting the animation_finished signal when the animation ends, if the playback direction has changed (e.g. starting playing forwards, then playing backwards).
In the attached project, the animation is played forward and properly emits animation_finished when it ends. The animation_finished callback then plays the animation again but backwards, and there the animation_finished signal is not emitted when reaching the end (first frame).
Similarly, if starting by playing backwards, then the animation_finished signal is properly emitted when it reaches the first frame. But if we then restart the animation forwards, the signal is not emitted when reaching the last frame.
So it looks like the way the animation is played the first time defines what the "end" condition is and does not adapt to changes in playback direction. On the other hand, AnimationPlayer seems to handle the above scenario fine, and emits animation_finished on the last frame if playing forward, and on the first frame if playing backward.
Steps to reproduce

Add AnimatedSprite animation with a few frames
Play it forward, then when animation_finished is received, play it backward
animation_finished is not received when the backward animation ends

Minimal reproduction project
3.x MRP: AnimatedSpriteTest-3.x.zip
master MRP: AnimatedSpriteTest-4.0.zip
There's a backwards export bool that can be toggled to observe the two behaviors described above.

CC @timothyqiu @KoBeWi if you're interested.


Update LangChain LLMs and Add Chat Models Support

This PR includes the following updates on the LangChain integration:

Removed supports for OCI generative AI. Users should use the implementation from langchain-community instead.
Compatible with LangChain v0.3 and Pydantic v2.
Added chat model
Added streaming and async support
Added tool calling support for vLLM

Example code to enable tool calling for mistral model
from ads.llm import ChatOCIModelDeploymentVLLM, ChatTemplates

deployment_ocid = "<Model Deployment OCID>"

llm =  ChatOCIModelDeploymentVLLM(
    model="odsc-llm", # update this as needed.
    streaming=True,
    endpoint=f"https://modeldeployment.us-ashburn-1.oci.customer-oci.com/{deployment_ocid}/predict",
    auth=ads.common.auth.default_signer(),
    model_kwargs={"temperature" : 0},
    tool_choice="auto",
    chat_template=ChatTemplates.mistral()
)

Test coverage:

Update documentation
LangChain Integration - ADS.pdf


Update incorrect link

Previous link didn't have the register-the-certificate-on-nugetorg section. Fix the link to redirect to correct page that has this section.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

OPS Build status updates of commit a2dca75:
:clock10: Preparing: average preparing time is 41 sec(s)

OPS Build status updates of commit a2dca75:
:clock10: Incremental building: average incremental building time is 21 sec(s)

OPS Build status updates of commit a2dca75:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/create-packages/Publish-a-package.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@ClydeDz thanks for fixinf that!


Concerning use of empty enums for opaque types

pcap_t and pcap_dumper_t seem to be represented by empty enums on the Rust side. According to the Rustonomicon this is a bad idea.
From https://doc.rust-lang.org/nomicon/ffi.html#representing-opaque-structs:

Notice that it is a really bad idea to use an empty enum as FFI type. The compiler relies on empty enums being uninhabited, so handling values of type &Empty is a huge footgun and can lead to buggy program behavior (by triggering undefined behavior).

And according to C standard having an empty array is completely impossible yet the Rustonomicon put a empty array in a struct with repr(C).
Anyway, I have nothing against use a struct instead.


DJV bugging out, green pixels everywhere.

I haven't seen anything like that before, have you tried updating your graphic card drivers?

It was indeed a driver issue, I have an RX580. Downgraded from 22.10.1 to 22.5.1 and works flawlessly!


Doesn't build with rustc 1.73

error[E0446]: crate-private type `Conn<'a>` in public interface
  --> src/rusttls/stream.rs:13:5
   |
13 |     pub conn: Conn<'a>,
   |     ^^^^^^^^^^^^^^^^^^ can't leak crate-private type
...
17 | pub(crate) enum Conn<'a> {
   | ------------------------ `Conn<'a>` declared as crate-private

error[E0446]: crate-private type `Conn<'a>` in public interface
   --> src/rusttls/stream.rs:127:5
    |
17  | pub(crate) enum Conn<'a> {
    | ------------------------ `Conn<'a>` declared as crate-private
...
127 |     pub fn new(io: &'a mut IO, conn: impl Into<Conn<'a>>) -> Self {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't leak crate-private type

This is just cargo +1.73 check in this repository.

which version are you using? I can build master with 1.75 without issues

1.73. It builds fine with 1.75

very strange

It's the same with 1.70, FWIW. I don't have older versions of the toolchain installed right now.


Clicking on explorer banner while context menu causes it to collapse

VSCode Version: 1.20.0-insiders
OS Version: Windows 10

Steps to Reproduce:

On a viewlet (in the explorer), open a context menu by right clicking an item on the explorer.
Click on anything on the banner and it will collapse rather than clicking the button.

Can you try to reproduce with our nightly insider builds? You can give our preview releases a try from: https://code.visualstudio.com/insiders/


Animating elements on top of lines (ie. dots)

Hello,
it appears that this script will be very helpful for one particular section of a new website I'm developing. It seems very robust while being simple to implement. Many thanks for sharing!
However, I was thinking about adding a dot (perhaps with a pseudo-element or SVG) that would animate (with CSS anims) from start to end of each line. Basically such object would have to follow the line path.
Is it possible in current state of this script? How you would recommend to approach this issue?

Hi @szmigieldesign, thank you for your comment.
Sorry, I couldn't understand the "dot" well.
Does the dash option help you?
https://anseki.github.io/leader-line/#animation

Hello @anseki,
perhaps it'll be easier to explain with the design itself:
https://www.dropbox.com/s/6drsl3nrtkeaz39/Screenshot_2019-06-07 Zeplin - Project.png?dl=0
You'll see the lines connecting divs. The lines have dots on top of them. It would be awesome if I could somehow animate the dots so that they follow line paths - just like the dash animation but with dots "on top of the line" kind of thing.

I see.
That is usually called "Motion Path", and it can be implemented easily with animateMotion of SVG.
https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animateMotion

Thanks for the tip. As far as I'm aware - I'd have to modify the source to render additional circle element in SVG generated by the script and have it animated, right?

You can add a <circle> element by the script as you said, or you can add a SVG document into the HTML code because SVG supports reference to symbol.
For example: https://jsfiddle.net/dpaefb03/
Also, the third line is an example using dash option that I suggested before.

@anseki, thanks a ton for this example! That'll do :-)

I'm glad if I could help you. :smile:
So, could you close this issue if it was solved?

Sure, thing!
PS. Method 3 with dashes if fine for simple dots animating on path. What I didn't get at first is to duplicate lines - one for the line itself and the second one for animation. It works great.


WIFI-1629 Captive Portal Service Halt

This patch will add the support to enable captive portal on multiple ssid's with same
captive portal profile
Signed-off-by: Nagendrababu<EMAIL_ADDRESS>

Merged, thank you


[Move] Fixed size_hint for unique map iterators. Fixed FunctionSourceMap::make_local_name_to_index_map

Added size_hint to unique map iterators for proper integration with ast_debug
Fixed FunctionSourceMap::make_local_name_to_index_map. Parameters should be first

Motivation

bugs are bad

Test Plan

Verified debug fix
I am unsure of any tests for the source map

/land

/land


cask: audit for minimal OS version in sparkle feeds

[x] Have you followed the guidelines in our Contributing document?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[ ] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

This should prevent situations where we forget to update the macOS dependency if there is a new version required upstream

Review period will end on 2022-11-01 at 00:00:00 UTC.

Love this because it is often forgotten until something breaks.

The recent iTerm update is exactly what motivated me here. If you have other things people forget, don't hesitate to ask me or make your own audit for it.

Review period ended.

Thanks @SMillerDev!

Oops sorry @Bo98!


Change pip version in submission space

Hi,
Is there a way to change the pip version (and maybe also the python version) for the submission spaces of the competition?
I don't mean the actual competition space; instead, I mean the space that is created upon submission (named "comp-").

pip version can be updated for all. no problem. python cannot. which python version do you prefer and why? :)

How exactly can I update the pip version?
Changing the Python version is not a priority for now, I was just curious about this :D

we can update pip to latest by rebuilding the docker

you can also install custom packages by creating a requirements.txt file in the competition config repo. so, thats another way :)

I actually want to downgrade it from 24.2 to 24.0 because one dependency in the requirements file cannot be installed with the latest version.
Unfortunately, I cannot simply add another pip version to the requirements.txt as this will not prevent the error because then pip 24.2 will install all dependencies (including pip 24.0).
I need an option to make sure that a different pip version is already installed before the requirements are installed.

could you please share which dependency doesn't work?

We cannot install omegaconf==2.1.0rc1 (see here) which is a dependency of hydra-core==1.1.0rc1

You can upgrade pip using pre-requirements.txt.
ref: https://huggingface.co/docs/hub/spaces-dependencies#adding-your-own-dependencies

Unfortunately the pre-requirements file only affects the leaderboard space but not the individual spaces created to run submissions.
In the meantime we were able to remove this dependency.
Still, I believe for future it would be great to add the feature to control the pip version also of the submission spaces.
we can close this for now.

Thank you.
Once you are done setting up the competition, please let me know and we can put it on the competitions page and share on socials.

Great, here’s the link:
https://huggingface.co/spaces/AGC2024-P/e2e-driving-navsim