More than one file was found with OS independent path 'META-INF/library_release.kotlin_module'

I've recently added the Chucker library to my app and got this build error:
Execution failed for task ':app:mergeDebugJavaResource'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > More than one file was found with OS independent path 'META-INF/library_release.kotlin_module'

It turns out that both CalendarView and Chucker are creating the same META-INF/library_release.kotlin_module file:

I've opened an issue on Chucker with more details about the error and some solutions: https://github.com/ChuckerTeam/chucker/issues/134
While there is a way to fix this, it would be nice that to fix the issue on the library itself, which would avoid having every user apply the same fix :)

I'm not sure what the actual fix for this is. I do have a lot on my plate at the moment so if you know the fix, kindly open a PR.

Thanks @kizitonwose
On the other library that also has this problem they've opened a PR with a fix: https://github.com/ChuckerTeam/chucker/pull/146
Let's see if it does fix it and I might then open a PR here.

I have excluded this file and worked perfect Ref
packagingOptions {
    exclude 'META-INF/library_release.kotlin_module'
}


add account/usage support for period argument

Seems to work correctly in my test.

Looks good, merging


Make the example work.

❯ cargo run --bin repl
error: no bin target named `repl`.
Available bin targets:
    pils-repl

Change the name to "repl" in the Cargo.toml
❯ cargo run --bin repl
   Compiling pils v0.1.0 (/home/tim/rust/pils/pils)
error[E0554]: `#![feature]` may not be used on the stable release channel
 --> pils/src/lib.rs:1:12
  |
1 | #![feature(lazy_cell)]
  |            ^^^^^^^^^

Add "+nightly" to the command in the README

Thanks a bunch!


add RecyclerView on the head, slide very slowly, there is inertia slow sliding

Hello, add RecyclerView on the head, slide very slowly, there is inertia slow sliding. How do I solve it?

Hello @ltym2016 !
Can you please demonstrate the effect you are having (video/gif)? Also, posting your layout XML might help


configure sentry to use vue and electron packages

https://docs.sentry.io/platforms/javascript/vue/
https://docs.sentry.io/platforms/javascript/electron/

going to use the browser SDK instead of vue (deprecated) and electron (still in beta + we're moving to the web)

closing in favour of https://github.com/cosmos/voyager/issues/1626


segger-jlink: init at 7.66

Description of changes
This PR continues the stale / abandoned #121601 , and fixes the syntax error regarding the license file.
Based on the work by @FlorianFranzen and @reardencode .
Things done

Built on platform(s)

[x] 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

[x] 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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

I had to remove @reardencode  from the maintainers array since there is no corresponding maintainer definition (anymore). If you want to be listed, please add a definition.

Superseded by #178667 .


String literal not assignable to type of the same value, forcing me to cast

I'm not sure if this has been brought up already and I'm just not plugging in the right search terms, but I feel like the compiler is forcing me to do a possibly redundant type annotation with string literal types.
TypeScript Version:  2.3.3
export interface AddAuthor extends Action {

    type: "add-author";

    author: Author;
}

export interface BusReducer<ActionType extends Action, State = any> {

    action: ActionType["type"];

    reducer(state: State, action: ActionType): State;
}

export class AddAuthor implements BusReducer<Action> {

    // tsc doesn't like this, failing with "Type 'string' is not assignable to type '"add-author"'."
    public action = "add-author";

    // But this seems to work...
    public action: "add-author" = "add-author";

    // ...
}

Expected behavior: Basically I expect that action in my BusReducer subtype not require its type be explicitly declared as the interface contains everything the lookup should need to successfully match on the constant value.

Duplicate of #10570.

I have a very similar problem, although not related to implementing Interfaces, just to compatibility between string literal type and string literal values. See this very simple example:
const data = {
    myLiteral: 'yas'
};

type MyType = {
  myLiteral: 'yas' | 'nope';
};

function doSomething(productData: MyType): void {}

doSomething(data); // error Type 'string' is not assignable to type '"yas" | "nope"'.

https://www.typescriptlang.org/play/index.html#src=const data %3D {
    myLiteral%3A 'yas'
}%3B

type MyType %3D {
  myLiteral%3A 'yas' | 'nope'%3B
}%3B

function doSomething(productData%3A MyType)%3A void {}

doSomething(data)%3B

const objects are not inferred to their literal type, because objects properties are mutable.  The const only prevents re-assignment.  There are slightly different rules when specifying an object literal as an argument, because it favours usability over strict typing.  So while doSomething(data) throws, the following does not:
type MyType = {
  myLiteral: 'yas' | 'nope';
};

function doSomething(productData: MyType): void {}

doSomething({
  myLiteral: 'yas'
});

This is because TypeScript can easily statically determine that the myLiteral property won't be changing.  Of course, data is easily assignable to MyType.  This also works:
const data: MyType = {
    myLiteral: 'yas'
};

type MyType = {
  myLiteral: 'yas' | 'nope';
};

function doSomething(productData: MyType): void {}

doSomething(data);

These sort of general questions are better asked on StackOverflow or in Gitter.

Unfortunately the referenced duplicate seems to have gone dead.  Any chance it can get attention?


Update AKS Bicep to use Redis instead of CosmosDB.

Description
We are facing some issues using actor with a cosmosDB state store.
This issue might be related to dapr/dapr#6339. We are moving the setup
to use Redis instead of CosmosDB as our state store. This matches
our current longhaul setup.
While this might seem in contradiction with dapr/components-contrib#2071
and dapr/cli#1328, unblocking this issue will allow for
easier and predictable reproductions of our longhaul setup. We might
revisit the use of CosmosDB as a state store in the future.
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Extended the documentation

I would prefer if our test infra on AKS used Cosmos DB to be honest...

Depends on https://github.com/dapr/test-infra/pull/191


Normalizing path in Express

Hi,
First of all, thanks for this neat library! It helped me get a kick start with exporting metrics to Prometheus.
However, in our projects, we often use parameters in Express routes, and these paths don't get normalized right now, so for example if you have a route like /user/:userId and then people make requests to /user/milan and /user/milan123, this creates new labels in Prometheus, which I gather is an antipattern - it works well only for a limited number of labels.
I'm currently working around it by not reporting path at all, and putting hostname there instead, as we run a bunch of microservices, so that's more useful for us. Not sure if this is a very common use case.
Any thoughts? I don't expect you to solve our problems of course :D Was just wondering if you encountered this; I'll hopefully prioritize this and work on getting it fixed in the next few days or weeks.

Hi!
I see the issue.
The module currently uses request.path to determine the label to apply. I will need to investigate if there is a way to get a parameterless url for the path through express. If you find a way, please let me know. Before I can implement, I will need to find an equivalent for the other supported methods too - in particular hapi and restify.
I'll take a look at the weekend.
Roy.

OK - had a thought about this. For strict REST a full (not ending in /) URL names a resource, while one ending in a slash '/' is a list of resources.
I will take the strict approach and only label up to the last trailing /
The following examples demonstrate the approach:

/resource/10 will label as /resource/
/resource/ will label as /resource/

I will add an additional label of cardinality that can have the values: one or many to allow distinguishing between, for example, requesting all users with /users/ or a single user with /users/freddie

@analytik fix made to<EMAIL_ADDRESS>Please give it a try and let me know if it improves your situation. I've basically assumed, as per strict spec, that urls not ending in a / are resources and trim back to the /.
e.g. /users/freddie now has label of /users/
in order to distinguish /users/ from /users/freddie I've added another label cardinality that will have the value 'one' for /users/freddie and 'many' for /users/ to enable the urls to be distinguished.

Thanks! This seems to work well for some of our services, but one frontend library loads some of the URLs with an ending slash, like /stuff/foobar/ even when Express defines it as '/stuff/:param'. This is probably a rare use case and not the best practice, so your solution probably works well for most people.
I'll investigate if there's an easy way to access Express routes, I don't know much about its internals, but I'll report here if/when I find a usable solution.

Turned out that we had some more complex routes like /stuff/:param1/:param2, but luckily the only change it needed was changing request.path to request.route.path in express.js.


How to download?

Hey, I don't completely understand how to download this bot. Could you please explain it to me? My discord is SღFié♥ #3321

On which OS are you trying to install the bot?

I’m using windows 10
Sent from my iPhone

On Oct 9, 2019, at 2:24 PM, AXeL<EMAIL_ADDRESS>wrote:
On which OS are you trying to install the bot?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

I’m using windows 10

Sorry, but this bot is currently only available for Linux. Check Pixus bot for a windows compatible bot (download link).
P.S.: keep in mind that pixus is no longer maintained & may not work on newer versions of Dofus.

Right.  I thought you were the creator for both. I needed help downloading Pixus.
Sent from my iPhone

On Oct 10, 2019, at 4:28 PM, AXeL<EMAIL_ADDRESS>wrote:
I’m using windows 10
Sorry, but this bot is currently only available for Linux. Check Pixus bot for a windows compatible bot (download link).
P.S.: keep in mind that pixus is no longer maintained & may not work on newer versions of Dofus.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Right. I thought you were the creator for both. I needed help downloading Pixus.
I am, but i stopped maintaining Pixus, in fact i stopped using windows as my main os from years ago.

Oh. I’d like to try and use it but I don’t know how to. The instructions confused me a bit. Could I have someone help with it?

On Oct 10, 2019, at 6:26 PM, AXeL<EMAIL_ADDRESS>wrote:
Right. I thought you were the creator for both. I needed help downloading Pixus.
I am, but i stopped maintaining Pixus, in fact i stopped using windows as my main os from years ago.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Oh. I’d like to try and use it but I don’t know how to. The instructions confused me a bit. Could I have someone help with it?

I'm currently enough busy, so i'm gonna say sorry, but anyway, just let this issue opened maybe someone will come & help you.


Cleaned examples fix

chat example with latest hendrix static handling updates

So this pull request adds a "one line install" example app that implements a simple django chat app.  It has been requested by lots of people and doesn't affect anything about the actual functionality of Hendrix at all.  Would be a good addition.


Expose ILoggingProvider

I've been trying to add logging for my SignalR client, and after reading documentation found that you are supposed to do it by adding a logging provider.
This library hides it's ILoggerProvider, why?
I've added this class for SignalR logging via reflection for now, but is there harm in making this class public?

