User should be able to provide token size

UPDATE

User should be able to provide required token size
Default size will be 24 char long

Usecase:
class User < ActiveRecord::Base
  has_secure_token   # default token size is 24
  has_secure_token :auth_secret, token_size: 50 # auth_secret token size is 50
end

user = User.new
user.save
user.token # => 'pX27zsMN2ViQKta1bGfLmVJE'
user.auth_secret # => '7vUrfsD6K9GazaY8J7Acxsw3E6wU93TMe9DHWuNe5yj9yfwneB'

Added test cases and tested on my ongoing project, working as expected.

Also check: issue-10

Updated README file for PR-17

this is what I found when trying to debug above travis-ci failing issue: https://github.com/bundler/bundler/issues/3558. Could you please update latest bundler version in CI

Use latest bundler version in CI

FIXED....failing travis-error: before bundle install use latest bundler version in CI: follow https://github.com/bundler/bundler/issues/3558 for more information

@przbadu since this is still a back port gem, could you open this PR on https://github.com/rails/rails?

@robertomiranda: Hi Robert! this is my first contribution, so what exactly should I do to open PR on https://github.com/rails/rails, I will be more then happy to do that as a Rails developer... I thought this is related to has_secure_token gem, so I made a PR in this gem, can you suggest me more please??

Okay, got it, it is now ActiveRecord::SecureToken, https://github.com/rails/rails/blob/master/activerecord/lib/active_record/secure_token.rb .... I will make PR this weekend

#11 Please check this PR

@przbadu : check this PR #11

Was a PR ever filed with the main Rails project for this feature?

@rohitnick: 👍
Right I missed your pull request, I was on hurry to implement this feature.
Thanks

@fredngo: I just made a https://github.com/rails/rails/pull/24531 as I was free today.


Increase lambda memory

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Analyzed for some lambdas that can be tested, more details in this SIM

/login --> 1800MB
/launch --> cannot be powertuned easily because it is not easy to create this request object and verify jwk with appropriate state and nonce created in /login
/jwks --> 1536MB and 1800MB are very close winners
/authorizerProxy --> 1800MB
/tokenProxy --> 1536 and 1800MB are close

Not going to test the /scoreSubmission and /rosterRetrieval as there are no prod use cases currently
I am concluding that 1800MB is best if we want to keep same memory for all lambda functions.


python311Packages.dvc-data: 2.12.2 -> 2.13.1

Diff: https://github.com/iterative/dvc-data/compare/refs/tags/2.12.2...2.13.1
Changelog: https://github.com/iterative/dvc-data/releases/tag/2.13.1
Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 248670 run on x86_64-linux 1

10 packages built:

dvc (python310Packages.dvc)
dvc-with-remotes
dvc-with-remotes.dist
dvc.dist (python310Packages.dvc.dist)
python310Packages.dvc-data
python310Packages.dvc-data.dist
python310Packages.dvclive
python310Packages.dvclive.dist
python311Packages.dvc-data
python311Packages.dvc-data.dist

Result of nixpkgs-review pr 248670 run on aarch64-linux 1

10 packages built:

dvc (python310Packages.dvc)
dvc-with-remotes
dvc-with-remotes.dist
dvc.dist (python310Packages.dvc.dist)
python310Packages.dvc-data
python310Packages.dvc-data.dist
python310Packages.dvclive
python310Packages.dvclive.dist
python311Packages.dvc-data
python311Packages.dvc-data.dist


[BUG] Failed backups should be available to the user with a failed status

Describe the bug
Failed backups should be available to the user with a "failed" or in "Error" status
To Reproduce

Create a volume, attach to a workload. write something to the volume

Take a backup

While the backup is in progress, reboot the node, in which the replica responsible for backup is running

The backup fails

It is not see in "In Progress" anymore

But the failed backup status for that backup is not available anymore in the volumes API -

"backupStatus": [
        {
          "actions": null,
          "backupURL": "",
          "error": "",
          "id": "backup-c81d0fa474284d64",
          "links": null,
          "progress": 3,
          "replica": "vol-2-r-47bd8d7f",
          "snapshot": "f202c984-ed6b-4b94-935a-7663d7d57ff0",
          "state": "in_progress"
        },
        {
          "actions": null,
          "backupURL": "",
          "error": "",
          "id": "backup-e4a396f0495f4c1e",
          "links": null,
          "progress": 15,
          "replica": "vol-2-r-47bd8d7f",
          "snapshot": "b6c68e0e-de47-468b-807c-f9f84f581878",
          "state": "in_progress"
        }
      ],

Expected behavior
Failed backups should be available in the API/UI. This will be useful for the user, when one of the backups fail.
Environment:

Longhorn version: master - 05/08/2020
Kubernetes version: 1.17.5
Node OS type and version: RKE DO linux 18.04

Adding one more scenario here.
When backup is created from a replica and it gets rebuilt, volume API doesn't show the backups details in volume page tool tip of snapshot.
Steps:

Create a backup. (A snapshot also gets created before taking backup). Let it complete.
Delete the replica from where the above backup was created.
After replica rebuilt, Hover to snapshot or check the volume API call. It doesn't show the backup details from the failed replica.

Sounds like the duplicate of https://github.com/longhorn/longhorn/issues/1249 .

To solve this we need a persistentence layer for backup information. We might get that as part of the kubernetes csi snapshoter #304

Here is the prototype of adding the event log to backup creation (start/failed/succeeded).

The rest is if the Longhorn engine calculates the snapshot file extent retrieval failed, now the snapshots and backups list won't adding the icon.
For a better user experience, I expect that when the user clicks the backup creation, the snapshots and backups list would add a new icon, and it indicates the status of the backup (start/progress/failed/succeeded).

Validation - In Progress
The failed backups are now available with the error as below.
Volume detail page - Hover on the snapshot taking the backup

@jenting @smallteeths Once the backup fails, the progress in the snapshot icon stuck and keep showing the same %. Logged a bug of improvement of user experience - https://github.com/longhorn/longhorn/issues/3394
Backup Page - Creation state

Events - Logs

@jenting - The event is appearing with warning level, isn't this be error level?
cc: @innobead

The event is appearing with warning level, isn't this be error level?

It's the event type defined in Kubernetes which only supports normal and warning, ref to https://github.com/kubernetes/kubernetes/blob/b11d0fbdd58394a62622787b38e98a620df82750/pkg/apis/core/types.go#L4670-L4676.

Deleting the errored backup - This is a bit slow and there is no indication of the backup is being deleted on the UI. On deletion of the errored backup from backup page, the volume details page stop showing the error, working as expected.

Ref to #3349


RUM-2875 Introduce the FeatureContextUpdateLitener API

What does this PR do?
A brief description of the change being made with this pull request.
Motivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

Codecov Report

Merging #1829 (b6e49b2) into feature/sr-web-view-support (13a7578) will increase coverage by 0.04%.
The diff coverage is 68.00%.

Additional details and impacted files
@@                       Coverage Diff                       @@
##           feature/sr-web-view-support    #1829      +/-   ##
===============================================================
+ Coverage                        83.75%   83.79%   +0.04%
===============================================================
  Files                              472      472
  Lines                            16598    16600       +2
  Branches                          2501     2499       -2
===============================================================
+ Hits                             13900    13909       +9
+ Misses                            2004     2001       -3
+ Partials                           694      690       -4

Files
Coverage Δ

...ain/kotlin/com/datadog/android/core/DatadogCore.kt
84.02% <90.00%> (+0.32%)
:arrow_up:

...in/com/datadog/android/core/NoOpInternalSdkCore.kt
15.91% <0.00%> (-0.76%)
:arrow_down:

...in/com/datadog/android/core/internal/SdkFeature.kt
89.03% <61.54%> (-2.52%)
:arrow_down:

... and 21 files with indirect coverage changes


User-defined font is not used when opening folder

Issue Type: Bug
On Ubuntu 18.04 (also 19.10), after setting a user-defined font and opening VSCode in a folder, the default VSCode font is used.
However, if, instead of a folder, a file is selected to be opened, using for example the following command, the font that is used is the user-defined one:
code path/to/folder/file.py

Steps to reproduce:

Set a font of your choice.

Close VSCode.

Open VSCode in a folder using a terminal. For example:
code path/to/folder

Expected result:
Open VSCode with the user-defined font.
Actual result:
VSCode opens using its default font.

VS Code version: Code 1.43.2 (0ba0ca52957102ca3527cf479571617f0de6ed50, 2020-03-24T07:52:11.516Z)
OS version: Linux x64 5.3.0-42-generic

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz (8 x 3200)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: disabled_softwareskia_renderer: disabled_off_okvideo_decode: unavailable_offviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
2, 1, 0

Memory (System)
7.53GB (0.12GB free)

Process Argv
--no-sandbox --unity-launch

Screen Reader
no

VM
0%

Extensions (1)

Extension
Author (truncated)
Version

python
ms-
2020.3.69010

(1 theme extensions excluded)

Are you configuring the font as a workspace setting or as a user setting?

I am configuring it as a user setting.

@lepa22 VS Code has a concept of folder settings. Can you please try opening another folder? In the folder you open, very likely there is a file at .vscode/settings.json where perhaps you have changed the font family again.

Yes, you are right! The .vscode/settings.json had indeed the previous font settings stored. I edited the file to set the correct font and now VS Code displays it as it should.
However, why does VS Code have this behavior? Shouldn't the in-folder settings.json be updated when I change the font from within VS Code settings?

VS Code has a very intricate settings story, and folder settings overwrite user settings. There is this help page to explain it -- https://code.visualstudio.com/docs/getstarted/settings

OK, I'll check it out. Thank you very much for looking into this!


Merge revision into develop

No conflicts

test me

Build Passed :ok_hand:
You can safely merge 'merge-revision-into-develop' into 'develop'.

:+1:


server responded with a status of 504 (Gateway Time-out) during console oauth authentication

Describe the bug
Occasionally, during console systemtests we see the server responded with a status of 504 (Gateway Time-out) during console oauth2 authentication.   This test then fails.
Additional context
The issue is seen on OpenShift 3.11

My suspicion is that it is the call to 'redeem endpoint' (the token endpoint) make by oath-proxy is hanging during.  I notice that the HTTP call made by it has an infinite timeout.


Use plugin buildHash within extension.uid

This PR ensures that extension uid value reflects both of the following:

plugin identification - plugin name (manifest.name) and extension's index (within manifest.extensions array)
plugin build hash (manifest.buildHash), using a randomly generated uuidv4 value if not present in the manifest

When a plugin gets reloaded, the build hash value will change.

Codecov Report
Base: 38.53% // Head: 38.53% // No change to project coverage :thumbsup:

Coverage data is based on head (608e8e3) compared to base (f9acc5c).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #188   +/-   ##
=======================================
  Coverage   38.53%   38.53%
=======================================
  Files          64       64
  Lines        1583     1583
  Branches      353      353