You'd like to see BrowserConsoleLoggerProvider exposed?

This is correct

Sorry but I don't understand why you need access to the concrete browser console implementation.
If you want to add it anywhere all you need to do is to get the ILoggerProvider interface.
In all cases, if that was supposed to be used on Blazor.SignalR, that repo was archived since there is an official client.
I'm going to close this issue since there is nothing needed to be done.


pretrained model

When will the pre-trained model files be available?
thanks

Thanks, you can find the pre-trained models in README.md.

@dailenson  Why not find English pretrain model?
I only find Chinese and Japanese.


[BUG][WEBJS] - Not able to authenticate nor able to generate QR

Describe the bug
Version
{
  "version": "2024.5.8",
  "engine": "WEBJS",
  "tier": "CORE",
  "browser": "/usr/bin/chromium"
}

Expected behavior
I want my whatsapp to be logined here, but it is not generating QR, so need QR and i should able to login
Engine I'm using WEBJS engine.
Requests - Responses
{
  "name": "default",
  "config": {
    "proxy": null,
    "webhooks": [
      {
        "url": "https://httpbin.org/post",
        "events": [
          "message",
          "session.status"
        ],
        "hmac": null,
        "retries": null,
        "customHeaders": null
      }
    ],
    "debug": false
  }
}

Docker Logs
ubuntu@ip-172-31-12-147:~$ docker run -it --rm -p 5003:3000/tcp --name whatsapp-http-api devlikeapro/whatsapp-http-api
yarn run v1.22.19
$ node --unhandled-rejections=none dist/main
WAHA (WhatsApp HTTP API) - Running CORE version...
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [NestFactory] Starting Nest application...
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [InstanceLoader] PassportModule dependencies initialized +28ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [InstanceLoader] ConfigHostModule dependencies initialized +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [InstanceLoader] TerminusModule dependencies initialized +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [InstanceLoader] ConfigModule dependencies initialized +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [InstanceLoader] ServeStaticModule dependencies initialized +2ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [InstanceLoader] AppModuleCore dependencies initialized +2ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RoutesResolver] AuthController {/api/:session/auth}: +98ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/auth/qr, GET} route +5ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/auth/request-code, POST} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/auth/authorize-code, POST} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/auth/captcha, GET} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/auth/captcha, POST} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RoutesResolver] SessionsController {/api/sessions}: +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/sessions/start, POST} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/sessions/stop, POST} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/sessions/logout, POST} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/sessions, GET} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/sessions/:session, GET} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RoutesResolver] SessionController {/api/sessions/:session}: +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/sessions/:session/me, GET} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RoutesResolver] ChattingController {/api}: +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/checkNumberStatus, GET} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/sendContactVcard, POST} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/sendText, GET} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/sendText, POST} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/sendPoll, POST} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/sendLocation, POST} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/sendLinkPreview, POST} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/sendImage, POST} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/sendFile, POST} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/sendVoice, POST} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/sendVideo, POST} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/reply, POST} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/sendSeen, POST} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/startTyping, POST} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/stopTyping, POST} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/reaction, PUT} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/star, PUT} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/messages, GET} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RoutesResolver] ChatsController {/api/:session/chats}: +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/chats, GET} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/chats/:chatId, DELETE} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/chats/:chatId/messages, GET} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/chats/:chatId/messages, DELETE} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/chats/:chatId/messages/:messageId, DELETE} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/chats/:chatId/messages/:messageId, PUT} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RoutesResolver] StatusController {/api/:session/status}: +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/status/text, POST} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/status/image, POST} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/status/voice, POST} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/status/video, POST} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RoutesResolver] ContactsController {/api/contacts}: +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/contacts, GET} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/contacts/all, GET} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/contacts/check-exists, GET} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/contacts/about, GET} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/contacts/profile-picture, GET} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/contacts/block, POST} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/contacts/unblock, POST} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RoutesResolver] GroupsController {/api/:session/groups}: +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/groups, POST} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/groups, GET} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/groups/:id, GET} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/groups/:id/settings/security/info-admin-only, PUT} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/groups/:id/settings/security/info-admin-only, GET} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/groups/:id/settings/security/messages-admin-only, PUT} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/groups/:id/settings/security/messages-admin-only, GET} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/groups/:id, DELETE} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/groups/:id/leave, POST} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/groups/:id/description, PUT} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/groups/:id/subject, PUT} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/groups/:id/invite-code, GET} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/groups/:id/invite-code/revoke, POST} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/groups/:id/participants, GET} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/groups/:id/participants/add, POST} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/groups/:id/participants/remove, POST} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/groups/:id/admin/promote, POST} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/groups/:id/admin/demote, POST} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RoutesResolver] PresenceController {/api/:session/presence}: +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/presence, POST} route +7ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/presence, GET} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/presence/:chatId, GET} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/:session/presence/:chatId/subscribe, POST} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RoutesResolver] ScreenshotController {/api}: +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/screenshot, GET} route +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RoutesResolver] VersionController {/api/version}: +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/api/version, GET} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RoutesResolver] HealthController {/health}: +0ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [RouterExplorer] Mapped {/health, GET} route +1ms
[Nest] 30  - 05/26/2024, 12:09:46 PM     LOG [NestApplication] Nest application successfully started +5ms
WhatsApp HTTP API is running on: http://[::1]:3000
Environment: {
version: '2024.5.8',
engine: 'WEBJS',
tier: 'CORE',
browser: '/usr/bin/chromium'
}
[Nest] 30  - 05/26/2024, 12:09:58 PM     LOG [SessionManager] 'default' - starting session...
[Nest] 30  - 05/26/2024, 12:09:58 PM     LOG [Webhook - default] Configuring webhooks for https://httpbin.org/post...
[Nest] 30  - 05/26/2024, 12:09:58 PM     LOG [Webhook - default] Event 'session.status' is enabled for url: https://httpbin.org/post
[Nest] 30  - 05/26/2024, 12:09:58 PM     LOG [Webhook - default] Webhooks were configured for https://httpbin.org/post.
[Nest] 30  - 05/26/2024, 12:09:58 PM     LOG [Webhook - default] Event 'message' is enabled for url: https://httpbin.org/post
[Nest] 30  - 05/26/2024, 12:09:58 PM     LOG [Webhook - default] Sending POST to https://httpbin.org/post...
[Nest] 30  - 05/26/2024, 12:09:59 PM     LOG [Webhook - default] POST request was sent with status code: 200
[Nest] 30  - 05/26/2024, 12:10:05 PM   ERROR [WhatsappSession - default] ProtocolError: Waiting for selector [data-icon='search'] failed: Protocol error (Runtime.callFunctionOn): Target closed.
[Nest] 30  - 05/26/2024, 12:10:05 PM     LOG [Webhook - default] Sending POST to https://httpbin.org/post...
[Nest] 30  - 05/26/2024, 12:10:06 PM     LOG [Webhook - default] POST request was sent with status code: 200
Screenshots

@S1D007 hi! Could you share the screenshot? especially from GET /screenshot page

Try using
devlikeapro/whatsapp-http-api:chrome

image https://waha.devlike.pro/docs/how-to/engines/#docker-images

@S1D007 hi! Could you share the screenshot? especially from GET /screenshot page

I am getting Whatsapp Login QR code Page

Are you from India by any chance? Or you're using indian phone number?
You can try a proxy https://waha.devlike.pro/docs/how-to/proxy/
If proxy doesn't help but it works on your local laptop - consider setting up a tunnel https://github.com/devlikeapro/whatsapp-http-api/issues/343#issuecomment-2130780175

I am getting Whatsapp Login QR code Page

What exactly? Can not connect or forever "loading" and a error after?

I am getting Whatsapp Login QR code Page

What exactly? Can not connect or forever "loading" and a error after?

So basically when I try to create  a session. It creates successfuly but when I try to scan the QR from whatsapp using  screenshot method or /QR method both of them either giving me cannot connect to the device right now or it's loading in infinity.
Working locally but not working in ec2 or any normal server.
So yes I am from India

Can you help me setup proxy

The guide is pretty self explanatory https://waha.devlike.pro/docs/how-to/proxy/
{
  "name": "default",
  "config": {
    "proxy": {
      "server": "localhost:3128"
    }
  }
}

You can get a proxy from one of our tested solutions
https://waha.devlike.pro/docs/how-to/proxy/#recommended-proxies
Keep in mind that it not always work, the last way to fix it - to setup WAHA locally and tunnel it (publish) to the internet using ngrok
https://waha.devlike.pro/docs/how-to/proxy/#tunneling


extension-webm just downloads forever

it just says "Installing extension-webm from https://github.com/KadeDev/extension-webm" then never stops,
i have space on my USB, i've downloaded everything asked of me, i left it downloading over night, ive even tried "extension-webm https://github.com/GrowtopiaFli/extension-webm" but it just forever downloads, i looked every where for a fix but it seems no one else is having this problem!
any/all help is appreciated!

What command did you use to download extention-webm?


PDQm should define search parameter combinations

Is your feature request related to a problem? Please describe.
If you don't define a minimum set of search parameter combinations, there is no expectation that a server will support any search parameter combinations.
Describe the solution you'd like
Add a set of search parameter combinations that provide the most likely way to obtain a match or change PDQm to profile the $match operation.

What combinations would you like to see?
$match operation is an independent work item that is simply awaiting a resource that wants to develop it.

should we just replicate the combinations from IPA on Patient?

Sure, using the same combinations from IPA makes sense.


fmp4 for hevc in hls

When using the h265 branch, the resulting HLS is always mpegts, even when ingesting h265 video over rtmp/srt. This does play in VLC, but not on native Apple players (for example Safari). As delivery to Apple devices is one of the main reasons to transport HEVC in HLS, would it be possible, when using HEVC, to package HLS with the fragmented mp4 format as per Apple spec?

Please ask questions on Stack Overflow using the #simple-realtime-server tag.
This issue will be eliminated, see #2716


UDP CLIENT TypeError: 'str' object cannot be interpreted as an integer

line 13, in
client.sendto(b"AAABBBCCC", (target_host,target_port))
TypeError: 'str' object cannot be interpreted as an integer
I also tried formatting no avail. Where can i be getting it wrong ??

It's difficult to provide some kind of assistance with just this information.
Please provide the python version, exact steps you took, the input and how you executed the command.

Thanks i figured it out


feat(assert): Expose Assert::normalize

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 51.42%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1376

Relevant Lines:
2676

💛  - Coveralls


Adjust Radar Spoke Width / Weight?

I can't seem to find a way to adjust the thickness / weight of the axis spokes for a radar chart. I want to make them thicker and a different color.
Please note this is for the axis spokes, not the plotted shape.

Currently, you can change the colors of the spokes using
plotOptions: {
  radar: {
    polygons: {
      strokeColors: '#111'
    }
  }
}

I will add a new property strokeWidth in plotOptions.radar.polygons to control the thickness too.
Meanwhile, you can use CSS as a workaround
.apexcharts.canvas polygon {
    stroke-width: 4;
}

Thanks for the quick response!
FYI - on the following page you quote { polygons: { strokeColor: '#e8e8e8' } (i.e. strokeColor instead of strokeColors) and you also don't mention connectorColors. Perhaps update the page?
https://apexcharts.com/docs/chart-types/radar/

Good catch. Yeah, that will be added too.


Add "forced" parameter for TorrentManager.StopAsync() and StoppingMod…

…e.WaitForStoppingToComplete() methods to speed-up torrent stop process
Sometimes announcing takes too long. It will be useful to give ability in MonoTorrent API to force the stop process by not sending announce to Tracker.

I don't think it's a good idea to build in the ability to unilaterally disable sending the Stopped event.
There's no clear logic for a user of the MonoTorrent library to easily figure out when to pass true or when to pass false, which means the most likely outcome will be that a developer will hardcode true at some point and then their application will end up banned by trackers as it does not send the correct announce requests when stopping.
At the moment the maximum possible time you should need to wait, no matter how many torrents you have, is 60 seconds. You can do this invoking ClientEngine.StopAll, or just replicate the logic of calling StopAsync on every TorrentManager and then awaiting all the tasks in one go.
If you do something like:
foreach (TorrentManager manager in managers)
    await manager.StopAsync ();

then the maximum time this will take will be 60 seconds per manager, which would be pretty bad if you have a lot of torrents.
If you are calling ClientEngine.StopAll, or the equivalent, and want it to be faster than 1 minute, then I could make this value configurable and enforce a reasonable minimum time of 15 seconds (or so) to ensure that under normal circumstances the final announce should be correctly processed.
I can probably enhance things so that the final 'Stopped' announce is skipped completely if no tracker has been successfully announced to before.

For my needs stop process should take not more than 3 seconds.

want it to be faster than 1 minute, then I could make this value configurable

I think this could be a solution.

I can probably enhance things so that the final 'Stopped' announce is skipped completely if no tracker has been successfully announced to before.

I suppose it will be unneeded overhead in the stop process.

3 seconds may not be long enough for busy trackers which are online and active. Why do you need the time to be so short? Is there a restriction you're trying to meet?

Why do you need the time to be so short?

I need to give my users experience of torrent files usage as of media files. They can frequently start and stop them, add and remove from playlist. Adding torrent to a playlist also Registers TorrentManager in ClientEngine. Removing torrent from playlist also Unregisters TorrentManager from ClientEngine.

Just wanted to drop a comment on this and say I haven't forgotten about this. I just need to find the time to complete the changes :)


FAILURE: Build failed with an exception.

What went wrong:
A problem occurred configuring project ':google_api_availability'.

Failed to notify project evaluation listener.
java.lang.AbstractMethodError (no error message)

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 1s
Command: /Users/venkat/flutterProjects/farm_mojo/android/gradlew app:properties
Finished with error: Please review your Gradle project setup in the android/ folder.

Hi @ovvenkatesan, this problem happens because of a mismatch of Gradle versions used. Solutions to this problem are discussed in issues #127 and #130


Add bootstrap functionality for prompt tuning

Is your feature request related to a problem? Please describe.
Adding bootstrap functionality that can take base_model and pretrained prompt models, i.e encoder.pt or decoder.pt (or both) and get a PeftPromptTuning instance back. This will allow more mobility to the users.

@gkumbhat As part of this, we might want to discuss whether or not it would be a good idea to support safetensors format too


fix: gunnaraccso/keycloak.server:14.0.0 not found

Camunda Keycloak Identity Provider Pull Request
The gunnaraccso/keycloak.server:14.0.0 isn't found.
Description
The example/run/docker folder isn't work, because the gunnaraccso/keycloak.server:14.0.0 isn't found.
Additional context
I change to use the  gunnaraccso/keycloak.server:21.1.1, and rewrite some config of camunda.env file.
Testing your changes

Add "<IP_ADDRESS> keycloak" in /etc/hosts
Run docker compose up -d
Open localhost:8080, and enter username/password(camunda/camunda1!), then see the main page.

Types of changes

[x] Bug fix (non-breaking change which fixes an existing open issue)

Checklist:

[ ] My code adheres to the syntax used by this extension.
[ ] My pull request requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the Camunda Community Hub documentation
[x] I have read the Pull Request Process documentation
[ ] I have added or suggested tests to cover my changes suggested in this pull request.
[ ] All new and existing CI/CD tests passed.
[x] I will /assign myself this issue, and add the relevant [issue labels] to it if they are not automatically generated by Probot.
[x] I will tag @celanthe in a new comment on this issue if 30 days have passed since my pull request was opened and I have not received a response from the extension's Maintainer

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


Ft list all users

What does this PR do?
This PR adds functionality for viewing all users and their profiles.
Description of Task to be completed?
Have the following endpoint working

GET /api/profile/profiles/

How should this be manually tested?

After cloning the repo, cd into it and run python manage.py runserver
Register as a new user
Activate account through email
Login and copy the access token
Add the access token in the header
Hit the endpoint GET /api/profile/profiles/

What are the relevant pivotal tracker stories?
#161255252

Pull Request Test Coverage Report for Build 247

22 of 22 (100.0%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+2.6%) to 91.379%

Totals

Change from base Build 243:
2.6%

Covered Lines:
795

Relevant Lines:
870

💛  - Coveralls

@Tony-Ndichu  what would be the most appropriate name for this endpoint? give me options.

Add some screenshots.

@Awesome94 ,how about all-users ,  all-profiles, all ?


Upgrade to TS 2.2.x, remove typeless build, add cache usage

Minko, I know you're at ng-conf, so this is probably for when you get back. It looks like the TS folks made a breaking change in 2.2.x that affects the typeless build option I added a long time back.
Basically, when using isolatedModules, the TS compiler emits Object.defineProperty(exports, "__esModule", { value: true }); at the top of each file. This will cause runtime errors because exports doesn't exist. This seems like a TS bug, but the TS folks seem to be thinking this is intended behavior (https://github.com/Microsoft/TypeScript/issues/14351).
So, in order to update to TS 2.2.x, I think we'll have to remove/deprecate the typeless compile option. I've got TS 2.2.2 working in my project by turning off the typeless compile. I also added in use of gulp-cached to the build.js.dev and build.js.test tasks. We had issues with this before, where the cached build file sets were missing all the unchanged TS files, which caused compile errors. It seems to work OK now and reduces subsequent compile times by about 50-75%. Not as fast as using isolatedModules but still better than recompiling everything.
I can create a pull request for this if you like, but wanted to make sure it sounded OK to you first.

Hey @brian428, I run the seed with the latest version of TypeScript and wasn't able to reproduce the issue.

Just checking: did you try it with the typeless compile counter set to something other than 0? Try that, start it up, then make a change and reload to confirm that the isolatedModules export doesn't throw errors.

I enabled isolatedModules in both branches of the conditional statement in build.js.dev and didn't get any issues.
Do you think this can be caused by environment specific configuration?

I'll try it with a new seed just to confirm whether it's something in my environment and report back.

Here the same problem.
Object.defineProperty(exports, "__esModule", { value: true }) when isolatedModules: true; after a change in ts file (typeless compiling)...
How to fix?
Can you @brian428 post your modified code in build.js.dev.ts?

Sure, I just changed the if block on line 38 to omit the use of isolatedModules:
if (typedBuildCounter < Config.TYPED_COMPILE_INTERVAL) {
  isFullCompile = false;
  tsProject = makeTsProject();
  projectFiles = projectFiles.pipe(plugins.cached('build.js.dev'));
  util.log('Performing cached TypeScript compile.');
} else {
  tsProject = makeTsProject();
  projectFiles = merge(typings, projectFiles).pipe(plugins.cached('build.js.dev'));
}

Also did this in build.js.test.ts. It's not really the "correct" solution, but it was enough of a band aid to get it working again while I tried to figure out what was going on.
I meant to circle back around to try this out again, but got delayed while JetBrains updated IDEA to support the new TS language service. I'll try to re-test isolatedModules when I have some time.
One odd thing is that I'm pretty sure I pulled down a fresh seed clone and tested things, and it all seemed to work correctly (using isolatedModules). So at the time, it seemed like this was specific to my setup rather than something in the seed.

Thanks for the code.
If you download the latest release of the seed (4.0.0) it works good with "typescript": "^2.1.5" which is 2.3.3 now...
Some added @types maybe? What do you think?
I also have the problem with typescript 2.1.5.

Dear @mgechev, can you reopen please?

Well, if it works fine with a clean seed clone, it seems to be something project specific rather than an issue with the seed. I'm not sure how Minko can help when we really have no idea what the problem is.

Do you have public code to reproduce bug?
Maybe on github itself?

I don't. The issue manifests in my primary client project, which is rather large and customized. So trying to track down the cause would probably be fairly time-intensive (which is why I haven't had time to try yet).


ci: release-please の manifest コマンドを使用するように切り替え

close #627.
Type of Change:
ワークフローの修正, 設定ファイルの追加/修正
Details of implementation (実施内容)
#629 の変更が正しく動作しなかったため, その修正です.

Codecov Report

Merging #631 (75ce180) into main (8aedbb0) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #631   +/-   ##
=======================================
  Coverage   73.89%   73.89%
=======================================
  Files          64       64
  Lines        4551     4551
  Branches      410      410
=======================================
  Hits         3363     3363
  Misses        781      781
  Partials      407      407

Flag
Coverage Δ

unittests
73.89% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Error when trying to request a parse