=======================================
  Hits          610      610
  Misses        938      938
  Partials       35       35

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

/lgtm

/approve


HDF 3.0

It would be nice if this app could be updated to HDF 3.0 (Not HDP 3.0 - sorry!)
Thanks

THANKS!

Updated to HDF 3.0, closing issue.


Latest changes for mobile artwork page

This is the last piece to update artwork views to include accept card info

Yes, that was intentional. Per Brian request. I think they are trying to move away from using faux underline.
Granted design was updated based on design for regular artworks and this side change of just one underline change for auction artwork looks strange...
Sent from my iPhone

On May 18, 2018, at 5:02 PM, Matt Zikherman<EMAIL_ADDRESS>wrote:
@mzikherman commented on this pull request.
In src/desktop/apps/artwork/components/commercial/index.styl:

     color gray-darker-color

     font-size 15px

   text-decoration underline

Are these intentional? Seems like we lost the faux underline (which let content 'breathe') a bit, and replaced it with regular text-decoration underline.
It looks a bit cramped now, we were discussing in #front-end.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or mute the thread.


Import login?

How can I import my login into the script? as I wish to automate sending a text message.

You just edit the file .gvoice located in your home folder.


Snapshot error

I tried to use the snapshot but i got this error
Error: LinkageError occurred while loading main class me.cortex.jarscanner.Main
java.lang.UnsupportedClassVersionError: me/cortex/jarscanner/Main has been compiled by a more recent version of the Java Runtime (class file version 64.0), this version of the Java Runtime only recognizes class file versions up to 61.0
I think i have the latest version but it seems like not
I also tried to compile it but i don't know exactly how to do it, so any help would be nice
Edit: oh wait, i think i did compile it, because i had two snap files, and the second one don't give me the error

How were you able to compile it? What did you use?

How were you able to compile it? What did you use?

I used ./gradlew build
I read this from a closed thread, this worked for me

and that is in the cmd prompt from the unzipped dir I am guessing

that is in the unzipped directory, yes
also i'm using linux, you're using Windows i think?

yea I am on win10 atm and am getting some strange results.
I am getting build failures from the Detector.java file from the most recent release line 80, 83, 87

I got it to build switching to java 18 now I am unable to get it to run even with java 18?

Hmmmm i don't know about windows then sorry, but it does have a .bat file anyways better ask someone who has a better idea about it

I got it to build switching to java 18 now I am unable to get it to run even with java 18?

You are trying to run the snapshot build right? that is in /build/lib

yea

The project has been tested against v17. Maybe try switching to that version in the mean time?

switching to java 17 got it to work


Macro declarations

Introduce macro declarations and use them for the... declaration... of macros... with a way to specify the externally-provided definition of the macro. Macro declarations look like this:
macro stringify<T>(_ value: T) -> (T, String) = _SwiftSyntaxMacros.StringifyMacro

With these macro declarations, we no longer need to query the macro implementation for the type signature, because it's all available in the source. Nor do we need allMacros to help us find macros, because the macro module and type name is specified in the definition.
Macro declarations also make most of the other features one expects work easily, so wire up access control, code completion, and indexing in the process.

https://github.com/apple/swift-syntax/pull/1093
@swift-ci please smoke test

https://github.com/apple/swift-syntax/pull/1093
@swift-ci please test

@swift-ci please smoke test

apple/swift-syntax#1093
@swift-ci please smoke test

https://github.com/apple/swift-syntax/pull/1093
@swift-ci please smoke test

https://github.com/apple/swift-syntax/pull/1093
@swift-ci please smoke test

AARRGGGGHHHH silly conflict

https://github.com/apple/swift-syntax/pull/1093
@swift-ci please smoke test

https://github.com/apple/swift-syntax/pull/1093
@swift-ci please smoke test


CustomUserFactory code

From @peterbozso on https://github.com/dotnet/AspNetCore.Docs/pull/22505 ...

According to this comment: https://github.com/dotnet/aspnetcore/issues/24237#issuecomment-663085021

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

ID: 9638772f-0f1e-c2a9-8a58-ae8c3e37ae28
Version Independent ID: 7a5b169e-08cb-cdba-4501-88d3da2723bb
Content: Secure a hosted ASP.NET Core Blazor WebAssembly app with Identity Server
Content Source: aspnetcore/blazor/security/webassembly/hosted-with-identity-server.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

... also (if) .ToArray, a null check shouldn't be needed IIRC.

Latest local test app that I have (I think ... I have a gazillion of them 😆) is 3.2 with the code working. @peterbozso, are you aware if this is a 5.0-only problem that didn't exist back in the 3.2 era? ... because it looks like the PU issue was for 5.0. It was just something that didn't get called out over here for docs.