Hello!
I am trying to request a parse on OpenDota but it says "Failed to get match data" .
These are the matches I am trying to request a parse for:
2657449493
2917955705
Can anyone help me? The replays are very important to me ! :pray:
Thank you!

Unfortunately, Valve only keeps replays for 10 days (3 months for battle pass owners), if the match is not a ticketed/pro match.


disable frontend in production

disable frontend in production as per #411 and https://github.com/meilisearch/specifications/blob/master/text/0001-frontend-disable-prod.md

bors r+


ISPN-8320 Javadoc comments contain malformed HTML

running Javadoc results in many warnings
some author's email addresses contain < > which should be encoded as html entities
some chars like & need to be encoded as html entities
self closing <p/> tags are not allowed in javadocs

Many files were changed but since most of it was done with replace in all java files this should not cause much pain to validate.
Automatically replacing * <p/> with * <p> in all java files solved 99% of the issues. A handful of <p/>embedded in text were solved manually. Email addresses were all solved with replace.
This still solves only some of the malformed javadoc problems, many more to go, so please keep the jira open.

Actually,  (unlike ) needs to be closed, so in theory we should be making sure it is paired with a corresponding . The easiest fix is to replace all instances of  with

Yup, doing that quickly now.

closing this for now, replaced by https://github.com/infinispan/infinispan/pull/6358


Test flake: K8sValidatedPolicyTestAcrossNamespaces

https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/1401/testReport/k8s-1/9/K8sValidatedPolicyTestAcrossNamespaces_Policies_Across_Namespaces/
home/jenkins/workspace/Cilium-PR-Ginkgo-Tests-Validated/src/github.com/cilium/cilium/test/k8sT/Policies.go:712
Unable to connect between frontend-qjbcs and <IP_ADDRESS>:80/
Expected
    <string>: 000command terminated with exit code 7

to equal
    <string>: 200
/home/jenkins/workspace/Cilium-PR-Ginkgo-Tests-Validated/src/github.com/cilium/cilium/test/k8sT/Policies.go:855

level=error msg="Cannot create CEP" containerID=cilium-loc controller="sync-to-k8s-ciliumendpoint (29898)" endpointID=29898 error="the server could not find the requested resource (post ciliumendpoints.cilium.io)" policyRevision=0

level=error msg="Cannot create CEP" containerID=cilium-loc controller="sync-to-k8s-ciliumendpoint (29898)" endpointID=29898 error="the server could not find the requested resource (post ciliumendpoints.cilium.io)" policyRevision=0

Is this causing the failure itself or is just an error in the log? The cause is pretty obvious.

Fixed by https://github.com/cilium/cilium/pull/3209


Document Data path traffic separation option in swarm mode

https://github.com/moby/moby/pull/32717

Closed via #3479


Connect user registration

Write logic code for a user to create their username and password, etc...

Added 9/12/24 @ 2:39pm


feat: support traces and debugging in cast call

Component
Forge
Describe the feature you would like
Sometimes a call can revert, and being able to see a trace or use the debugger to understand why is useful.  The UX here would be adding --trace or --debug flags to cast call
Right now you can probably work around this by starting anvil from a fork, using cast send to send a tx to anvil, then inspecting the failed tx with cast run
Additional context
No response

imo this is what cast run is for

it would be cool to also do this for cast send, since sometime when it fails it refuses to even send.

@onbjerg I suppose this can be closed. Ref: #5477


Support general diffusion coefficients in flux calculation

See the comments in
https://github.com/mfem/mfem/issues/2493#issuecomment-912262635_

More details:

Currently, this method, DiffusionIntegrator::ComputeFluxEnergy, assumes that flux approximates the gradient of the error since it computes ∫T (D⋅flux)⋅flux = ∫T (D⋅∇e)⋅∇e where D is the diffusion coefficient. If flux approximates the actual flux error (i.e. D⋅∇e), which is generally the right quantity to use (this is done when one uses with_coef = true in DiffusionIntegrator::ComputeElementFlux) then one has to compute instead ∫T (D-1⋅flux)⋅flux = ∫T (D⋅∇e)⋅∇e.

PR #2692 addresses the issue described above for computing energy in the case that the flux includes the coefficient (with_coeff == true). There is still the other issue of how to compute d_energy, which is the directional energy computed component-wise on the reference element. I am not sure what would make sense on the reference element, and I do not see any literature on anisotropic refinement for general diffusion tensors. Currently it integrates the squares of the components of J^T flux on the reference element. One possibility might be to integrate component-wise product of J^T flux and J^T D^{-1} flux when flux includes the D coefficient, but I am not sure if that is right. Does anyone know whether this has been studied already in some paper?
Also, the use of Trans.Weight() in the reference element integration seems wrong to me, but I suppose it does not matter in the end, as the vector d_energy is normalized in ZZErrorEstimator. In other words, incorrect scaling has no effect, but this should be fixed anyway.


bump html5gum to 0.5.5

there's some perf improvements there, but one requires manual
configuration.
custom should_emit_errors, when inlined, eliminates some useless code
that just wastes time when we don't care about errors.

Awesome work. Thank you for the crate and for the pull request. 😊


wallet connect cannot redirect the source application after connecting to the okx wallet

Describe the bug
Today, I use wallet connect to connect okx wallet. After the connection is successful, I cannot redirect to the original application. The tested okx wallet version v6.64.0 and v6.61.0 cannot be used.
Specifically you watch the video
SDK Version

Client:  KotlinV2 Demo
Version bom 1.31.0

https://github.com/WalletConnect/WalletConnectKotlinV2/assets/45426897/4f2409b9-fd33-4d63-8c9b-f36e427581c3

@jakubuid What can I do if the OKX authorization connection fails to redirect to the original application?

This will be fixed by the OKX team


Opt in/out Frontend

Summary

This PR implements the frontend for the opt in/out modal. This includes two parts:

[x] Task 1: Add the Settings icon with the Menu with “Replace, Remove” and “Replace” menus in the Req Bar. The Settings icon should be gray, but blue when hovered over (these colors already exist in the code base)
[x] Task 2: Create the Replace and Remove modals

Test Plan

To test the functionality, I will

Hover over the gear icon to ensure that the gear changes colors
Click on the gear icon to ensure the modal opens
Click on the remove button to open the remove modal
Click on the replace button to op

Choose a class not in the user's current schedule and one that is

For a class that is selected, there are three cases:

The class is not in the schedule, we need to add it
The class is already in the schedule once, so we just close the modal
The class is in the schedule more than once, so we open a modal to resolve duplicates

Case with 0 of that class

Case with 2+ of that class

@andxu282 Can you change the base branch to user-choice?

I added documentation here! Let me know if it's clear enough now
https://docs.google.com/document/d/12boyLpgJP2aizFjNI99Pt6yP5p5IqhAMkC-qGwes1fw/edit?usp=sharing


NIFI-9637: Adding GcpSecretManagerParameterProvider

Summary
NIFI-9637
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking

[ ] Apache NiFi Jira issue created

Pull Request Tracking

[ ] Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
[ ] Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

[ ] Pull Request based on current revision of the main branch
[ ] Pull Request refers to a feature branch with one commit containing changes

Verification
Please indicate the verification steps performed prior to pull request creation.
Build

[ ] Build completed using mvn clean install -P contrib-check

[ ] JDK 8
[ ] JDK 11
[ ] JDK 17

Licensing

[ ] New dependencies are compatible with the Apache License 2.0 according to the License Policy
[ ] New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

[ ] Documentation formatting appears as expected in rendered files

Will review

Tested this out and after a bit of setup got things working. I tried out setting the SFTP password value with a GCP parameter to the wrong value, it failed, and set it to the correct value in GCP and it succeeded. Originally hit a null exception because I had not set the project ID property as it was not required - looks like that is now required.

+1 will merge


ARROW-4087: [C++] Make CSV spellings of null values configurable

Interestingly, there is no noticeable slowdown when reading CSV files (even though the trie is significantly slower than the hard-coded function in microbenchmarks).

Is the trie faster than a flat hash table?

I haven't compared directly, but we can compute the hash of approximately 250M small strings/second, which is an upper bound for a full hash table lookup. The trie is faster than that when the string is not in the trie... My intuition is that the hash table is unlikely to be as performant for this use case (a small number of short strings).

Small vector and linear scan should be the fastest when N is very small, which it is here. Bonus point if you can make the allocation on the cacheline after the vector struct.

Hmm, I hadn't thought about a linear scan.

And with small string optimization (which we have a good chance of hitting), everything will be on the stack of the function and on the same "near" cachelines without pointer chasing.

Aside: we need to curate that nulls list because NaN is not null in Arrow-land.

We should look at bloom filters at some point, too (there is an implementation of one under src/parquet already, albeit with virtual calls on the inner loop). They are popular for these "not contained in" checks, but I don't know where the crossover point in table size where a bloom filter becomes worthwhile

AFAIK, bloom filters are useful when your table is too large to fit in cache. The addressed use case here is a small table.
(though, CPython uses a trivial bloom filter to speed up substring searches...)


Update rbtools to 0.7.11

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Running script.sh...

>>> brew cask _audit_modified_casks a1bafd9e5fce985f6669faac88fc0148d5956ba1...98c2a1c4650173cf117f351db8738096a11cc335
==> 1 modified cask: rbtools
==> Downloading https://downloads.reviewboard.org/releases/RBTools/0.7/RBTools-0.7.11.pkg
==> Verifying checksum for Cask rbtools
audit for rbtools: passed

>>> brew cask style Casks/rbtools.rb

1 file inspected, no offenses detected

>>> brew cask reinstall --verbose Casks/rbtools.rb
==> Satisfying dependencies
==> Downloading https://downloads.reviewboard.org/releases/RBTools/0.7/RBTools-0.7.11.pkg
Already downloaded: /Users/travis/Library/Caches/Homebrew/Cask/rbtools--0.7.11.pkg
==> Verifying checksum for Cask rbtools
==> Installing Cask rbtools
==> Running installer for rbtools; your password may be necessary.
==> Package installers may write to any location; options such as --appdir are ignored.
==> installer: Package name is RBTools
==> installer: Installing at base path /
==> installer:PHASE:Preparing for installation…
==> installer:PHASE:Preparing the disk…
==> installer:PHASE:Preparing RBTools…
==> installer:PHASE:Waiting for other installations to complete…
==> installer:PHASE:Configuring the installation…
==> installer:STATUS:
==> installer:%40.887001
==> installer:PHASE:Moving items into place…
==> installer:PHASE:Validating packages…
==> installer:%97.750000
==> installer: The install failed (The Installer encountered an error that caused the installation to fail. Contact the software manufacturer for assistance.)
==> Purging files for version 0.7.11 of Cask rbtools
Error: Command failed to execute!

==> Failed command:
/usr/bin/sudo -E -- /usr/sbin/installer -pkg /usr/local/Caskroom/rbtools/0.7.11/RBTools-0.7.11.pkg -target / -verboseR

==> Standard Output of failed command:
installer: Package name is RBTools
installer: Installing at base path /
installer:PHASE:Preparing for installation…
installer:PHASE:Preparing the disk…
installer:PHASE:Preparing RBTools…
installer:PHASE:Waiting for other installations to complete…
installer:PHASE:Configuring the installation…
installer:STATUS:
installer:%40.887001
installer:PHASE:Moving items into place…
installer:PHASE:Validating packages…
installer:%97.750000
installer: The install failed (The Installer encountered an error that caused the installation to fail. Contact the software manufacturer for assistance.)

==> Standard Error of failed command:

==> Exit status of failed command:
#<Process::Status: pid 5464 exit 1>
Error: Kernel.exit

Running script.sh...

>>> brew cask _audit_modified_casks a1bafd9e5fce985f6669faac88fc0148d5956ba1...98c2a1c4650173cf117f351db8738096a11cc335
==> 1 modified cask: rbtools
==> Downloading https://downloads.reviewboard.org/releases/RBTools/0.7/RBTools-0.7.11.pkg
==> Verifying checksum for Cask rbtools
audit for rbtools: passed

>>> brew cask style Casks/rbtools.rb

1 file inspected, no offenses detected

>>> brew cask reinstall --verbose Casks/rbtools.rb
==> Satisfying dependencies
==> Downloading https://downloads.reviewboard.org/releases/RBTools/0.7/RBTools-0.7.11.pkg
Already downloaded: /Users/travis/Library/Caches/Homebrew/Cask/rbtools--0.7.11.pkg
==> Verifying checksum for Cask rbtools
==> Installing Cask rbtools
==> Running installer for rbtools; your password may be necessary.
==> Package installers may write to any location; options such as --appdir are ignored.
==> installer: Package name is RBTools
==> installer: Installing at base path /
==> installer:PHASE:Preparing for installation…
==> installer:PHASE:Preparing the disk…
==> installer:PHASE:Preparing RBTools…
==> installer:PHASE:Waiting for other installations to complete…
==> installer:PHASE:Configuring the installation…
==> installer:STATUS:
==> installer:%40.810597
==> installer:PHASE:Moving items into place…
==> installer:PHASE:Validating packages…
==> installer:%97.750000
==> installer: The install failed (The Installer encountered an error that caused the installation to fail. Contact the software manufacturer for assistance.)
==> Purging files for version 0.7.11 of Cask rbtools
Error: Command failed to execute!

==> Failed command:
/usr/bin/sudo -E -- /usr/sbin/installer -pkg /usr/local/Caskroom/rbtools/0.7.11/RBTools-0.7.11.pkg -target / -verboseR

==> Standard Output of failed command:
installer: Package name is RBTools
installer: Installing at base path /
installer:PHASE:Preparing for installation…
installer:PHASE:Preparing the disk…
installer:PHASE:Preparing RBTools…
installer:PHASE:Waiting for other installations to complete…
installer:PHASE:Configuring the installation…
installer:STATUS:
installer:%40.810597
installer:PHASE:Moving items into place…
installer:PHASE:Validating packages…
installer:%97.750000
installer: The install failed (The Installer encountered an error that caused the installation to fail. Contact the software manufacturer for assistance.)

==> Standard Error of failed command:

==> Exit status of failed command:
#<Process::Status: pid 5468 exit 1>
Error: Kernel.exit

@TravisBuddy stop

@vitorgalvao This is installable via pip so I'm tempted to delete it.

This also looks like it’s CLI-only and open-source, so it shouldn’t be here on those grounds as well.


Icons missin (again?)

I am on tool-bar version 1.2.0 an some icons are missing:

@Nuube did you start using v1.2.0 just recently? In that case, have a look at the release notes for v1.2.0. In short, you may need to update the icon names for ionicons icons.
If you can't figure it out on your own, could you provide some more information, like:

Which icons are you expecting in the places where there are no icons?
What tool-bar plugin are you using, if any?

Hi @ericcornelissen
I'm experiencing a similar issue, but with the Material Design set.
Here is a snippet
    type:     "button"
    iconset:  "mdi"
    icon:     "file-swap"
    callback: "ruby-test:test-single"
    tooltip:  "Ruby Test: Test Single"
    style:
      color: "#FF6D67"
  }

And that's for using this icon:

Some of the icons work for example file-compare, but there is quite a few that don't work

I'm not exactly sure what is happening, but when I manually download the font files from the repo and copy them into iconsets/mdi and restart atom it appears to be working

@franks921 that is curious, when I add that snippet to my flex-tool-bar config it adds the icon without a problem. Do you have the latest version of this package installed (v1.2.0)? And are you using any plugins to make the toolbar work?


Fix skeleton config to match code and doc. #878

This PR is to address #878

@ptman thanks for your time and PR. Did you get a chance to verify them?

Yes, I've been using that config myself for a long time. A year maybe?

Thanks 👍


Bug: AutoLinkPlugin fails simple examples like https://www.google.com

Lexical version: 0.11.1
Steps To Reproduce

Go to https://playground.lexical.dev/
Type https://www.google.com
https://www.google is linked but not .com

I have an example here which appears to match the problem in the playground:
import { AutoLinkNode } from "@lexical/link";
import { AutoLinkPlugin } from "@lexical/react/LexicalAutoLinkPlugin";
import {
  InitialConfigType,
  LexicalComposer,
} from "@lexical/react/LexicalComposer";
import { ContentEditable } from "@lexical/react/LexicalContentEditable";
import { HistoryPlugin } from "@lexical/react/LexicalHistoryPlugin";
import { OnChangePlugin } from "@lexical/react/LexicalOnChangePlugin";
import { PlainTextPlugin } from "@lexical/react/LexicalPlainTextPlugin";
import { $getRoot, $getSelection, EditorState, ParagraphNode } from "lexical";

// When the editor changes, you can get notified via the
// LexicalOnChangePlugin!
function onChange(editorState: EditorState) {
  editorState.read(() => {
    // Read the contents of the EditorState here.
    const root = $getRoot();
    const selection = $getSelection();

    console.log(root, selection);
  });
}

// Catch any errors that occur during Lexical updates and log them
// or throw them as needed. If you don't throw them, Lexical will
// try to recover gracefully without losing user data.
function onError(error) {
  throw error;
}

const domainList = [
    "com",
    "google",
]

const Editor = () => {
  const URL_MATCHER = new RegExp(
    `(?:https?:\\/\\/)?[-a-zA-Z0-9@:%\\._\\+~#=]{1,256}\\.(?:${domainList.join(
      "|"
    )})\\b(?:[-a-zA-Z0-9()@:%_\\+.~#?&//=]*)`,
    "gi"
  );

  const MATCHERS = [
    (text: string) => {
      const match = URL_MATCHER.exec(text);

      console.log(text, match);

      if (match === null) {
        return null;
      }
      const fullMatch = match[0];
      return {
        index: match.index,
        length: fullMatch.length,
        text: fullMatch,
        url: fullMatch.startsWith("http") ? fullMatch : `https://${fullMatch}`,
        attributes: { rel: "noreferrer", target: "_blank" }, // Optional link attributes
      };
    },
  ];

  const initialConfig: InitialConfigType = {
    namespace: "MyEditor",
    onError,
    nodes: [AutoLinkNode],
  };

  return (
    <LexicalComposer initialConfig={initialConfig}>
      <PlainTextPlugin
        contentEditable={
          <ContentEditable />
        }
      />
      <LexicalClickableLinkPlugin />
      <AutoLinkPlugin matchers={MATCHERS} />
      <OnChangePlugin onChange={onChange} />
      <HistoryPlugin />
    </LexicalComposer>
  );
};

The current behavior
When typing https://www.google.com -> https://www.google is linked and .com is not.
The expected behavior
https://www.google.com would be linked.
Seems like in the autolink plugin there is a need to check existing links that are not separated by a whitespace.

My observation from this is that it doesn't properly autolink unless the domain is 7 characters long. The link also has to be manually typed instead of pasted at once.
In the playground, https://www.123456.com skips the .com as part of the link, but https://1234567.com properly links fine.

Is there any progress on this?

in https://playground.lexical.dev/

action
working as expected

manually type https://www.google.com
NOT working as expected

manually type https://google.com
working as expected

copy & paste https://www.google.com
working as expected

manually type google.com
NOT working as expected

copy & paste  google.com
NOT working as expected

manually type www.google.com
working as expected

copy & paste  www.google.com
working as expected

I resorted to making my own plugin to solve this and improve the URL matching in my project.

I have now stumbled over this bug in my project.
Thanks for the fix, @redstar504. Using your package solved that issue for me.
Are you planning to move your fix into this repository here?


[QUESTION] cannot increase throughput via async def

Description
How can I increase the throughput of fastapi?
I have started a fastapi server.
And I have a api that will call google's api and return the token from google.
I found that if I use "async def", the throughput is slower than normal "def"
The log will output like this, more like sequential to me:
DEBUG:    Starting new HTTPS connection (1): oauth2.googleapis.com:443
DEBUG:    https://oauth2.googleapis.com:443 "POST /token HTTP/1.1" 200 None
DEBUG:    Starting new HTTPS connection (1): oauth2.googleapis.com:443
DEBUG:    https://oauth2.googleapis.com:443 "POST /token HTTP/1.1" 200 None
DEBUG:    Starting new HTTPS connection (1): oauth2.googleapis.com:443
DEBUG:    https://oauth2.googleapis.com:443 "POST /token HTTP/1.1" 200 None
DEBUG:    Starting new HTTPS connection (1): oauth2.googleapis.com:443
DEBUG:    https://oauth2.googleapis.com:443 "POST /token HTTP/1.1" 200 None