Thank you @guardrex for taking the time to look at this one!
I am building an application on top of the 5.0 Blazor WebAssembly Hosted template with Identity Server.  In order to use roles on the client side, I incorporated the code from the docs, here.
When I ran the application with it, I got this exception:
Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
      Unhandled exception rendering component: Collection was modified; enumeration operation may not execute.
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.Collections.Generic.List`1.Enumerator[[System.Security.Claims.Claim, System.Security.Claims, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]].MoveNextRare()
   at System.Collections.Generic.List`1.Enumerator[[System.Security.Claims.Claim, System.Security.Claims, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]].MoveNext()
   at System.Security.Claims.ClaimsIdentity.FindAll(String type)+MoveNext()
   at Pagestash.Client.Services.IdentityServerAccountClaimsPrincipalFactory.CreateUserAsync(RemoteUserAccount account, RemoteAuthenticationUserOptions options) in C:\Users\peter\Repos\pagestash\src\Pagestash\Client\Services\IdentityServerAccountClaimsPrincipalFactory.cs:line 35
   at Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService`3.<GetAuthenticatedUser>d__26[[Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationState, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60],[Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteUserAccount, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60],[Microsoft.AspNetCore.Components.WebAssembly.Authentication.ApiAuthorizationProviderOptions, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60]].MoveNext()
   at Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService`3.<GetUser>d__25[[Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationState, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60],[Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteUserAccount, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60],[Microsoft.AspNetCore.Components.WebAssembly.Authentication.ApiAuthorizationProviderOptions, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60]].MoveNext()
   at Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationService`3.<CompleteSignInAsync>d__19[[Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationState, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60],[Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteUserAccount, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60],[Microsoft.AspNetCore.Components.WebAssembly.Authentication.ApiAuthorizationProviderOptions, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60]].MoveNext()
   at Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore`1.<ProcessLogInCallback>d__84[[Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationState, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60]].MoveNext()
   at Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticatorViewCore`1.<OnParametersSetAsync>d__82[[Microsoft.AspNetCore.Components.WebAssembly.Authentication.RemoteAuthenticationState, Microsoft.AspNetCore.Components.WebAssembly.Authentication, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=adb9793829ddae60]].MoveNext()
   at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task)
   at Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync()
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle)

I started to look for a solution and stumbled upon this issue.
After incorporating the proposed fix (ToArray() call) by this comment, the Exception was not thrown again.
This was the point when I thought it'd make sense to add this fix to the code in the official docs, so I opened this PR, which you've closed.
What's next? :)

Since then I also further simplified (by reducing neting by inverting if-s) and improved (by making it null-safe) the code from the docs. Feel free to incorporate it in the docs if you'd like to.
public override async ValueTask<ClaimsPrincipal> CreateUserAsync(
    RemoteUserAccount account,
    RemoteAuthenticationUserOptions options)
{
    var user = await base.CreateUserAsync(account, options);

    if (user.Identity?.IsAuthenticated != true)
    {
        return user;
    }

    var identity = (ClaimsIdentity)user.Identity;

    var roleClaims = identity.FindAll(identity.RoleClaimType).ToArray();

    if (roleClaims.Length == 0)
    {
        return user;
    }

    foreach (var existingClaim in roleClaims)
    {
        identity.RemoveClaim(existingClaim);
    }

    var rolesElem = account.AdditionalProperties[identity.RoleClaimType];

    if (rolesElem is not JsonElement roles)
    {
        return user;
    }

    if (roles.ValueKind == JsonValueKind.Array)
    {
        foreach (var role in roles.EnumerateArray())
        {
            AddClaim(identity, role, options);
        }
    }
    else
    {
        AddClaim(identity, roles, options);
    }

    return user;
}

private void AddClaim(
    ClaimsIdentity identity,
    JsonElement jsonElement,
    RemoteAuthenticationUserOptions options)
{
    var value = jsonElement.GetString();
    if (value != null)
    {
        identity.AddClaim(new Claim(options.RoleClaim, value));
    }
}

Let's take the ToArray and just check Any (Linq). I understand that many devs prefer flatter code ... simpler for deep nesting for sure. However, it's also longer code ... more scrolling. This level of nesting is reasonable. I'm sure if Javier felt the nesting was an issue that he would've submitted his bits without it. He also didn't null check user.Identity. If that's a real problem, please open a new issue for that, and I'll ping him to take a look.


feat: add @wallet-standard/ethereum-chains package

Summary
This PR adds a package with two of the main Ethereum chains.
Closes #26.

Summary
This PR adds a package with two of the main Ethereum chains.
Closes #26.


PowerShell Core RuntimeException fix

Check the posh-git FAQ first and if your question is not answered, PLEASE fill in these details so that we can help you!
System Details

posh-git version: <IP_ADDRESS>60330
PowerShell version:

C:\Users\Matty> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.0.0-alpha
BuildVersion                   <IP_ADDRESS>
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
CLRVersion
PSEdition                      Core
PSRemotingProtocolVersion      2.3
GitCommitId                    v6.0.0-alpha.14
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Git version:

C:\Users\Matty> git --version
git version 2.9.2.windows.1

Operating system name and version:

posh-git version: <IP_ADDRESS>60330, PSVersion: 6.0.0-alpha, git version 2.9.2.windows.1, OS: Microsoft Windows NT 6.2.9200.0

Issue Description
When loading the module, PS Core complains about line 234 of GitUtils.ps1 containing
[void][Environment]::SetEnvironmentVariable($key, $value, [EnvironmentVariableTarget]::Process)

that the last argument is not needed (and unkown to PS Core).
Unable to find type [EnvironmentVariableTarget].
At C:\Users\Matty\Documents\PowerShell\Modules\posh-git\<IP_ADDRESS>60330\GitUtils.ps1:234 char:67
+ ... EnvironmentVariable($key, $value, [EnvironmentVariableTarget]::Proces ...
+                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (EnvironmentVariableTarget:TypeName) [], RuntimeException
    + FullyQualifiedErrorId : TypeNotFound

And indeed, according to the docs, there is no last parameter to this function in .Net Core. Changing the line to
[void][Environment]::SetEnvironmentVariable($key, $value<#, [EnvironmentVariableTarget]::Process#>)

solves the issue with the same behavior, as according to the docs, this is the default behavior of the function (setting env var on process scope). Checking for .Net Core version and when detected, calling without last param solves this issue.

@MathiasMagnus Thanks for the report.  This issue has already been fixed and is waiting one the 0.7.0 release.  If you'd like to test this, you could clone this repo and try importing the module from the clone dir.


docs/readme: add cuDNN v4 to feature matrix

CLOSE: #43

@homu r+

:pushpin: Commit d6d53b3 has been approved by MichaelHirn

:zap: Test exempted - status


Implement direct scan-out for fullscreen views

DRM overlay planes can be used for this, where available. We already have all of the shit there to detect them, but we currently do not expose them in the API.

@ascent12 Can you elaborate how the API could look like? We need to extend both wlr_output and wlr_drm_connector. Concerning the wlr_output side, is adding a wlr_output_set_fullscreen(struct wlr_output *, struct wlr_surface *) enough? Same for wlr_output_interface? Or do we want a more complicated interface?

You shouldn’t need any API change, you can promote any surface matching the criteria to a plane, as long as you still have some available.

We need a wlr_output API change.


Doesn't support Kafa connect Date, Time, Timestamp

These are all treated as INT64.  I fixed this same issue in https://github.com/DataReply/kafka-connect-elastic-search-sink/pull/7

Fixed in pr #18


official Did you give up?

Don't give up, get active, continue to improve

Don't give up

@filiph Thank you for your reply


Parts of js/README.md are wrong

Until earlier today when I found myself wanting to understand how Twitter calculates the length of a potential tweet and needed to do some tests, I'd never done anything with Node.js. But I'm pretty certain that parts of  https://github.com/twitter/twitter-text/blob/master/js/README.md  are wrong.
I was confused by

The twttr.txt namespace is exported, making it available as such:

because the following code is
var twitter = require('twitter-text')
twitter.autoLink(twitter.htmlEscape('#hello < @world >'))

so where does twttr.txt come from? But the rest of the example code uses twttr.txt so I thought I guess it's correct and it's just my lack of understanding of how this stuff works. So I assembled the following, copy/pasted from the example code
var twitter = require('twitter-text');
var tweet = "This is a test tweet";
console.log(twttr.txt.parseTweet(tweet));

And it didn't work.
somethingTest.js:3
console.log(twttr.txt.parseTweet(tweet));
            ^

ReferenceError: twttr is not defined

So I changed line 3 to
console.log(twitter.parseTweet(tweet));

and that worked.
The "Tweet Parsing" section describes the fields validDisplayRangeStart and validDisplayRangeEnd  neither of which appear in the example output that follows. The order of fields in the example output
  {
    weightedLength: 20,
    permillage: 71,
    valid: true,
    displayRangeEnd: 19,
    displayRangeStart: 0,
    validRangeEnd: 19,
    validRangeStart: 0
  }

doesn't match the order they appear in actual output
~/tweetLengthTest>node somethingTest.js
{
  weightedLength: 20,
  valid: true,
  permillage: 71,
  validRangeStart: 0,
  validRangeEnd: 19,
  displayRangeStart: 0,
  displayRangeEnd: 19
}
~/tweetLengthTest>

There is also a broken link in the js readme:

Details about Twitter's weighted counting scheme are available on the official developer website.

Thanks, we moved that content to https://developer.twitter.com/en/docs/basics/counting-characters - will make a note to update that for the next time we sync with GitHub.


"Băișoara", "Frăsinet", "Moara de Pădure", "Muntele Băișorii", "Muntele Bocului", "Muntele Cacovei", "Muntele Filii", "Muntele Săcelului", "Săcel", are listed in the drop-down menu

Description:
When user writes "Băișoara", "Frăsinet", "Moara de Pădure", "Muntele Băișorii", "Muntele Bocului", "Muntele Cacovei", "Muntele Filii", "Muntele Săcelului" and "Săcel" the locations appear in the drop-down menu next to the comune and the county which is a part according to the law
Precondition:
The website is up an running.

Step 1
Write in the search bar "Băișoara"
Expected results
The location appears in the drop-down menu as "Sat Băișoara, CLUJ (Băișoara)"

Step 2
Press "x" button.
Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Frăsinet"
Expected results
The location appears in the drop-down menu as "Sat Frăsinet, CLUJ (Băișoara)"

Step 4
Press "x" button.
Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Moara de Pădure"
Expected results
The location appears in the drop-down menu as "Sat Moara de Pădure, CLUJ (Băișoara)"

Step 6
Press "x" button.
Expected results
The location was deleted from the search bar.

Step 7
Write in the search bar "Muntele Băișorii"
Expected results
The location appears in the drop-down menu as "Sat Muntele Băișorii, CLUJ (Băișoara)"

Step 8
Press "x" button.
Expected results
The location was deleted from the search bar.

Step 9
Write in the search bar "Muntele Bocului"
Expected results
The location appears in the drop-down menu as "Sat Muntele Bocului, CLUJ (Băișoara)"

Step 11
Write in the search bar "Muntele Cacovei"
Expected results
The location appears in the drop-down menu as "Sat Muntele Cacovei, CLUJ (Băișoara)"

Step 12
Press "x" button.
Expected results
The location was deleted from the search bar.

Step 13
Write in the search bar "Muntele Filii"
Expected results
The location appears in the drop-down menu as "Sat Muntele Filii, CLUJ (Băișoara)"

Step 14
Press "x" button.
Expected results
The location was deleted from the search bar.

Step 15
Write in the search bar "Muntele Săcelului"
Expected results
The location appears in the drop-down menu as "Sat Muntele Săcelului, CLUJ (Băișoara)"

Step 16
Press "x" button.
Expected results
The location was deleted from the search bar.

Step 17
Write in the search bar "Săcel"
Expected results
The location appears in the drop-down menu as "Sat Săcel, CLUJ (Băișoara)"


nRF54H20 EngB fixes

Certain Kconfigs were only enabled for or in relation to nRF54H20 EngC (default chip revision). Align EngB as well.

Engineering B is being removed: #80163

We should not remove it until NCS 2.8.0 is released.

Engineering B is being removed: #80163

We should not remove it until NCS 2.8.0 is released.

Let's do that then, agreed. Let's merge this first and then merge #80163

Added remaining changes that I missed yesterday. I haven't updated tests, assuming we don't need EngB coverage upstream.

west build -p -b<EMAIL_ADDRESS>-d build-cdc-fp1/ samples/subsys/usb/cdc_acm/ -- -DCONF_FILE=usbd_next_prj.conf fails with nrf-regtool 7.0.0:
-- Found nrf-regtool (found suitable version "7.0.0", minimum required is "5.6.0")
Usage: nrf-regtool generate [OPTIONS]
Try 'nrf-regtool generate -h' for help.

Error: Invalid value: Generating from DTS is only supported for peripheral BICR

west build -p -b<EMAIL_ADDRESS>-d build-cdc-fp1/ samples/subsys/usb/cdc_acm/ -- -DCONF_FILE=usbd_next_prj.conf fails with nrf-regtool 7.0.0:
-- Found nrf-regtool (found suitable version "7.0.0", minimum required is "5.6.0")
Usage: nrf-regtool generate [OPTIONS]
Try 'nrf-regtool generate -h' for help.

Error: Invalid value: Generating from DTS is only supported for peripheral BICR

I haven't rebased this PR on top of ff70e2f4c44d3e2cfbe2d03b846c2ee570086905, which is needed for nrf-regtool 7.0.0 to work. You may consider rebasing it locally, or waiting ~3h for this PR to be mergeable.


Create a common interface Transporter

Create a common interface to plug other forks to modify the http state
connection switching different underlying transport implementations.

This patch enables client authentication with x509 certificates.

Review?

@masterzen  merge?

So what's the final verdict? @masterzen

@hoenirvili I haven't had the time to review your proposed changes. I'm going to do that ASAP.

@masterzen thanks for the response.

busy day?

@masterzen merge?

@masterzen could you merge it already? been waiting some time and I need this patch to be merged upstream because I don't want to use/maintain my fork.

I'm very very sorry @hoenirvili I haven't had the time to work on this project this last month. I'll do my best to review the code this week.
BTW, I think the TLS fix has been applied to Go 1.7 which is now in beta, I'm wondering if we couldn't wait for it to be released to remove the dependency on the Azure fork.
If you think we can't wait, I'll merge it as is once I've done the final review, we could still come back to this in a while.
Thanks!

@masterzen I could refactor the code, but in the project that I will use this pkg is not supporting yet the latest patches of go ( go1.7), the project currently supports and uses 1.6.2 and It will take some years until it will change to the latest go version.

@masterzen merge?

@hoenirvili, I'm very sorry for the overdue review, I've been unfortunately busy by $work and $life things.
I've read the code again, and I still think there are lot of duplicated code like auth.go parse and http.go body or auth.go Post and http.go Post.
Isn't there a way were we could have those two functions in only one place and inject them their respective parameters?
What do you think?

@masterzen I see your concern about the code duplication problem but really this is happening due to use of the  tls, http forks , because for example we can't make one type of another package with another type from another package work together even they are declared exactly the same as in naming, memory layout, etc, the compiler sees them differently and this is the prime reason for duplicating.

@hoenirvili yes I understand.
I'm wondering if we couldn't just have our own custom types that would delegate to the proper implementations when we call functions on them?
This might not be worth the effort, though.
Let me know what you think, thanks!

@masterzen Also I would happly wait for the 1.7 go release and replace all the code to be just from the stlib , but the project I work and the dev-team only updates the go compiler/stdlib only on LTS(long time  releases).
So I must wait 4 years just to use this libary for the other project that I contribute to?

@masterzen Is already done, I've created our own custom type Transporter and it's just doing exactly what you explained. It's choosing the underlying transport for the http connection and also the logic of the http post request of it's self.
// switch to other transport if provided
	if params.TransportDecorator != nil {
		client.http = params.TransportDecorator()
	}

	// set the transport to some endpoint configuration
	if err := client.http.Transport(endpoint); err != nil {
		return nil, fmt.Errorf("Can't parse this key and certs: %s", err)
	}

If it's nothing special , it's choing the default transport, tls logic.
client := &Client{
		Parameters: *params,
		username:   user,
		password:   password,
		url:        endpoint.url(),
		useHTTPS:   endpoint.HTTPS,
		// default transport
		http: &clientRequest{},
	}

The type clientRequest implements the Transporter Interface and it's the default code that is using http, tls from go1.6.2 stdlib.

@masterzen do you have time now to merge this?

Let's merge it now.


React native fetch issue on android

🐛 Bug Report
Hi,
For call API i am using following code example which is work properly for that API which is hosted on my local machine IIS.
But when i use my production server IP it throw error network request failed.
Please give me solution.
Code Example
fetch('http://<IP_ADDRESS>:80/api/Auth/login/', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"UserId": "Admin",
"Password": "123"
})
})
.then((response) => {
const statusCode = response.status
const data = response.json()
return Promise.all([statusCode, data])
})
.then((res) =>{
if(res[0] == 200){
alert(res[1])
//this.props.navigation.navigate('Main')
}
else{
alert(res[1])
}
})
.catch((error) => {
console.error(error);
});
Environment
react-native-cli: 2.0.1
react-native: 0.59.1
API level 28 android pie google pixel 2 emulator.
$ react-native info
info
React Native Environment Info:
System:
OS: Windows 10
CPU: (4) x64 Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz
Memory: 2.66 GB / 5.70 GB
Binaries:
Yarn: 1.13.0 - ~\AppData\Roaming\npm\yarn.CMD
npm: 6.8.0 - C:\Program Files\nodejs\npm.CMD
IDEs:
Android Studio: Version  <IP_ADDRESS> AI-182.5<IP_ADDRESS>64788

@Amitmpandey thanks for the issue report.
I have a strong feeling this is related to Android 28's network security policy change, could you take a look at the steps indicated here and apply them (including adding a rule for your production IP address): https://facebook.github.io/react-native/docs/integration-with-existing-apps#network-security-config-api-level-28 (Android tab)

@Salakar Thanks for reply. Sure I’ll apply settings which mentioned in link and try

@Salakar A big big big Thank you. I Added my production IP in react_native_config.xml file which is already added in my project. This is working fine. Again thank you so much. Lots of love from India.

@Amitmpandey you're welcome, good luck with your project!


I still have the welcome page after connexion but apparently I am connected because I can have the verification

If I refresh I am connected

Can you describe steps to reproduce ?

I have done that :

Connexion
Ok popup
Disconnected
New connection
-> Problem

I don't know if it's reproductible.
I hade multiple clients connected (even a V3 client on another URL).


Using Kenney.io glTF assets causes 'Null check operator used on a null value'

Repo: https://github.com/domesticmouse/hexagon_explorer
Launching lib/main.dart on macOS in debug mode...
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:macOS, arch:arm64, id:00006000-001250C00C38801E, name:My Mac }
{ platform:macOS, arch:x86_64, id:00006000-001250C00C38801E, name:My Mac }
✓ Built build/macos/Build/Products/Debug/hexagon_explorer.app
[IMPORTANT:flutter/shell/platform/embedder/embedder_surface_metal_impeller.mm(47)] Using the Impeller rendering backend (Metal).
Connecting to VM Service at ws://<IP_ADDRESS>:50840/Qr8EL3wB7Gc=/ws
Connected to the VM Service.
flutter: Flutter Scene is not ready to render. Skipping frame.
flutter: You may wait on the Future returned by Scene.initializeStaticResources() before rendering.
flutter: Unpacking Scene (nodes: 1, textures: 1)
[ERROR:flutter/runtime/dart_vm_initializer.cc(40)] Unhandled Exception: Null check operator used on a null value
#0      Node.fromFlatbuffer (package:flutter_scene/node.dart:142:55)
#1      Node.fromAsset (package:flutter_scene/node.dart:125:12)
<asynchronous suspension>
#2      MyAppState.initState.<anonymous closure> (package:hexagon_explorer/main.dart:36:61).
<asynchronous suspension>

flutter: Flutter Scene is not ready to render. Skipping frame.
flutter: You may wait on the Future returned by Scene.initializeStaticResources() before rendering.

These glTFs reference a colormap texture that's missing. But even if it weren't missing, the importer only really supports embedded images at the moment, so that will need to be fixed.
Also, when the import or runtime unpack runs into texture issues, it should just gracefully fallback to a placeholder texture.
Added this behavior with https://github.com/bdero/flutter_scene/commit/b7363dd8e99dd5c91360b4f096332063c29c1398

flutter: Texture 0 has no embedded image. A white placeholder will be used instead.

I added functionality to automatically attempt to load external referenced textures from the asset bundle in https://github.com/bdero/flutter_scene/commit/f0c797f9b615bd4d7dffec7c6ae6907c10ae2fec.
So these assets are now able to import properly now:

This is available in flutter_scene 0.5.0-0 + flutter_scene_importer 0.2.0-0.


map support

I have a jmx enabled application that returns a Map object as the attribute value and the final commit here simply passes the Map object to the getNewResultObject method
The other two commits reflect changes I needed in order to run the jar:
compiled on Windows 7 Java jdk1.7.0_09 mvn  3.0.5
and run on CentOS release 6.6 (Final) java-1.7.0-openjdk-devel-<IP_ADDRESS>-<IP_ADDRESS>.el6_6.x86_64

Thanks for the PR ! I'd like to have your feedback on the comments I made before merging. Feel free to tell me I'm wrong ;-)

Ill add the inline comment for the shade filter but I want to check if an invalid signature was the issue first and see which files I was actually excluding

Upfront, apologies for my ignorance...
So the two files the filter excludes are:
META-INF/ECLIPSE_.RSA
META-INF/ECLIPSE_.SF
and they seem to be coming from the jar for org.eclipse.jgit
I added the filter after various pointers around the net led me here:
http://maven.apache.org/plugins/maven-shade-plugin/examples/includes-excludes.html
Im not sure I understand anymore why I needed to exclude the signature - I had thought it was because the build flattened the included jars into one, therefore the signature included from jgit no longer matched.
Is no-one else having this problem?
Is the general wildcard form of the filter (ie META-INF/.RSA, META_INF/.SF) acceptable?

Thanks a lot !


Design Issue - Setting - write page

Describe the bug
Based on UI it has two sections that's what UI layout says to the users. something like this

But this is what it is

relevant discussion https://github.com/apache/incubator-answer/issues/815
https://github.com/apache/incubator-answer/issues/815#issuecomment-1974228257
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

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

Device: [e.g. Desktop, Mobile]
OS: [e.g. macOS]
Browser and version: [e.g. Chrome, Safari]
Version: [e.g. v1.2.0]

@surapuramakhil
i don't think this can be changed. because every single admin page uses the same layout.
not sure if there is no way to customize just one of them.

Ah, there were discussions on how to address this in https://github.com/apache/incubator-answer/issues/815


Add support for encrypted async blob read

Description

Add async blob read support for encrypted containers

Related Issues
Resolves #10105
Check List

[x] New functionality includes testing.

[x] All tests pass

[x] New functionality has been documented.

[x] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff
[x] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Do we have any way to actually test this? The mock-based tests seem to mostly be implementing the behavior you expect from the real system and therefore susceptible to things being wrong when the actual integration happens.

@vikasvb90 Any thoughts here for testing cypto logic, given that we do not have any specific implementation?

Do we have any way to actually test this? The mock-based tests seem to mostly be implementing the behavior you expect from the real system and therefore susceptible to things being wrong when the actual integration happens.

@vikasvb90 Any thoughts here for testing cypto logic, given that we do not have any specific implementation?

Can you test with https://github.com/opensearch-project/OpenSearch/pull/9823/ for now ?


Cache groups in the session

Why was this change made?
So that groups are available even if the shibboleth session expires.
Fixes #281
How was this change tested?
Tested on staging.
Which documentation and/or configurations were updated?

It should happen transparently.


skip trailing whitespace in mtl names (map_kd)

If the mtl file contains any space at the end, but before the newline, it gets added to the texture filename.
Add a line like follows to fix it:
linebuf = linebuf.substr(0, linebuf.find_last_not_of(" \t") + 1);

Thanks! Fixed!(both master and develop branches).


[WFLY-10959] Update product.release.version to 15.0

Update product.release.version to 15.0
WF can't be built without this change:
[INFO] ------------------------------------------------------------------------
[INFO] Building WildFly: Distribution 15.0.0.Alpha1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
....
[error] [Verifier] File [/home/mkopecky/git/base/dist/target/wildfly-15.0.0.Alpha1-SNAPSHOT/modules/system/layers/base/org/jboss/as/product/wildfly-full/dir/META-INF/MANIFEST.MF] does not match regexp [JBoss-Product-Release-Version: 14.0]

Jira: https://issues.jboss.org/browse/WFLY-10959

@marekkopecky We created almost the same PR at the same time, please could you update the <product.docs.server.version> property to 15 as well?
IMO both changes are related and should be done together after a new release bump. Then, I will close mine (PR https://github.com/wildfly/wildfly/pull/11627 and issue), thanks

Your PR is more complex, so I close this one, and your can be merged

@marekkopecky That's another solution 👍 Thanks


Mapping fields in ElasticSearch 7.*

How do I map field in latest version of Elastic search as type is removed and when I try to use put mapping it gives me error
"illegal_argument_exception","reason":"Types cannot be provided in put mapping requests, unless the include_type_name parameter is set to true"

I have the same issue, do you have any updates?

I think there is no solution to this in this package, it doesnt support new versions of Elastic Search really well.. look into elastic search's own package I think its called Elastic_php something.. I am putting elastic search on back burner for now

I found the solution just add this code in your model
    /**
     * Gets the type name to be used in elastic search.
     */
    function getTypeName()
    {
        return '';
    }

by default, this package gets the name types and in our case, we don't need the type name

Nice that work for me !

Hello,
Is there a solution to this problem?


The 'macmeta' option has not effect when using a Greek layout

Meta keybindings don't work when using a Greek layout. I'm using MacVim v104.

It is both a known and documented limitation of MacVim that mappings involving "meta" are flaky and unreliable.  (See :help macmeta).  You can try :set macmeta, but over the last eight years I've found that it hardly improves the situation at all.
My guess is that it's probably got nothing to do with the Greek layout, and if setting macmeta doesn't help, you're just running into the known limitations of MacVim.

Editing the conditional at line 161 of the "MMTextViewHelper.m" file to include additional characters works but Meta+Greek chars keybindings now produce the corresponding Greek character. The same thing probably happens with a Cyrillic layout.

@sindex you mean this?
diff --git a/src/MacVim/MMTextViewHelper.m b/src/MacVim/MMTextViewHelper.m
index d6dedfb..d93fecc 100644
--- a/src/MacVim/MMTextViewHelper.m
+++ b/src/MacVim/MMTextViewHelper.m
@@ -159,8 +159,7 @@ - (void)keyDown:(NSEvent *)event
     // Note that this implies that 'mmta' (if enabled) breaks input methods
     // when the Alt key is held.
     if ((flags & NSAlternateKeyMask) && [mmta boolValue] && [unmod length] == 1
-            && [unmod characterAtIndex:0] > 0x20
-            && [unmod characterAtIndex:0] < 0x7f) {
+            && [unmod characterAtIndex:0] > 0x20) {
         ASLogDebug(@"MACMETA key, don't interpret it");
         string = unmod;
     } else if (imState && (flags & NSControlKeyMask)

@splhack yes


Add .nth() method to Slice type

This PR adds an nth() method for the Slice type.
Instead of adding an nth() method, it would be possible to implement IntoIterator for Slice and specialize nth(), but I think it's useful to provide nth() on Slice itself. It would be nice to implement Index for Slice instead of nth(), but I don't think that's possible because Index::index() must return a reference.
I was planning to include a len() method as part of this PR, but after thinking about it some more, I don't see a good use-case for len().
If you don't think the nth() method is sufficiently useful to include in ndarray, that's fine too. I just found it useful in my own code and thought I'd propose it.

I just realized that the implementation of nth() in this PR doesn't match the current slicing behavior for negative steps, so please don't merge it yet. (I incorrectly assumed that the current behavior matched Python.) I'll fix this PR based on the outcome of the discussion in #312.

As I mentioned on IRC, I realized that it's not possible to correctly handle negative start/end indices without taking the length of the axis as an argument, which makes nth() not very useful. So, I'm closing this PR.


Add make start-odd command in Docker deployment

This PR adds a step (4) to the Docker deployment docs. It outlines how to start the API testing tool for observability-driven development (ODD) as part of the development lifecycle.

Adding a screenshot of the latest commit:

thank you @adnanrahic !


{connection_file} argument not passed to Jupyter kernel

Similar, but maybe not the same as issue #7063 Kernelspecs with non-default arguments don't work.
Environment data

VS Code version: 1.60.0-insider (user setup)
Jupyter Extension version (available under the Extensions sidebar): 2021.8.2028630014
Python Extension version (available under the Extensions sidebar): 2021.9.1144093763-dev
OS (Windows | Mac | Linux distro) and version: Windows 10.0.18363
Python and/or Anaconda version: python: 3.8.11 / miniconda 4.10.3
Type of virtual environment used: N/A
Jupyter server running: Local
Jupyter kernel: Ganimede <IP_ADDRESS>10614 (Java 16)

Expected behaviour

Connect to Ganimede kernel and execute notebook code - this works when running the notebook using the anaconda provided jupyter notebook application.

Actual behaviour

Connection fails
Error 2021-08-19 14:24:55: Failed to connect raw kernel session: Error: Connection file not found in kernelspec json args, C:\Program Files\AdoptOpenJDK\jdk-<IP_ADDRESS>-hotspot\bin\java.exe --illegal-access=permit --add-opens java.base/jdk.internal.misc=ALL-UNNAMED -jar C:\Users...\AppData\Roaming\jupyter\kernels\ganymede-<IP_ADDRESS>10614-java-16\kernel.jar --runtime-dir=C:\Users\stais\AppData\Roaming\jupyter\runtime --connection-file={connection_file}

Apparently the {connection_file} argument is not passed properly.
Steps to reproduce:

Download and install the Ganimede kernel as described here: github.com/allen-ball/ganymede which will add it to your current Jupyter installation.
NOTE: the installation uses the "which" command, which does not exist on Windows. Copying "where.exe" to "which.exe" made it work.
Create a new notebook in VSCode and choose Ganymede as the kernel.
Write some code, e.g.: System.out.println("hello");
Run it ... you'll get the above error

Thanks for filing this issue, i can replicate this at my end, will look into getting this fixed.

@DonJayamanne is the PR done?

@taisbak
I believe I have fixed this issue. Please could you try the following to validate the fix:

Install VS Code insiders
Download the vsix from here & install it https://pvsc.blob.core.windows.net/extension-builds-jupyter-public/ms-toolsai-jupyter-insiders.kernelspec.argv.vsix
If it doesn't work, please provide the logs again

@DonJayamanne, thank you for the fast response.

Installed the provided VSIX:

Ganymede seems to get started OK:

However, the Notebook hangs, when I try to run the code (I restarted everything, including my laptop):

The output log does not provide anything useful:

Other logs are empty.
Please let me know what other information you need.

Maybe I've spotted the problem.
The -jar argument in Kernel.json has been changed from C:\users\me\Appdata... to  ~\Appdata... which doesn't seem to work.
Kernel.json:
{
"argv": [
"java",
"--illegal-access=permit",
"--add-opens",
"java.base/jdk.internal.misc=ALL-UNNAMED",
"-jar",
"C:/Users/stais/AppData/Roaming/jupyter/kernels/ganymede-<IP_ADDRESS>10614-java-16/kernel.jar",
"--runtime-dir=C:/Users/stais/AppData/Roaming/jupyter/runtime",
"--connection-file={connection_file}"
],
"display_name": "Ganymede <IP_ADDRESS>10614 (Java 16)",
"env": {},
"interrupt_mode": "message",
"language": "java"
}

Further the slash in "java.base/jdk.internal.misc=ALL-UNNAMED" is changed to a back-slash: "java.base\jdk.internal.misc=ALL-UNNAMED" though it's not a filename.

Thanks for the feedback.
I'm a little confused.
Is the kernelspec above from the disc, if thats the case, then we don't modify it. I'm assuming what you're trying to say is that it was generated incorrectly by what ever tool generated it. is that right?
If not, please could you provide the logs from the Jupyter Output panel so i can see what's going on.
Thanks again for your help validating this fix.

Sorry for the confusion.
This is the Jupyter Output:

Pasting the command into the terminal window produces the following output:

Changing the filepath from ~ to it's full name in the terminal window:

Changing the back-slash to slash in "--add-opens java.base\jdk.internal.misc=ALL-UNNAMED"  in the terminal window gives

This led me to think that the arguments in the argv array from KernelSpec.json are being modified on their way. It should only be {connection_file} being changed to the relevant file name, which seems to be done correctly. The other arguments should be left unchanged.
But I don't know where it's happening. Just that the same KernelSpec.json works fine with Jupyter Lab.


[DOC] - Add a glossary of terms

Given the number of services and technologies involved in a Nebari deployment, a glossary of terms would be a handy tool enabling all of us (users, devs, etc) to more precisely communicate.
Some other OS projects that have glossaries include:

https://zero-to-jupyterhub.readthedocs.io/en/latest/resources/glossary.html
https://kubernetes.io/docs/reference/glossary/?fundamental=true

References to the above might be a good place to start as well.

Quite note for future reference, we can include: profiles, namespaces, administrator, user, ...


Incompatible with upstream Grafana SDK changes?

Running go get on this as a dependency fails:
$ mkdir foo && cd foo/
$ go mod init foo.com/foo
go: creating new go.mod: module foo.com/foo
$ go get -u github.com/K-Phoen/grabana
go: github.com/K-Phoen/grabana upgrade => v0.6.3
go: github.com/grafana-tools/sdk upgrade => v0.0.0-20200326200416-f0431e44c1c3
go: github.com/gosimple/slug upgrade => v1.9.0
# github.com/K-Phoen/grabana/alert
../pkg/mod/github.com/!k-!phoen/grabana@v0.6.3/alert/alert.go:128:25: cannot use conditionOperator literal (type conditionOperator) as type sdk.AlertOperator in assignment
../pkg/mod/github.com/!k-!phoen/grabana@v0.6.3/alert/condition.go:57:22: cannot use query literal (type query) as type sdk.AlertQuery in assignment
../pkg/mod/github.com/!k-!phoen/grabana@v0.6.3/alert/condition.go:58:24: cannot use reducer literal (type reducer) as type sdk.AlertReducer in assignment
../pkg/mod/github.com/!k-!phoen/grabana@v0.6.3/alert/condition.go:66:22: cannot use query literal (type query) as type sdk.AlertQuery in assignment
../pkg/mod/github.com/!k-!phoen/grabana@v0.6.3/alert/condition.go:67:24: cannot use reducer literal (type reducer) as type sdk.AlertReducer in assignment
../pkg/mod/github.com/!k-!phoen/grabana@v0.6.3/alert/condition.go:75:22: cannot use query literal (type query) as type sdk.AlertQuery in assignment
../pkg/mod/github.com/!k-!phoen/grabana@v0.6.3/alert/condition.go:76:24: cannot use reducer literal (type reducer) as type sdk.AlertReducer in assignment
../pkg/mod/github.com/!k-!phoen/grabana@v0.6.3/alert/condition.go:84:22: cannot use query literal (type query) as type sdk.AlertQuery in assignment
../pkg/mod/github.com/!k-!phoen/grabana@v0.6.3/alert/condition.go:85:24: cannot use reducer literal (type reducer) as type sdk.AlertReducer in assignment
../pkg/mod/github.com/!k-!phoen/grabana@v0.6.3/alert/condition.go:93:22: cannot use query literal (type query) as type sdk.AlertQuery in assignment
../pkg/mod/github.com/!k-!phoen/grabana@v0.6.3/alert/condition.go:93:22: too many errors

Note: copying the grafana-sdk version from the go.mod in this repository works around the issue, so this is just a simple incompatibility issue with some upstream changes.

this is just a simple incompatibility issue with some upstream changes.

Correct :)
Should be fixed by #57, thanks for opening this issue!


Outdated samples?

These solutions seem to be outdated when there was Xamarin Studio.  Could you please add new samples in which one does not have to modify project files for sniffing? I am getting DLLNotFoundException.

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

ID: faceb6c2-41b1-0285-3d61-ba6190567384
Version Independent ID: 10e6c274-db30-8ba8-32f0-72d194348d3a
Content: Using Native Libraries - Xamarin
Content Source: docs/android/platform/native-libraries.md
Product: xamarin
GitHub Login: @mgmclemore
Microsoft Alias: mamcle

Hi @pmahend1, thank you for your feedback! I've added a task to our backlog to update this sample or perhaps provide a newer one.

Thanks. I have added sample when I was checking this. XamarinNDKSample if anyone is looking for working sample for Android


[Bug] Update Creative History Unique test

PR Overview
This PR will address the following Issue/Feature:
This PR will result in the following new package version:

Please detail what change(s) this PR introduces and any additional information that should be known during the review of this PR:
PR Checklist
Basic Validation
Please acknowledge that you have successfully performed the following commands locally:

[x] dbt compile
[x] dbt run –full-refresh
[x] dbt run
[x] dbt test
[NA] dbt run –vars (if applicable)

Before marking this PR as "ready for review" the following have been applied:

[x] The appropriate issue has been linked and tagged
[x] You are assigned to the corresponding issue and this PR
[x] BuildKite integration tests are passing

Detailed Validation
Please acknowledge that the following validation checks have been performed prior to marking this PR as "ready for review":

[x] You have validated these changes and assure this PR will address the respective Issue/Feature.
[x] You are reasonably confident these changes will not impact any other components of this package or any dependent packages.
[x] You have provided details below around the validation steps performed to gain confidence in these changes.

New test does not fail on stg_facebook_ads__creative_history.
Standard Updates
Please acknowledge that your PR contains the following standard updates:

Package versioning has been appropriately indexed in the following locations:

[x] indexed within dbt_project.yml
[x] indexed within integration_tests/dbt_project.yml

[x] CHANGELOG has individual entries for each respective change in this PR

[NA] README updates have been applied (if applicable)

[NA] DECISIONLOG updates have been updated (if applicable)
[x] Appropriate yml documentation has been added (if applicable)

dbt Docs
Please acknowledge that after the above were all completed the below were applied to your branch:

[x] docs were regenerated (unless this PR does not include any code or yml updates)

If you had to summarize this PR in an emoji, which would it be?

🧪

@fivetran-joemarkiewicz Interesting, I was able to merge without the second reviewer approving, does something need to be modified in the settings?

@fivetran-avinash the second reviewer is not required before merge. We should probably update that, but we need to fix the whole second approver process as well. Thanks for raising!


feat(Register): Enable conversion from Register to signed T

Normally a Register<usize> is received and it should
be possible to convert all valid negative isize values to i32.
A conversion from Register<usize>::from(usize::max_value()),
which is basically Register::<isize>::from(-1isize),
should be possible to convert to i32 resulting in -1i32.
This only works if the conversion goes from
Register<unsigned T> via Register<signed T> first
and then converts to the signed T.

Ah, the lint needs https://github.com/enarx/primordial/pull/5 first


Support "let" in persistent mode, and don't re-lookup the root ast

Without this, the following dependency is never resolved correctly (in the case where the SourceAst isn't a JsAst, or if JsFileParser.isSupported() is false):
let someModule = goog.require('my.module');

@blickly appears to be most familiar with this code.
@niloc132 please add appropriate test cases to CompilerInputTest.java

I thought that we required goog.modules with ES6 to use const instead of let, since it more closely matches the import semantics of ES6 modules.

@blickly Unless we consider this an error, shouldn't we still handle it correctly? I will update J2CL but seems like there are around 200+ let goog.require in google3.

Hmm, I was under the (mistaken) impression that we already banned this, but the warning in question appears to only be linter-level:
https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/ClosureCheckModule.java#L86-L89


DR-897 - Fix Spanish amount deliveries is not displayed

Hi team,
I fix the amount deliveries per month is not displayed in the Spanish language

Could you review?

You are great @nreal !

Great!


How to set a Scaling Factor (or shift) for multiple Y Axes

Question:
I am charting various items, and during design i noticed that you can use the scroll wheel to scroll each axis independently. This is very much a desired functionality for my use case here. But since I will also have quite a few overlapping square waves, I wish to be able to either programmatically set this scaling, or apply an offset to each wave's Y Axis.
ScottPlot Version: (What NuGet package are you using?) latest as of 8/21/24
Code Sample: See http://scottplot.net/faq/repro/ for tips about creating reproducible code samples
N/A, couldn't locate any relevant properties or methods in the library to do the request.

programmatically set this scaling, or apply an offset to each wave's Y Axis.

apply an offset to each wave's Y Axis

Would "stacked square waves" be the effect you're looking for? There could be a few ways to implement this. Here's a start:
for (int i = 0; i < 10; i++)
{
    double[] ys = Generate.SquareWave(duty: 0.1 + i / 15.0, high: 0.7);
    var sig = formsPlot1.Plot.Add.Signal(ys);
    sig.Data.YOffset = i;
}

formsPlot1.Plot.HideGrid();

double[] tickPositions = Enumerable.Range(0, 10).Select(x => (double)x).ToArray();
string[] tickLabels = Enumerable.Range(1, 10).Select(x => $"Signal #{x:00}").ToArray();
formsPlot1.Plot.Axes.Left.SetTicks(tickPositions, tickLabels);

Also consider placing multiple controls: https://scottplot.net/faq/shared-axes/


[BUG] coroutine object does not support the asynchronous context manager protocol

Pyprland version
2.3.7-2
Describe the bug
After recent update, upon running pypr toggle <target>, I get error saying "coroutine object does not support the asynchronous context manager protocol" instead of the target window appearing. For terminal, it doesn't work at all for example, for file manager, it still outputs the error but the file manager at least appears, but without the ability to then hide it again (instead, new one is spawned and I have to close them manually).
To Reproduce
Steps to reproduce the behavior:

run pypr toggle files (given the config below)
See the error message appear in the upper right corner of the screen

Expected behavior
It should spawn the window from the set direction on the screen and upon toggling it again, it should move the window away.
Configuration (provide following files/samples when relevant):

pyprland.json

{
  "pyprland": {
    "plugins": ["scratchpads", "expose", "magnify"]
  },
  "scratchpads": {
    "term": {
      "command": "kitty --class kitty-dropterm",
      "animation": "fromTop",
      "unfocus": "hide",
      "lazy": true
    },
    "files": {
      "command": "nemo",
      "animation": "fromLeft",
      "unfocus": "hide",
      "lazy": true
    },
    "cava": {
      "command": "kitty --class kitty-cava cava",
      "animation": "fromBottom",
      "lazy": true
    },
    "music": {
      "command": "rhythmbox",
      "animation": "fromTop",
      "unfocus": "hide",
      "lazy": true
    },
    "volume": {
      "command": "pavucontrol",
      "animation": "fromRight",
      "unfocus": "hide",
      "lazy": true
    },
    "network": {
      "command": "XDG_CURRENT_DESKTOP='gnome' gnome-control-center",
      "animation": "fromRight",
      "lazy": true
    },
    "bluetooth": {
      "command": "blueman-manager",
      "animation": "fromLeft",
      "lazy": true
    },
    "placeholder": {
      "command": "",
      "lazy": true
    }
  }

hyprland.conf

# (https://github.com/hyprland-community/pyprland)

exec-once = pypr

# ###################################
#             dropterm              #
# ###################################
bind = SUPER, T, exec, pypr toggle term
$dropterm  = ^(kitty-dropterm)$
windowrule = float,$dropterm
windowrule = workspace special silent,$dropterm
windowrule = size 75% 60%,$dropterm

# ###################################
#           file explorer           #
# ###################################
bind = SUPER, F, exec, pypr toggle files
# windowrule = float, ^(dolphin)$
# windowrule = workspace special silent,^(dolphin)$
# windowrule = size 75% 60%,^(dolphin)$

# ###################################
#                cava               #
# ###################################
bind = SUPER, C, exec, pypr toggle cava
windowrule = float, ^(kitty-cava)$
windowrule = workspace special silent, ^(kitty-cava)$
windowrule = size 40% 45%, ^(kitty-cava)$

# ###################################
#                music              #
# ###################################
bind = SUPER, M, exec, pypr toggle music
windowrule = float,^(rhythmbox)$
windowrule = workspace special,^(rhythmbox)$
windowrule = size 50% 50%,^(rhythmbox)$

# ###################################
#                volume             #
# ###################################
bind = SUPER, V, exec, pypr toggle volume
windowrule = float,^(pavucontrol)$
windowrule = workspace special silent,^(pavucontrol)$
windowrule = size 25% 25%,^(pavucontrol)$

# ###################################
#            network manager        #
# ###################################
bind = SUPER, N, exec, pypr toggle network
windowrule = float, ^(XDG_CURRENT_DESKTOP='gnome' gnome-control-center)$
windowrulev2 = workspace special silent, class:^(XDG_CURRENT_DESKTOP='gnome' gnome-control-center)$, title:^(Network Connections)$
windowrule = size 18% 40%,^(XDG_CURRENT_DESKTOP='gnome' gnome-control-center)$

# ###################################
#            bluetooth              #
# ###################################
bind = SUPER, B, exec, pypr toggle bluetooth
windowrule = float, ^(blueman-manager)
windowrule = workspace special silent, ^(blueman-manager)$
windowrule = size 18% 40%,^(blueman-manager)$

bind = SUPER, E, exec, pypr toggle_minimized
bind = SUPER, Z, exec, pypr zoom

Additional context
hyprland-git version 0.40.0.r183.1423707d-1.

Can you please provide the pyprland logs too?
And can you confirm/deny that the problem didn't happen using version 2.3.5 ?

Can you please provide the pyprland logs too?
Here you go (I've tried running pypr toggle term and pypr toggle files):

2024-06-10 22:56:19,662 [INFO] ipc :: Logger "ipc" initialized :: common.py:205
2024-06-10 22:56:19,662 [INFO] startup :: Logger "startup" initialized :: common.py:205
2024-06-10 22:56:19,662 [DEBUG] ipc :: notify 3 10000 rgb(ff1010)  Trying to run pypr more than once ? :: ipc.py:144
2024-06-10 22:56:19,675 [CRITICAL] startup :: /run/user/1000/hypr/811429bfd4a46f33c7788580f72038b0c3c1c2b1_1718052860_1875784680/.pyprland.sock exists,
is pypr already running ?
If that's not the case, delete this file and run again. :: command.py:476
2024-06-10 22:56:43,121 [INFO] ipc :: Logger "ipc" initialized :: common.py:205
2024-06-10 22:56:43,121 [INFO] startup :: Logger "startup" initialized :: common.py:205
2024-06-10 22:56:43,122 [DEBUG] ipc :: notify 3 10000 rgb(ff1010)  Trying to run pypr more than once ? :: ipc.py:144
2024-06-10 22:56:43,125 [CRITICAL] startup :: /run/user/1000/hypr/811429bfd4a46f33c7788580f72038b0c3c1c2b1_1718052860_1875784680/.pyprland.sock exists,
is pypr already running ?
If that's not the case, delete this file and run again. :: command.py:476
2024-06-10 22:56:49,724 [INFO] ipc :: Logger "ipc" initialized :: common.py:205
2024-06-10 22:56:49,724 [INFO] startup :: Logger "startup" initialized :: common.py:205
2024-06-10 22:56:49,725 [DEBUG] ipc :: notify 3 10000 rgb(ff1010)  Trying to run pypr more than once ? :: ipc.py:144
2024-06-10 22:56:49,754 [CRITICAL] startup :: /run/user/1000/hypr/811429bfd4a46f33c7788580f72038b0c3c1c2b1_1718052860_1875784680/.pyprland.sock exists,
is pypr already running ?
If that's not the case, delete this file and run again. :: command.py:476
2024-06-10 22:57:07,211 [INFO] ipc :: Logger "ipc" initialized :: common.py:205
2024-06-10 22:57:07,211 [INFO] startup :: Logger "startup" initialized :: common.py:205
2024-06-10 22:57:07,211 [INFO] pypr :: Logger "pypr" initialized :: common.py:205
2024-06-10 22:57:07,211 [INFO] pypr :: Loading ~/.config/hypr/pyprland.json :: command.py:97
2024-06-10 22:57:07,211 [INFO] pyprland :: Logger "pyprland" initialized :: common.py:205
2024-06-10 22:57:07,211 [DEBUG] pyprland :: version :: ipc.py:101
2024-06-10 22:57:07,214 [DEBUG] pyprland :: activeworkspace :: ipc.py:101
2024-06-10 22:57:07,214 [DEBUG] pyprland :: monitors :: ipc.py:101
2024-06-10 22:57:07,214 [INFO] pyprland :: configured :: command.py:154
2024-06-10 22:57:07,219 [INFO] scratchpads :: Logger "scratchpads" initialized :: common.py:205
2024-06-10 22:57:07,219 [INFO] scratchpads :: configured :: command.py:154
2024-06-10 22:57:07,219 [INFO] expose :: Logger "expose" initialized :: common.py:205
2024-06-10 22:57:07,219 [INFO] expose :: configured :: command.py:154
2024-06-10 22:57:07,220 [INFO] magnify :: Logger "magnify" initialized :: common.py:205
2024-06-10 22:57:07,220 [INFO] magnify :: configured :: command.py:154
2024-06-10 22:57:07,220 [DEBUG] pypr :: ================================[ initialized ]================================= :: command.py:355
2024-06-10 22:57:09,266 [DEBUG] pyprland :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:09,266 [DEBUG] pyprland :: active_window = 0x5dca850b1460 :: pyprland.py:76
2024-06-10 22:57:09,266 [DEBUG] scratchpads :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:09,266 [DEBUG] scratchpads :: event_openwindow('5dca850b1460,2,kitty,kitty',) :: command.py:177
2024-06-10 22:57:09,293 [DEBUG] pyprland :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:09,293 [DEBUG] pyprland :: active_window = 0x5dca850b1460 :: pyprland.py:76
2024-06-10 22:57:09,293 [DEBUG] scratchpads :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:09,451 [DEBUG] pyprland :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:09,451 [DEBUG] pyprland :: active_window = 0x5dca850b1460 :: pyprland.py:76
2024-06-10 22:57:09,451 [DEBUG] scratchpads :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:09,451 [DEBUG] pyprland :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:09,451 [DEBUG] pyprland :: active_window = 0x5dca850b1460 :: pyprland.py:76
2024-06-10 22:57:09,451 [DEBUG] scratchpads :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:17,980 [DEBUG] pyprland :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:17,980 [DEBUG] pyprland :: active_window = 0x5dca850b1460 :: pyprland.py:76
2024-06-10 22:57:17,981 [DEBUG] scratchpads :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:18,011 [DEBUG] scratchpads :: run_toggle('term',) :: command.py:177
2024-06-10 22:57:18,011 [DEBUG] scratchpads :: visibility_check: ('', '') == ('2', 'DP-2') :: __init__.py:421
2024-06-10 22:57:18,011 [DEBUG] scratchpads :: term visibility: False and False :: __init__.py:447
2024-06-10 22:57:18,011 [INFO] scratchpads :: Showing term :: __init__.py:524
2024-06-10 22:57:18,011 [INFO] scratchpads :: term is not running, starting... :: __init__.py:232
2024-06-10 22:57:18,012 [INFO] scratchpads :: scratch term (kitty --class kitty-dropterm) has pid 23461 :: __init__.py:253
2024-06-10 22:57:18,012 [INFO] scratchpads :: starting term :: __init__.py:207
2024-06-10 22:57:18,012 [INFO] scratchpads :: ==> Wait for term spawning :: __init__.py:161
2024-06-10 22:57:18,026 [DEBUG] pyprland :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:18,026 [DEBUG] pyprland :: active_window = 0x5dca850b1460 :: pyprland.py:76
2024-06-10 22:57:18,044 [DEBUG] pyprland :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:18,044 [DEBUG] pyprland :: active_window = 0x5dca850b1460 :: pyprland.py:76
2024-06-10 22:57:18,114 [ERROR] pypr :: scratchpads::run_toggle(('term',)) failed: :: command.py:188
Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/pyprland/command.py", line 183, in _run_plugin_handler
    await getattr(plugin, full_name)(*params)
  File "/usr/lib/python3.12/site-packages/pyprland/plugins/scratchpads/__init__.py", line 452, in run_toggle
    await asyncio.gather(*(asyncio.create_task(t()) for t in tasks))
  File "/usr/lib/python3.12/site-packages/pyprland/plugins/scratchpads/__init__.py", line 526, in run_show
    if not await self.ensure_alive(uid):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/pyprland/plugins/scratchpads/__init__.py", line 233, in ensure_alive
    if not await self._start_scratch(item):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/pyprland/plugins/scratchpads/__init__.py", line 208, in _start_scratch
    if not await self.__wait_for_client(scratch):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/pyprland/plugins/scratchpads/__init__.py", line 165, in __wait_for_client
    is_alive = await scratch.is_alive()
               ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/pyprland/plugins/scratchpads/objects.py", line 96, in is_alive
    async with aiopen(os.path.join(path, "status"), mode="r", encoding="utf-8") as f:
TypeError: 'coroutine' object does not support the asynchronous context manager protocol
2024-06-10 22:57:18,115 [DEBUG] ipc :: notify 0 5000 rgb(ff1010)  Pypr error scratchpads::run_toggle: 'coroutine' object does not support the asynchronous context manager protocol :: ipc.py:144
2024-06-10 22:57:18,115 [DEBUG] scratchpads :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:18,115 [DEBUG] scratchpads :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:18,140 [DEBUG] pyprland :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:18,140 [DEBUG] pyprland :: active_window = 0x5dca850b1460 :: pyprland.py:76
2024-06-10 22:57:18,140 [DEBUG] scratchpads :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:18,140 [DEBUG] scratchpads :: event_openwindow('5dca84f68b00,special silent,kitty-dropterm,kitty',) :: command.py:177
2024-06-10 22:57:18,140 [INFO] scratchpads :: Updating Scratch info :: __init__.py:370
2024-06-10 22:57:18,140 [DEBUG] scratchpads :: clients :: ipc.py:101
2024-06-10 22:57:21,775 [DEBUG] pyprland :: event_activewindowv2('5dca83f19c10',) :: command.py:177
2024-06-10 22:57:21,775 [DEBUG] pyprland :: active_window = 0x5dca83f19c10 :: pyprland.py:76
2024-06-10 22:57:21,775 [DEBUG] scratchpads :: event_activewindowv2('5dca83f19c10',) :: command.py:177
2024-06-10 22:57:27,369 [DEBUG] pyprland :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:27,369 [DEBUG] pyprland :: active_window = 0x5dca850b1460 :: pyprland.py:76
2024-06-10 22:57:27,369 [DEBUG] scratchpads :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:29,332 [DEBUG] pyprland :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:29,332 [DEBUG] pyprland :: active_window = 0x5dca850b1460 :: pyprland.py:76
2024-06-10 22:57:29,333 [DEBUG] scratchpads :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:29,375 [DEBUG] scratchpads :: run_toggle('files',) :: command.py:177
2024-06-10 22:57:29,375 [DEBUG] scratchpads :: visibility_check: ('', '') == ('2', 'DP-2') :: __init__.py:421
2024-06-10 22:57:29,375 [DEBUG] scratchpads :: files visibility: False and False :: __init__.py:447
2024-06-10 22:57:29,375 [INFO] scratchpads :: Showing files :: __init__.py:524
2024-06-10 22:57:29,375 [INFO] scratchpads :: files is not running, starting... :: __init__.py:232
2024-06-10 22:57:29,376 [INFO] scratchpads :: scratch files (nemo) has pid 23700 :: __init__.py:253
2024-06-10 22:57:29,376 [INFO] scratchpads :: starting files :: __init__.py:207
2024-06-10 22:57:29,376 [INFO] scratchpads :: ==> Wait for files spawning :: __init__.py:161
2024-06-10 22:57:29,389 [DEBUG] pyprland :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:29,389 [DEBUG] pyprland :: active_window = 0x5dca850b1460 :: pyprland.py:76
2024-06-10 22:57:29,393 [DEBUG] pyprland :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:29,393 [DEBUG] pyprland :: active_window = 0x5dca850b1460 :: pyprland.py:76
2024-06-10 22:57:29,477 [ERROR] pypr :: scratchpads::run_toggle(('files',)) failed: :: command.py:188
Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/pyprland/command.py", line 183, in _run_plugin_handler
    await getattr(plugin, full_name)(*params)
  File "/usr/lib/python3.12/site-packages/pyprland/plugins/scratchpads/__init__.py", line 452, in run_toggle
    await asyncio.gather(*(asyncio.create_task(t()) for t in tasks))
  File "/usr/lib/python3.12/site-packages/pyprland/plugins/scratchpads/__init__.py", line 526, in run_show
    if not await self.ensure_alive(uid):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/pyprland/plugins/scratchpads/__init__.py", line 233, in ensure_alive
    if not await self._start_scratch(item):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/pyprland/plugins/scratchpads/__init__.py", line 208, in _start_scratch
    if not await self.__wait_for_client(scratch):
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/pyprland/plugins/scratchpads/__init__.py", line 165, in __wait_for_client
    is_alive = await scratch.is_alive()
               ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/pyprland/plugins/scratchpads/objects.py", line 96, in is_alive
    async with aiopen(os.path.join(path, "status"), mode="r", encoding="utf-8") as f:
TypeError: 'coroutine' object does not support the asynchronous context manager protocol
2024-06-10 22:57:29,477 [DEBUG] ipc :: notify 0 5000 rgb(ff1010)  Pypr error scratchpads::run_toggle: 'coroutine' object does not support the asynchronous context manager protocol :: ipc.py:144
2024-06-10 22:57:29,478 [DEBUG] scratchpads :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:29,478 [DEBUG] scratchpads :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:29,562 [DEBUG] pyprland :: event_activewindowv2('5dca84f77a50',) :: command.py:177
2024-06-10 22:57:29,562 [DEBUG] pyprland :: active_window = 0x5dca84f77a50 :: pyprland.py:76
2024-06-10 22:57:29,562 [DEBUG] scratchpads :: event_activewindowv2('5dca84f77a50',) :: command.py:177
2024-06-10 22:57:29,562 [DEBUG] scratchpads :: event_openwindow('5dca84f77a50,2,nemo,Home',) :: command.py:177
2024-06-10 22:57:29,562 [INFO] scratchpads :: Updating Scratch info :: __init__.py:370
2024-06-10 22:57:29,562 [DEBUG] scratchpads :: clients :: ipc.py:101
2024-06-10 22:57:30,359 [DEBUG] pyprland :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:30,359 [DEBUG] pyprland :: active_window = 0x5dca850b1460 :: pyprland.py:76
2024-06-10 22:57:30,359 [DEBUG] scratchpads :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:30,489 [DEBUG] pyprland :: event_activewindowv2('5dca84f77a50',) :: command.py:177
2024-06-10 22:57:30,489 [DEBUG] pyprland :: active_window = 0x5dca84f77a50 :: pyprland.py:76
2024-06-10 22:57:30,489 [DEBUG] scratchpads :: event_activewindowv2('5dca84f77a50',) :: command.py:177
2024-06-10 22:57:31,835 [DEBUG] scratchpads :: event_closewindow('5dca84f77a50',) :: command.py:177
2024-06-10 22:57:31,836 [DEBUG] pyprland :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:31,836 [DEBUG] pyprland :: active_window = 0x5dca850b1460 :: pyprland.py:76
2024-06-10 22:57:31,836 [DEBUG] scratchpads :: event_activewindowv2('5dca850b1460',) :: command.py:177
2024-06-10 22:57:33,802 [DEBUG] pyprland :: event_activewindowv2('5dca83f19c10',) :: command.py:177
2024-06-10 22:57:33,803 [DEBUG] pyprland :: active_window = 0x5dca83f19c10 :: pyprland.py:76
2024-06-10 22:57:33,803 [DEBUG] scratchpads :: event_activewindowv2('5dca83f19c10',) :: command.py:177
2024-06-10 22:57:34,256 [CRITICAL] pypr :: cancelled :: command.py:362

And can you confirm/deny that the problem didn't happen using version 2.3.5 ?
Not really much time rich atm :/

same situation as me

Ok, I'll try to figure what's wrong, but I suspect some compatibility I added recently to be involved...
Do you have "aiofiles" python package installed?

Ok, I'll try to figure what's wrong, but I suspect some compatibility I added recently to be involved... Do you have "aiofiles" python package installed?

Yes, I have python-aiofiles 23.2.1-2 package installed. I also have Python version python 3.12.3-1.

Sorry guys, I had made a big mistake previously & for some reason didn't see the tests failing.
Do one of you have a chance to test the git version & confirm this problem is gone?

Sorry guys, I had made a big mistake previously & for some reason didn't see the tests failing.
Do one of you have a chance to test the git version & confirm this problem is gone?

IT WORKS NOW! Nice, thanks a lot:-) What was the issue (I'll read the commits if it's too lengthy, it's just I'm unfamiliar with pyprland's codebase so any clarification would help my curiosity :D)

Sorry guys, I had made a big mistake previously & for some reason didn't see the tests failing.
Do one of you have a chance to test the git version & confirm this problem is gone?

IT WORKS NOW! Nice, thanks a lot:-) What was the issue (I'll read the commits if it's too lengthy, it's just I'm unfamiliar with pyprland's codebase so any clarification would help my curiosity :D)

This wasn't really "pyprland" architecture related but my own "rushed some code before traveling":

I wanted to make aiofiles dependency optional, by "mocking" async methods to sync ones in case aiofiles isn't available (mostly for the get-pypr use case)

=> I made it quite broken, and while rushing I didn't even pay attention to the tests which were breaking....

Sorry guys, I had made a big mistake previously & for some reason didn't see the tests failing.
Do one of you have a chance to test the git version & confirm this problem is gone?

its ok now, thanks for you work!

Sorry guys, I had made a big mistake previously & for some reason didn't see the tests failing.
Do one of you have a chance to test the git version & confirm this problem is gone?

IT WORKS NOW! Nice, thanks a lot:-) What was the issue (I'll read the commits if it's too lengthy, it's just I'm unfamiliar with pyprland's codebase so any clarification would help my curiosity :D)

This wasn't really "pyprland" architecture related but my own "rushed some code before traveling":
* I wanted to make aiofiles dependency optional, by "mocking" async methods to sync ones in case aiofiles isn't available (mostly for the `get-pypr` use case)

=> I made it quite broken, and while rushing I didn't even pay attention to the tests which were breaking....

Happens to the best of us. Thanks for quick fixing and responses:-) Cheers


update pyodide sandbox version

Use latest grist-core, which has significant improvements to the pyodide sandbox packaging. The main advantages are less delay before a document becomes editable, and less delay at the start of imports.

@alexmojaki do you happen to know if there's an easy way to pick up the standard-library-as-pyc variant? Would it be worth it? Pyodide is currently used like this: https://github.com/gristlabs/grist-core/blob/d12d971162c451dd6fb0b42878f2aec50a351e8f/sandbox/pyodide/pipe.js#L4

Try loadPyodide({indexURL: 'https://cdn.jsdelivr.net/pyodide/v0.23.0/pyc/', ...})

Try loadPyodide({indexURL: 'https://cdn.jsdelivr.net/pyodide/v0.23.0/pyc/', ...})

Would this introduce a new dependency on the network being available, or is that dependency already there in pyodide?

I think it would. Does grist-electron work offline?

Yes, grist-electron works offline, and that is a useful property in a desktop app. So I'll skip the standard-library-pyc part for now.


[QUERY] How to set Azure Key Vault Secret value as the Connection parameter of EventHub Output binding attribute?

Library name and version
Microsoft.Azure.Functions.Worker 1.6.0, Microsoft.Azure.Functions.Worker.Sdk 1.3.0
Query/Question
I have a simple Azure Function .NET 6 Isolated process with HttpTrigger which sends data to EventHub through output binding. The Output binding attribute is like [EventHubOutput("my-eh", Connection = "EventHubConnectionString")]. Now, I would like to set the EventHubConnectionString from a Secret saved in Azure Key Vault. How to do it?
Note: I know Key Vault references is a good solution. But this doesn't work locally and we don't want to save secrets inside local.settings.json either.
Here is my Program.cs:
using Azure.Identity;
using Azure.Security.KeyVault.Secrets;
using Microsoft.Extensions.Hosting;

var kvUri = $"https://{Environment.GetEnvironmentVariable("KEY_VAULT_NAME")}.vault.azure.net";
var secretClient = new SecretClient(new Uri(kvUri), new DefaultAzureCredential());
var secret = await secretClient.GetSecretAsync("EventHubConnectionString");
// would like to use this value as EventHubConnectionString inside the Connection parameter of EventHubOutput attribute
var eventHubConnectionString = secret.Value.Value;

var host = new HostBuilder()
    .ConfigureFunctionsWorkerDefaults()
    .Build();

host.Run();

Here is my Function.cs:
using System.Net;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Azure.Functions.Worker.Http;
using Microsoft.Extensions.Logging;

namespace FuncManagedIdentities;

public class ManagedIdentitiesFunction
{
    private readonly ILogger _logger;

    public ManagedIdentitiesFunction(ILoggerFactory loggerFactory)
    {
        _logger = loggerFactory.CreateLogger<ManagedIdentitiesFunction>();
    }

    [Function(nameof(ManagedIdentitiesFunction))]
    public async Task<OutputType> Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequestData req)
    {
        return new OutputType()
        {
            OutputEvent = $"{nameof(ManagedIdentitiesFunction)}: OutputEvent Message received at {DateTime.Now}",
            HttpResponse = req.CreateResponse(HttpStatusCode.OK)
        };
    }
}

public class OutputType
{
    [EventHubOutput("my-eh", Connection = "EventHubConnectionString")]// EventHubConnectionString should be set from KeyVault Secret
    public string OutputEvent { get; set; }

    public HttpResponseData HttpResponse { get; set; }
}

Environment
.NET SDK (reflecting any global.json):
Version:   6.0.202
Commit:    f8a55617d2
Runtime Environment:
OS Name:     Windows
OS Version:  10.0.19044
OS Platform: Windows
RID:         win10-x64
Base Path:   C:\Program Files\dotnet\sdk\6.0.202\
Host (useful for support):
Version: 6.0.4
Commit:  be98e88c76
.NET SDKs installed:
6.0.201 [C:\Program Files\dotnet\sdk]
6.0.202 [C:\Program Files\dotnet\sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 6.0.3 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 6.0.4 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Hi @ahsanhabib91.  Thank you for reaching out and we regret that you're experiencing difficulties.  Locally, this can be done by customizing configuration sources during the Functions startup and hooking into Key Vault with the Azure.Extensions.AspNetCore.Configuration.Secrets package.
This would look something like:
using System;
using Azure.Identity;
using Microsoft.Azure.Functions.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;

[assembly: FunctionsStartup(typeof(Example.Startup))]

namespace Example
{
    public class Startup : FunctionsStartup
    {
        public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
        {
           builder.ConfigurationBuilder
               .AddAzureKeyVault(new Uri("<< Vault URI >>"), new DefaultAzureCredential());

           base.ConfigureAppConfiguration(builder);
        }
    }
}

For deployed Functions, we'd recommend using Key Vault references, as you mentioned.  That said, in theory this approach should also work when deployed to Azure.

/unresolved
Hi @jsquire Thanks for the comment !!! So I applied what you have suggested. But sadly, I couldn't make that work. So here is my updated Program.cs:
using Azure.Identity;
using Azure.Security.KeyVault.Secrets;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;

var kvUri = $"https://{Environment.GetEnvironmentVariable("KEY_VAULT_NAME")}.vault.azure.net";

var host = new HostBuilder()
    .ConfigureFunctionsWorkerDefaults()
    .ConfigureAppConfiguration((hostingContext, configBuilder) =>
    {
        configBuilder.AddAzureKeyVault(new Uri(kvUri), new DefaultAzureCredential());
    })
    .Build();

host.Run();

Whenever I run the Function, I got this error:

[2022-04-29T11:38:24.320Z] Executed 'Functions.ManagedIdentitiesFunction' (Failed, Id=4a20911b-110e-4453-b2e4-d8a9fd95cbef, Duration=6047ms)
[2022-04-29T11:38:24.322Z] System.Private.CoreLib: Exception while executing function: Functions.ManagedIdentitiesFunction. Microsoft.Azure.WebJobs.Extensions.EventHubs: EventHub account connection string 'EventHubConnectionString' does not exist.Make sure that it is a defined App Setting.

which means, the EventHubConnectionString is not set inside the EventHubOutput attribute.
By the way, I wonder, after adding configBuilder.AddAzureKeyVault, I suppose to access the KeyVault Secret though Environment.GetEnvironmentVariable("MySecret") right? or some other mechanism?
Also does EventHubConnectionString suppose to get automatically set if the Secret name(like EventHubConnectionString) in the KeyVault matchges Connection property(Like EventHubConnectionString in the case of [EventHubOutput("my-eh", Connection = "EventHubConnectionString")] attribute)?
So any suggestion?
Will there be any way in future to use Key Vault references locally?

I've transferred this over to the Functions repository as #869.  I'm going to close this out, but I'll continue to monitor the transfer in case the Functions team needs further context.


better OS treatment

Added filter for treat differents command for OSX, Linux and future others OS.

Thank you, i've implemented it with 93d6b95 ( i doesn't want more dependencies ) Thank you!


On Release via Github Action, send email to ppooll Mailing List & Discord

Would be great to automatically send an "update" message when a new release is made.

this is now (and has been) a part of the release github action !


chore: update test coverage for ibc client

Improve test cases for ics-02 client

updated existing test cases
added new test cases to cover edge cases

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

Project coverage is 70.54%. Comparing base (9497615) to head (506aa1f).

Additional details and impacted files

@@             Coverage Diff              @@
##               main     #846      +/-   ##
============================================
+ Coverage     70.28%   70.54%   +0.26%
+ Complexity      418      414       -4
============================================
  Files           155      155
  Lines         14029    14026       -3
  Branches        292      290       -2
============================================
+ Hits           9860     9895      +35
+ Misses         4022     3982      -40
- Partials        147      149       +2

Flag
Coverage Δ

rust
68.71% <ø> (+0.33%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.
see 3 files with indirect coverage changes