If I use normal  "def" function then the throughput will better.
DEBUG:    Starting new HTTPS connection (1): oauth2.googleapis.com:443
DEBUG:    Starting new HTTPS connection (1): oauth2.googleapis.com:443
DEBUG:    Starting new HTTPS connection (1): oauth2.googleapis.com:443
DEBUG:    Starting new HTTPS connection (1): oauth2.googleapis.com:443
DEBUG:    https://oauth2.googleapis.com:443 "POST /token HTTP/1.1" 200 None
DEBUG:    Starting new HTTPS connection (1): oauth2.googleapis.com:443
DEBUG:    Starting new HTTPS connection (1): oauth2.googleapis.com:443
DEBUG:    https://oauth2.googleapis.com:443 "POST /token HTTP/1.1" 200 None
DEBUG:    https://oauth2.googleapis.com:443 "POST /token HTTP/1.1" 200 None
DEBUG:    https://oauth2.googleapis.com:443 "POST /token HTTP/1.1" 200 None

And I want to increase the throughput that but don't know how, I tried to configure worker numbers, but the throughput seems remain the same.
Thank you very much.

How are you calling the google API?
Are you using a blocking http library (e.g. "requests")?

The FastAPI documentation mentions that an async def route or dependency will be called on the server's event loop directly, with the implicit requirement that it must not block and should spend very little time running if possible. A def route/dependency, on the other hand, will be run in a separate thread, which is intended to let you call sync libraries like requests or SQLAlchemy without having to do any extra work.
This means that whether a route is marked as async def or def has a number of subtle and sometimes counterintuitive effects:
def common_parameters(q: str = None, skip: int = 0, limit: int = 100):
    return {"q": q, "skip": skip, "limit": limit}

@app.get("/items/")
def read_items(commons: dict = Depends(common_parameters)):
    return commons

Neither the route or the dependency contain await, so shouldn't they be def? No, because FastAPI uses def to determine which functions are supposed to be spawned inside a thread to avoid blocking the server's main thread.
Likewise (and this is the issue you're probably running into):
@app.get("/")
async def root():
    requests.get('http://slowsite.example/')
    return {'result': 'done'}

Even though requests.get is a network operation, requests only does blocking I/O, so it will pause until it has received a response. That's a problem because async def tells FastAPI that this function doesn't have to run in its own thread and can instead be run on the server's event loop directly. If the request takes 10 seconds to respond, that's 10 seconds during which your server won't be responsive because its main thread/event loop is still busy waiting for that operation (which was supposed to be as short as possible and non-blocking) to complete.
Assuming I guessed correctly, you should either keep the route that calls google's API as a def function (so your request calls happen in separate threads) or swap your HTTP library for an async alternative, like httpx.

How are you calling the google API?
Are you using a blocking http library (e.g. "requests")?

I used https://github.com/googleapis/google-auth-library-python to get the google token.
I think it's a blocking library.
And I try to wrap the call with a async def function, and use await to wait the network io.
I thought I could avoid blocking the thread just by using the await and async declaration.
async def get_token():
    google_credentials.refresh(Request())
    return {"token": google_credentials.token}

@router.get("/google/token")
async def get_google_token():
    task2 = asyncio.create_task(get_token())
    return await task2

I also tried to use def, and increase the fastapi's worker number, but couldn't get good result.
How can I improve the throughput of my api server ?
Thank you

The FastAPI documentation mentions that an async def route or dependency will be called on the server's event loop directly, with the implicit requirement that it must not block and should spend very little time running if possible. A def route/dependency, on the other hand, will be run in a separate thread, which is intended to let you call sync libraries like requests or SQLAlchemy without having to do any extra work.
This means that whether a route is marked as async def or def has a number of subtle and sometimes counterintuitive effects:
def common_parameters(q: str = None, skip: int = 0, limit: int = 100):
    return {"q": q, "skip": skip, "limit": limit}

@app.get("/items/")
def read_items(commons: dict = Depends(common_parameters)):
    return commons

Neither the route or the dependency contain await, so shouldn't they be def? No, because FastAPI uses def to determine which functions are supposed to be spawned inside a thread to avoid blocking the server's main thread. It will still work, but it will spawn lots and lots of threads to perform trivial operations, and that could potentially hurt performance.
Likewise (and this is the issue you're probably running into):
@app.get("/")
async def root():
    requests.get('http://slowsite.example/')
    return {'result': 'done'}

Even though requests.get is a network operation, requests only does blocking I/O, so it will pause until it has received a response. That's a problem because async def tells FastAPI that this function doesn't have to run in its own thread and can instead be run on the server's event loop directly. If the request takes 10 seconds to respond, that's 10 seconds during which your server won't be responsive because its main thread/event loop is still busy waiting for that operation (which was supposed to be as short as possible and non-blocking) to complete.
Assuming I guessed correctly, you should either keep the route that calls google's API as a def function (so your request calls happen in separate threads) or swap your HTTP library for an async alternative, like httpx.

@sm-Fifteen Thank you for the detailed explanation.
If I use google's library https://github.com/googleapis/google-auth-library-python (which seems like a blocking library, I cannot find async one)
Is there any ways that I can improve the throughput?
Thank you

If I use google's library https://github.com/googleapis/google-auth-library-python (which seems like a blocking library, I cannot find async one)
How can I increase the number of spawned threads?
Is there any ways that I can improve the throughput?

There wouldn't really be much point. If you have one thread by blocking connection, adding more threads won't really improve things, unless your question is "How can I create more threads to make sure I never have a connection waiting for a thread?". FastAPI and Starlette use the event loop's default executor, which should mean ThreadPoolExecutor. According to the official Python doc, it uses os.cpu_count() * 4 in python 3.5 to 3.7, and min(32, os.cpu_count() + 4) starting with python 3.8.
If you wanted to change that, you could probably just use set_default_executor before you initialize your application, though I would argue that this shouldn't be needed.

Hi @sm-Fifteen
Thank you
I see

Thanks for the help here everyone! :clap: :bow:
Thanks for reporting back and closing the issue @ysde  :+1:


Should type_histogram (and co.) be exported?

In the NEWS, we say:

Breaking changes:

Type-specific arguments are no longer passed through the main function via
.... Instead, they are now passed through a dedicated type_*() functions in
the type argument.

So I was a bit surprised that this didn't work:
plt(
    ~Petal.Width | Species, iris,
    type = type_histogram(breaks = 30)
)
#> Error in type_histogram(breaks = 30) :
#>   could not find function "type_histogram"

Looking at the code, I can see two issues:

We don't actually export type_histogram().
We don't pass arguments from this top-level function down to the companion data_histogram() function.

I assume that we want to do both of these things, and similarly for other non-exported types like type_density(). @vincentarelbundock does that sound right right to you? I just want to make sure that any changes I make are consistent with the new types design.
P.S. Related to #225 since background alpha is another argument that could be inherited from type_histogram().

Yes, that's sounds right. I didn't bother exporting type functions unless they had arguments, and type_histogram() does not currently have arguments.
I agree that these functions could be made more flexible and they should be exported when we make them more flexible.
Note that density is the only weird case because it is implemented as a complex and totally separate function. I never actually looked into how that all worked and was afraid of it. Ideally, I think it should also be converted to the new system, but I don't know what would be involved.
AFAICT, density is the only legacy type. All others have their own type_fun() that we can improve and export as needed.

@grantmcdermott I really don't think we should be exporting both type_histogram() and type_hist().
It's one thing if you want to allow string shortcuts, but having multiple functions for the same thing just pollutes the namespace, makes it harder for users to navigate the docs, and makes IDE completion less effective.
(I also think that "hist" and "histogram" adds confusion and no efficiency, but that's still less objectionable than a full function.)

I hear you on namespace pollution, but my motivation here was to ensure consistency. If we support "hist" then type_hist() maintains the type_<typename> mirroring.
(I know that we discussed this separately, but I also think that supporting "hist" makes sense in the first place since we are trying to preserve the strong equivalency with base hist.)
That being said, I'm certainly not overly committed to this type_hist alias. Feel free to remove/unexport if you'd like. Or, feel free to ask @zeileis for a tie-break vote :-)

TBC, this is not a big deal at all. I must have felt argumentative when I posted this ;)


Histograms "bins" parameter should be able to take a list of bin endpoints for unequal-sized bins

@papajohn Is this for the hist method or for pivot_hist? (A quick explanation of the difference between the two would also be much appreciated!)

Good question. This change refers to hist. hist draws a histogram for
each column (perhaps overlaid onto one chart).
pivot_hist may not be long for this world. It's equivalent to the
following for loop on a two-column table t with columns a and b,
except that it bins in the same way for every subplot and supports
overlays. I'd like to generalize it somehow, but haven't figured out the
right way yet.
for v in np.unique(t[a]):
  t.where(a, v).select([b]).rename(b, v).hist()

On Wed, Aug 5, 2015 at 12:43 AM, Sam Lau<EMAIL_ADDRESS>wrote:

@papajohn https://github.com/papajohn Is this for the hist method or
for pivot_hist? (A quick explanation of the difference between the two
would also be much appreciated!)
—
Reply to this email directly or view it on GitHub
https://github.com/dsten/datascience/issues/36#issuecomment-127902528.

By the way, I think this change may not be a change at all. The underlying matplotlib.hist method takes an array of bins or an integer bin count. If you find that there's nothing to change, just close the issue.   http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.hist

Looks like the underlying hist method has this functionality! Closing.


block.timestamp value defaults to 0,Climber challenge will not work properly

block_timestamp needs to be set in the configuration,if not, block.timestamp will default to zero,Climber challenge will not work properly
        assertGt(
            ClimberVault(address(climberVaultProxy))
                .getLastWithdrawalTimestamp(),
            0
        );

.

It may not be necessary to add to the configuration,Just use block-timestamp options
forge test --match-contract Climber --block-timestamp 1


ARM / Raspberry PI (4) compatibility

See https://support.nitrokey.com/t/nitokey-start-firmware-update-failed-device-or-firmware-missing/2855/3
Neither NK FIDO2 nor NK Start can be properly accessed as non-root user.

This issue is invalid, since in the end just the Udev rules were missing.
Closing as such.

This issue is invalid, since in the end just the Udev rules were missing.
Closing as such.


Update logback-classic, logback-core to 1.5.14

About this PR
📦 Updates

ch.qos.logback:logback-classic
ch.qos.logback:logback-core

from 1.5.12 to 1.5.14
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "ch.qos.logback" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "ch.qos.logback" }
}]

labels: test-library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #156.


Housekeeping!

@michelvocks You are going to love this one... :D

Codecov Report

Merging #191 into master will decrease coverage by 0.31%.
The diff coverage is 61.48%.

@@            Coverage Diff             @@
##           master     #191      +/-   ##
==========================================
- Coverage   62.59%   62.28%   -0.32%
==========================================
  Files          48       48
  Lines        3914     3932      +18
==========================================
- Hits         2450     2449       -1
- Misses       1069     1079      +10
- Partials      395      404       +9

Impacted Files
Coverage Δ

workers/scheduler/create_cmd.go
62.5% <ø> (ø)
:arrow_up:

handlers/workers.go
48.12% <ø> (ø)
:arrow_up:

handlers/user.go
39.68% <0%> (ø)
:arrow_up:

handlers/pipeline_run.go
0% <0%> (ø)
:arrow_up:

workers/pipeline/update_pipeline.go
52.54% <100%> (ø)
:arrow_up:

handlers/auth.go
95% <100%> (ø)
:arrow_up:

workers/pipeline/build_cpp.go
95.12% <100%> (ø)
:arrow_up:

workers/pipeline/pipeline.go
94.06% <100%> (-0.05%)
:arrow_down:

store/memdb/memdb.go
53.67% <100%> (ø)
:arrow_up:

workers/pipeline/build_python.go
82.53% <100%> (ø)
:arrow_up:

... and 16 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 86e92ba...bc07eb8. Read the comment docs.

@michelvocks I have the handling in a different PR. This is part 1 basically. The handling and propagations of some of these errors when I was not ignoring them was actually causing some test failures.
And thus require a lot more thought and work to have them right. So I wanted to do this in one patch and then go over all the _-s and handle them if that's okay with you.

Gotcha! Cool. Then LGTM 😄

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 61.48148% with 52 lines in your changes missing coverage. Please review.

Project coverage is 62.28%. Comparing base (86e92ba) to head (bc07eb8).
Report is 62 commits behind head on master.

Files with missing lines
Patch %
Lines

security/ca.go
36.00%
8 Missing and 8 partials :warning:

handlers/pipeline.go
75.00%
6 Missing and 1 partial :warning:

workers/pipeline/ticker.go
30.00%
7 Missing :warning:

workers/pipeline/create_pipeline.go
37.50%
5 Missing :warning:

workers/pipeline/git.go
55.55%
4 Missing :warning:

handlers/pipeline_run.go
0.00%
3 Missing :warning:

handlers/settings.go
40.00%
2 Missing and 1 partial :warning:

workers/scheduler/scheduler.go
50.00%
3 Missing :warning:

plugin/plugin.go
75.00%
2 Missing :warning:

handlers/user.go
0.00%
1 Missing :warning:

... and 1 more

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #191      +/-   ##
==========================================
- Coverage   62.59%   62.28%   -0.32%
==========================================
  Files          48       48
  Lines        3914     3932      +18
==========================================
- Hits         2450     2449       -1
- Misses       1069     1079      +10
- Partials      395      404       +9

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


ClientOptions.InsecureAllowCredentialWithHTTP is not actually used

Bug Report
There is a property "InsecureAllowCredentialWithHTTP" in policy.ClientOptions but it is not actually used. This is quite useful for unit testing. In my project I created a mock http server, but without this option, it simply returns error because my mock server is not HTTPS.

The file that needs to be changes: sdk/ai/azopenai/custom_client.go
SDK version: master
go version: 1.22

I believe that we need to change both NewClientWithKeyCredential and NewClientForOpenAI in custom_client.go. When creating NewKeyCredentialPolicy we need to consider the values of  in InsecureAllowCredentialWithHTTP options

@jieliu2000, this has (just now) been released<EMAIL_ADDRESS>

@richardpark-msft , Thanks a lot for the quick fix.


preventOverrun doesn't work with cron jobs in version 3.0.0

const { ToadScheduler, CronJob, AsyncTask } = require('toad-scheduler');

const wait = (ms) => new Promise((resolve) => {
  setTimeout(resolve, ms);
});

let n = 0;

const task = new AsyncTask(
  'task',
  async () => {
    console.log(n);

    await wait(60000);

    n += 1;
  },
  (error) => {
    console.error(error);
  },
);

const job = new CronJob(
  { cronExpression: '*/1 * * * * *' },
  task,
  {
    preventOverrun: true,
  },
);

const scheduler = new ToadScheduler();

scheduler.addCronJob(job);

Thank you for reporting. I'll take a look.


Authentication block callbacks don't facilitate asynchronous handling

I am enjoying getting to know AFNetworking 2 and have generally been satisfied by most of the default decisions and behaviors of the library. The exceptions have all been easy to override and I can see your reasoning for defaulting to them.
One area that hung me up is in the way AFNetworking handles authentication challenges from NSURLSession, passing them along to the client asynchronously via registered callback blocks such as the "taskDidReceiveAuthenticationChallenge" block.
I saw in the discussion around issue #1335 that there was some surprise that NSURLSession's own delegate method uses an asynchronous callback block. The reasoning as far as I can understand it (and owing to the way I intend to use it) is that authentication could be delayed by the need to interact with the user e.g. to present a password prompt or other authentication flow. For this reason, the NSURLSession system seems designed to put a request on ice while the client obtains authorization from the user.
I think I could achieve what I need by taking advantage of the fact that the callback is on a non-main thread, blocking the thread while a prompt is displayed, and then returning the result synchronously to AFNetworking. But this seems a little shaky to me and also seems to be in defiance of the NSURLSession delegate expectation that the delegate should return promptly and call the callback when the credentials are ready. I don't know if the system puts the thread into any more useful of a sleeping state than I would waiting for my main thread UI to complete, but it does seem possible that it could have an effect on e.g. timeout timers or other machinery within NSURLSession.
I'm working around this by subclassing AFHTTPSessionManager and implementing my own delegate method for the authorization challenge, but I thought I would file an issue to get your take on it and get you thinking about whether it would be a good idea to facilitate NSURLSession's expected asynchronous callback mechanism in the longer term.

Thanks for the write up here @danielpunkass, and I apologize for this sitting for so long with no interaction. I haven't seen anyone else talking about this feature, so its just been on the backburner.
I think your logic and reasoning does make sense. I'd love to see your implementation and see how it may fit back into AFNetworking. I'll do some thinking here as well.
:beers:

I noticed the same issue while working on #3425. I’ll try to propose a solution that doesn’t require to subclass AFURLSessionManager.

@kcharwood Somehow I glossed over your response in December. Maybe I can blame GitHub notifications somehow ;) Anyway @0xced's follow-up got my attention. As it turns out I ended up not using AFNetworking, so I'm not really invested in this. I'm glad to hear that @0xced has some motivation to work on it, though!


local file support

Wombat can't parse local files:
/.gem/ruby/2.3.1/gems/wombat-2.5.1/lib/wombat/processing/parser.rb:33:in block (2 levels) in initialize': undefined method content_type' for #<Mechanize::FileResponse:0x007fe856a62d90> (NoMethodError)

I have the same issue. In principle it should work using the "file://" protocol with mechanize or creating a Mechanize page or file by hand and setting it via page(https://github.com/felipecsl/wombat/wiki) . However in practise this did not work for me. I really would like to see that work.
http://stackoverflow.com/questions/7586627/read-a-local-html-file-with-mechanize lists a FakeWeb workaround (another could be a dead simple proxy server), but I'd really like to see this working in wombat directly.

I would really prefer to use the page mechanism but have no time looking into why mechanize fails there.
For prototyping I now use webmock like this:
require 'webmock'
include WebMock::API

WebMock.enable!
stub_request(:get, "www.example.com").to_return(body: File.read("page.html"))

result = Wombat.crawl do
  base_url "http://www.example.com"
  path "/"
  # ...
end

Thanks @fwolfst! Your approach with webmock worked for me.


You have an outstanding component. Personally, I love the animation so much. If I build a web app, I would definitely use yours.
Here's the link to the blog Top 5 spinners.
It would be really cool if you give it some feedbacks/thoughts in the comment section.
Regards,
Binh

@binhbbui411 thanks so much for the feature in your piece. Glad you like it, and hopefully the apps you build are so fast that your users don't need to see it for too long! :)


Error 'queuing buffer 4: Bad file descriptor error occurred" while doing 4 file_sinks of 4 sources with demux

Hello, the code I tested is as follows
https://github.com/prominenceai/deepstream-services-library/blob/log_error/examples/cpp/4file_file_sink.cpp
The approximate code structure is as follows
                                                       / tiler - osd - window-sink
4-video -> nvstreammux -  splitter -
                                                       \ demux - file-sink 1,2,3,4

The error comes out as below\
1688:HandleSourceElementOnPadAdded:  : Video decode linked for URI source 'file-source-4'
0:00:00.250382602  6947 0x559d5b7b6b60 ERROR          v4l2allocator gstv4l2allocator.c:784:gst_v4l2_allocator_start:<file-sink-4-nvv4l2h264enc:pool:src:allocator> error requesting 2 buffers: Invalid argument
0:00:00.250471893  6947 0x559d5b7b6b60 ERROR         v4l2bufferpool gstv4l2bufferpool.c:1185:gst_v4l2_buffer_pool_start:<file-sink-4-nvv4l2h264enc:pool:src> we received 0 buffer from device '/dev/v4l2-nvenc', we want at least 2
0:00:00.250482354  6947 0x559d5b7b6b60 ERROR             bufferpool gstbufferpool.c:559:gst_buffer_pool_set_active:<file-sink-4-nvv4l2h264enc:pool:src> start failed
0:00:00.252305655  6947 0x559d5b7b3870 ERROR                    DSL src/DslNodetr.h:956:SetState:  : FAILURE occured waiting for state to change to 'PAUSED' for GstNotetr 'pipeline'
0:00:00.252318671  6947 0x559d5b7b3870 ERROR                    DSL src/DslPipelineBintr.cpp:323:Play:  : Failed to Pause non-live soures before playing Pipeline 'pipeline'
0:00:00.252350214  6947 0x559d5b7b3870 INFO                     DSL src/DslServices.cpp:251:ReturnValueToString:  : Result = 524301 = DSL_RESULT_PIPELINE_FAILED_TO_PLAY
DSL_RESULT_PIPELINE_FAILED_TO_PLAY
0:00:00.252741515  6947 0x559d5b7b3870 WARN                     DSL src/DslPipelineBintr.cpp:472:HandleStop:  : Pipeline 'pipeline' failed to receive final EOS message on dsl_pipeline_stop
0:00:00.252748076  6947 0x559d5b7b3870 INFO                     DSL src/DslNodetr.h:924:SetState:  : Changing state to 'NULL' for GstNotetr 'pipeline'
0:00:00.252774032  6947 0x559d5b7b3870 INFO                     DSL src/DslNodetr.h:932:SetState:  : State change completed synchronously for GstNotetr'pipeline'
0:00:00.252816265  6947 0x559d5b7b3870 INFO                     DSL src/DslPipelineSourcesBintr.cpp:320:UnlinkAll:  : Unlinking sources-bin-nvstreammux from file-source-1
0:00:00.305335268  6947 0x559d5b7b3870 INFO                     DSL src/DslNodetr.h:636:UnlinkFromSinkMuxer:  : GstNotetr 'file-source-1' changed state to NULL successfully
0:00:00.305402846  6947 0x559d5b7b3870 INFO                     DSL src/DslNodetr.h:667:UnlinkFromSinkMuxer:  : Unlinking and releasing requested sink pad '0x559d5c047770' for GstNotetr 'file-source-1'
0:00:00.308432435  6947 0x559d5b7b3870 INFO                     DSL src/DslPipelineSourcesBintr.cpp:320:UnlinkAll:  : Unlinking sources-bin-nvstreammux from file-source-2
0:00:00.313698365  6947 0x559d5b7b3870 INFO                     DSL src/DslNodetr.h:636:UnlinkFromSinkMuxer:  : GstNotetr 'file-source-2' changed state to NULL successfully
0:00:00.313749901  6947 0x559d5b7b3870 INFO                     DSL src/DslNodetr.h:667:UnlinkFromSinkMuxer:  : Unlinking and releasing requested sink pad '0x559d5c0479c0' for GstNotetr 'file-source-2'
0:00:00.345957486  6947 0x7fe3e4060360 ERROR          v4l2allocator gstv4l2allocator.c:1389:gst_v4l2_allocator_qbuf:<nvv4l2decoder2:pool:src:allocator> failed queueing buffer 4: Bad file descriptor
0:00:00.345980403  6947 0x7fe3e4060360 ERROR         v4l2bufferpool gstv4l2bufferpool.c:1424:gst_v4l2_buffer_pool_qbuf:<nvv4l2decoder2:pool:src> could not queue a buffer 4

The Dockerfile I used is below
FROM nvcr.io/nvidia/deepstream:6.2-devel

ENV DEBIAN_FRONTEND=noninteractive
ENV LANG C.UTF-8
ENV PATH="/usr/local/cuda/bin:${PATH}"
ENV LD_LIBRARY_PATH="/opt/nvidia/deepstream/deepstream/lib:/usr/local/cuda/lib64:${LD_LIBRARY_PATH}"

# public gpg key error issue
# https://github.com/NVIDIA/nvidia-docker/issues/1631#issuecomment-1112682423

# RUN apt-key del 7fa2af80

RUN apt-get update && apt-get remove --autoremove -y \
    libgstreamer1.0*

RUN	apt-get update && \
    apt-get install -y \
    libopencv-dev \
    software-properties-common \
    libgstrtspserver-1.0-dev \
    gstreamer1.0-rtsp \
    gstreamer1.0-tools \
    libapr1 \
    libapr1-dev \
    libaprutil1 \
    libaprutil1-dev \
    libgeos-dev \
    libcurl4-openssl-dev \
    libjson-glib-1.0-0 \
    libsoup-gnome2.4-dev \
    libgstreamer-plugins* \
    gstreamer1.0-plugins-base \
    gstreamer1.0-plugins-good \
    gstreamer1.0-plugins-bad \
    gstreamer1.0-plugins-ugly

# Install gst-interpipe
WORKDIR /tmp

RUN apt-get install -y \
    libgstreamer1.0-dev \
    libgstreamer-plugins-base1.0-dev \
    gtk-doc-tools

RUN git clone --recursive https://github.com/RidgeRun/gst-interpipe.git

WORKDIR gst-interpipe

RUN ./autogen.sh --libdir /usr/lib/x86_64-linux-gnu/ && \
    make -j16 && \
    make check && \
    make install

# Install gst-interpipe
RUN apt-get install -y

COPY nvdspreprocess_solve_interval.patch /
RUN patch -p0 /opt/nvidia/deepstream/deepstream/sources/gst-plugins/gst-nvinfer/gstnvinfer.cpp < /nvdspreprocess_solve_interval.patch

WORKDIR /opt/nvidia/deepstream/deepstream/sources/gst-plugins/gst-nvinfer

RUN CUDA_VER=11.8 make -j4
RUN CUDA_VER=11.8 make install

WORKDIR /workspace

# RUN gst-inspect-1.0 interpipe

# RUN ldconfig

RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1

RUN python -m pip install --upgrade pip
RUN python -m pip install numpy opencv-python

WORKDIR /opt

ARG version=1.1.6
ENV URL="https://github.com/NVIDIA-AI-IOT/deepstream_python_apps/releases/download/v$version/pyds-$version-py3-none-linux_x86_64.whl"

RUN apt-get update && apt-get install -y wget python3.8-dev

RUN wget $URL \
    && pip install pyds-$version-py3-none-linux_x86_64.whl

# Install User package
RUN apt-get update && \
    apt-get install -y \
    vim \
    silversearcher-ag

@youngjae-avikus I'm able to run your example on a Jetson platform... I have not had a chance to try on dGPU yet
Your issue seems very similar to another user's issue, which we logged on NVIDIA's forum here. https://forums.developer.nvidia.com/t/errors-when-using-more-than-3-nvv4l2h265enc-plugins/256281/6
The solution was to reinstall the latest driver.

@youngjae-avikus I'm able to run your example on a Jetson platform... I have not had a chance to try on dGPU yet
Your issue seems very similar to another user's issue, which we logged on NVIDIA's forum here. https://forums.developer.nvidia.com/t/errors-when-using-more-than-3-nvv4l2h265enc-plugins/256281/6
The solution was to reinstall the latest driver.

By driver, do you mean Nvidia driver?
My driver version is 12.0 (525.125.06)
Can you tell me which link is in the issue for the user you mentioned?

I changed the driver version to 12.2 and it works fine.


[website] Iteration on the pricing page

[x] I have followed (at least) the PR section of the contributing guide.
Adding a Buy now button to the Early Bird box.
Adding a *Early bird special disclaimer to the $186 price on the Pro plan.

Deploy preview →

Should we hyperlink "Early-bird special" to the box below?
Would the button work better to the right of the text (right side of the box).
I wonder if the disclaimer should go above the "capped at 10 devs", so that it follows the same order as $186
*/ developer.

Should we hyperlink "Early-bird special" to the box below?
I wonder if the disclaimer should go above the "capped at 10 devs", so that it follows the same order as $186
*/ developer.

Done!

Would the button work better to the right of the text (right side of the box).

Here's an iteration:

Right
Left bottom

Although it's a bit bothering the empty space on the right, I feel like it is better on the left bottom than on the right. And on desktop view, it gets below the Premium plan, which can be confusing?!

it gets below the Premium plan, which can be confusing?!

I don't think so. It's very clearly contained within the blue box...

Kept the button on the right then. It seems good to go. Merging it now! Any other feedback we tackle on further PRs.


Appreciated!


TROPS_TAGS should be listed on env show

[trops]blue# trops env show
ENV
  TROPS_DIR = /opt/shared/trops
  TROPS_ENV = blue
  TROPS_SID = 04fc9fc
-->  TROPS_TAGS = #7
Git
  git-dir = $TROPS_DIR/repo/blue.git
  work-tree = /

It's been solved during the clean up.


PoC: build terminal components with HTML+CSS?

Well… My ideas go beyond anything right now 😄
try to reuse as much functionallity as possible from phoenix live view
defmodule MyCLI do
  use Nexus.Component

  attr :cols, :integer, required: true

  slot :inner_block, required: true

  def box(assigns) do
    ~H”””
    <div style=“width: #{@cols}px”>
      <%= render_slot(@inner_block) %>
    </div>
    ””"
  end
end

ok, better proposal: we don't need to handle HTML

we can leverage the live view HTMLEngine implementation and build a DSL based into the owl package, that way we will have something live that:
defmodule MyCLI do
  use Nexus.TUI

  def mount(ctx) do
    {:ok, ctx}
  end

  @impl true
  def render(assigns) do
    ~T"""
    <.box rows="10" cols="20" phx-click="react">
      <!-- ... -->
    </.box>
    """
  end

  @impl true
  def handle_event("react", _args, ctx) do
    {:noreply, ctx}
  end
end


Fix #55 by supporting @NullUnmarked

This PR is built upon GH-68. GH-68 is landed.
This PR resolves #55 by adding a configuration mode which if activated, all remaining errors will be resolved with following the rules below:

Enclosing method of triggered errors will be marked as @NullUnmarked.
Uninitialized fields (inline or in constructor) will be annotated as @SuppressWarnings("NullAway.Init").
Explicit @Nullable assignments to fields will be annotated as @SuppressWarnings("NullAway").

With this PR, the target module will enroll into NullAway with no triggered errors.
To enable this mode, cli flag below must be passed to Annotator:
-fr or --force-resolve [followed by the "@NullUnmarked" fully qualified name]

@lazaroclapp Thank you for the review, this is ready for another review.

@lazaroclapp Thanks for the review, this is ready for another review.

@lazaroclapp Thank you for the review, will land it once the CI pass.