Why do the KeyVault client methods throw exceptions for normal operations?

Exceptions are a relatively slow operation in a scalable web application and should only be used for "exceptional" situations that warrant the desire for a call-stack and propagation etc. and I don't consider that calling GetSecretAsync for a missing secret is exceptional in some cases.
I can't find this asked before but why do things like NotFound throw exceptions rather than returning an error code or similar, which would be much more efficient?
If this was a feature request, I would be asking to only use exceptions for real problems like authentication and not for things like missing secrets (in my case I merely want to get a secret for a specific domain if it exists, otherwise to continue) but since this would be asking a lot, is there another way to avoid the exception being thrown?
Setup (please complete the following information if applicable):

Windows 10 (dotnet core app running on Linux)
Client version 3.0.4

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[*] Query Added
[*] Setup information Added

Thank you for your feedback. Is there any reason this should be any different than, say, opening a file that doesn't exist? We try to provide a consistent experience not only across Key Vault libraries (especially the newer libraries we just released a few weeks ago, i.e. for Key Vault are Azure.Security.KeyVault.*, version <IP_ADDRESS>), but also for the frameworks they target, like .NET in this case.
Another reason for this behavior is because the server returns an error with more information. We throw for any server errors, which, for example, could occur if you listed secrets then tried to get them while one of them was deleted (race condition). It could also be an authentication issue (e.g. HTTP 403), server issue (e.g. HTTP 500), etc. While we could certainly parse out the "NotFound" error in this particular case, it would be a breaking change to return a type that contains either an error; or secret, key, or certificate. An exception ensures that even if developers don't handle it closer to the call, diagnostic information is still available.
Could you reduce the frequency of exceptions by getting and caching secret names periodically? If it's difficult to avoid, we could consider additional methods that behave differently, but we'd want to better understand the scenarios in which this is a major performance issue.

Hi @heaths Thanks for the reply.
I think the comparison is not quite correct between files and secrets. Calling Open on something shows an intention which assumes the file is there. Also, File.Exists() is available so there is a workaround there anyway. Getting an object from the key store is more like getting it from a remote source and I don't think indicates an expectation that the object exists. Unfortunately, a workaround like "Exists" is also not desirable for network-bound operations since it would often involve two network calls.
I appreciate that special handling for 404 is smelly but it would be possibly to add another method like TryGetSecret (is that less smelly?).
In my specific case, I don't think the frequency of calls would make the exception handling unbearable, just a little nasty, and that is what I have gone with for now, I have tried to lazy load the secret and store the result but since I am using DI, I don't always have the ability to hold onto the secret for as long as I would like. Of course, the other issue is about handling updated secrets which would preclude holding them for too long.
Thanks for the explanation though.

A TryGetSecret (and for keys, certificates) is a good idea. We will discuss.

What is currently the impact to your application? While throwing may not be the best course of action in all cases, we are consistent throughout the newer libraries and we'd have to throw a lot of exceptions to make a significant impact to performance. We can prioritize this accordingly.

It is not a significant impact for us currently since we are using it for an email service. The service attempts to lookup a DKIM private key for the domain, which might or might not be present to sign the message. This is only done once per batch so possibly a few times per minute. The exception won't bring the system down, it would just be nice to have an option of a no-exception method.
I could store the presence of the key in a database to know whether to look it up but we don't currently store domain info in the email microservice.

Thank you again for suggesting this. After discussing internally with the other Key Vault library languages and performance experts, we will add this to the backlog but see no practical reason to add more methods to the clients at this time. While throwing and catching exceptions does reduce the operations/second, it wasn't a significant amount compared to the current rate limit enforced by Azure Key Vault. We also expect that the normal use case is to request keys/secrets/certificates you know exist, or to enumerate them and retrieve full information shortly after which should significantly reduce 404s.
Should we see feedback about significant application performance degradation, we will revisit this matter and consider possibilities such as TryGet-style methods, at least for 404s.
However, given our findings from investigating this issue, we will seriously consider this for other services that have a much higher or no rate limit where rapid 404s could result in serious degradation.

We have internal conversations about changes to make going forward, but given the low rate limit for Key Vault we believe the performance impact is negligible in this particular case.


Template Versioning

The purpose of this PR is to overhaul some of how templates work, allowing them to be versioned as well as maintain information about their supported system.

[X] Add version information to schema
[ ] Add version numbers to all templates, following SemVer standards.

[ ] alienrpg
[ ] blade-runner
[ ] coriolis
[ ] cyberpunk-red
[ ] dnd5e
[ ] dragonbane
[ ] fallout
[ ] pf1
[ ] star-trek-adventures
[ ] starfinder
[ ] swade
[ ] thewalkingdead
[ ] vaesen
[ ] vtm5e

[ ] Add minimum required system version to all templates, verified by the module.

[ ] alienrpg
[ ] blade-runner
[ ] coriolis
[ ] cyberpunk-red
[ ] dnd5e
[ ] dragonbane
[ ] fallout
[ ] pf1
[ ] star-trek-adventures
[ ] starfinder
[ ] swade
[ ] thewalkingdead
[ ] vaesen
[ ] vtm5e

[x] Alerts when a template you're using is updated, if it exists in the repository.
[ ] Enhanced user & no-template onboarding

Fixes #46


Log In Rate Limit on Backend Server

After running the login backend test continuously 10+ times, the two tests in the screenshot failed because they're expecting a 429 status error (too many requests) instead of a 401 status error (unauthorized). The message we expect the server to return is 401 unauthorized user. Apparently, the 429 error appears due to rate limits being set to protect the server from intentional abuse. X-RateLimit-* headers can be set with information about the limits.
Firstly, is it OK to set a rate limit? If so, how can we set this and what limits can we use?
https://blog.bearer.sh/error-429-too-many-requests-what-to-do-when-youve-been-rate-limited/

@galeza FYI

here is the rate-limit definition on Auth0 page, add @mannykary to double confirm
https://auth0.com/docs/policies/rate-limit-policy/management-api-endpoint-rate-limits

I think this is working as intended. Auth0 rate limits and sends back a 429 error code if there are too many requests, and we check for that status code and relay it back to the frontend. This change was made as part of issue #1287, and was fixed in PR #1318.
For mocha tests, I think we should mock Auth0. I believe @joshmorel was starting to work on this in #1495.

Haha yes @mannykary. Maybe this week I hope.
@jessica-lau after a given email & IP is blocked it needs to be manually unblocked.
Now when we do implement the Auth0 mock, this test below will fail unless we implement the same kind of rate limiting in front of Auth0 or alternate auth provider. I don't think we should fully duplicate their service but I wonder should we have some sort of rate limiting for our API in general? Thoughts @mannykary? Through AWS, do we have measures to protect against DDoS? And are there other API abuse we should be considered about?
    describe('429 - maximum sign in attempts', function () {

        it('Too Many Requests error - when maximum sign in attempts are exceeded', async function () {
            let response ;
            for (var i = 0; i < 11; i++) {
                response = await apiHelper.sendPOSTRequest(APP_URL, apiEndPoint, userCredentialsWithRandomEmail);
        };
            validator.validateStatusCodeErrorAndMessage(response, httpStatus.TOO_MANY_REQUESTS, 'Too Many Requests', 'Maximum number of sign in attempts exceeded.');
        });
    });

If we implement rate limiting in the mock, and use the mock in the mocha test, wouldn't the mocha test just be testing the mock? I'm not really seeing the point of the test.
We created issues #997 (short term NGINX implementation) and #1211 (long term AWS implementation). @git-satya started working on #997 but then realized that we don't really have a good baseline or a good idea of what "normal" is.

@mannykary (cc @jessica-lau) I have no plan to implement rate limiting in the mock.
To be honest, I don't think it makes sense to have automated tests for any of the /api/auth/ endpoints because:

Now we are relying on an external service
When the mock is done it will be just a mock

The Cypress e2e tests make sense for our React code.
Unit tests might also make sense when we decouple some logic from Auth0 (first for the mock, later for silkey), however.
Was there any more plans related to mocha/ @jessica-lau tests? Because, it's more things like /api/posts that make sense to test first. Later once we have auth mocked, /api/users & /api/organisations

Hi @joshmorel
We were thinking about testing/verifying error messages when incorrect data is provided with /api/auth/.

Hi @joshmorel
We were thinking about testing/verifying error messages when incorrect data is provided with /api/auth/.

In this case, we do need develop an interface that all the auth providers (mock, Silkey, Auth0) must implement, otherwise you'd just be testing the mock (not very helpful...).
But in such a case unit tests would be equally effective as integration tests. In any case when I get a PR we can review & discuss.
I would wait on doing any more work with mocha for /api/auth. Maybe /api/posts would be a better focus?

@joshmorel
Ok, we will focus on /api/posts.

Okay, thanks @joshmorel


NoSuchMethod on null divergence

KBC-INT-ReleaseX64 - AOT-O3-ReleaseX64: !DIVERGENCE! 1.13:458957384 (output=true)
due to throw/non-throw difference:
< throws
8c7
< 0.33994272961723915
---
> 0.5339807910033899

This can be reproduced as a simple JIT vs AOT difference:
throws NoSuchMethodError: The method 'toDouble' was called on null.
Receiver: null
Tried calling: toDouble() #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:50:5)
#1      atan2 (dart:math-patch/math_patch.dart:130:54)
#2      foo2 (file:///usr/local/google/home/ajcbik/Repo/DART/fuzz.dart:49:55)
#3      X0.run (file:///usr/local/google/home/ajcbik/Repo/DART/fuzz.dart:193:13)
#4      main (file:///usr/local/google/home/ajcbik/Repo/DART/fuzz.dart:199:14)
#5      _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:305:19)
#6      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)

The AOT run does not throw on b == null in the following
@pragma("vm:exact-result-type", "dart:core#_Double")
double atan2(num a, num b) => _atan2(a.toDouble(), b.toDouble());

@feli-citas

The exact conditions must be just right, but here is a small reproducer we can use as regression test.
import "package:expect/expect.dart";

import 'dart:math';

String var0 = '5Zso';

double foo2(String par1) {
  return atan2(0.16964141699241508, num.tryParse('\u2665vDil'));
}

class X0  {
  void run() {
    foo2(var0);
  }
}

main() {
  bool x = false;
  try {
    new X0().run();
  } catch (exception, stackTrace) {
    x = true;
  }
  Expect.isTrue(x);
}

The expected flow of speculative inlining tan2 is that
  8:     v21 <- Unbox:12(v12) T{_Double}
 10:     v18 <- InvokeMathCFunction:12(MathAtan2, v21, v21) T{_Double}

will trigger a re-compilation, suppressing inlining of deopt_id:12. However, in the failing case we get the following intrinsic graph the following, where v3 is incorrectly assumed non-null.
B1 pre#=1 post#=0
doms(#0)=
succ=
preds=B0,
B1[function entry]:24 {
      v0 <- Parameter(1) T{num?}
      v3 <- Parameter(0) T{_Double}
} specu repr=tagged
    v1 <- Unbox(v0) env specu can-deopt repr=double #uses=1 #env-uses=0
    v4 <- Unbox(v3) specu repr=double #uses=1 #env-uses=0
    v6 <- InvokeMathCFunction(MathAtan2, v1, v4) specu repr=double #uses=1 #env-uses=0
    v8 <- Box(v6) specu repr=tagged #uses=1 #env-uses=0
    Return:26(v8) specu repr=tagged

@mraleph or @alexmarkov, can you give a few pointers on where GraphIntrinsify() gets the types for the incoming parameters?

@alexmarkov pointed out, correctly, that the parameters are shown in reverse order. So the type of the second is correctly nullable. My mistake. Back to debugging.

It looks like the reversal happens in
static bool BuildInvokeMathCFunction(BlockBuilder* builder,
                                     MethodRecognizer::Kind kind,
                                     intptr_t num_parameters = 1) {
....
 for (intptr_t i = 0; i < num_parameters; i++) {
    const intptr_t parameter_index = (num_parameters - i - 1);
    Definition* value =
        builder->AddParameter(parameter_index, /*with_frame=*/false);
   ....
}

The only two intrinsics that pass more than one parameter are MathAtan2 and DoubleMod. So it seems the parameter_index calculation is just wrong and we never noticed (which is likely, since most of the time we inline the recognized method much earlier for non-null parameters).

I prototyped storing index() and nindex() (not-adjusted index ;-)) for "frameless" parameters. When nindex() is queried during type propagation to get to the local name, and everything else is left "as is", everything works fine!!
B1[function entry]:24 {
      v0 <- Parameter(1) T{_Double} // now correctly identified as "a", with double type
      v3 <- Parameter(0) T{num?}    // now correctly identified as "b", with nullable type
} specu repr=tagged
    v1 <- Unbox(v0) specu repr=double #uses=1 #env-uses=0
    v4 <- Unbox(v3) env specu can-deopt repr=double #uses=1 #env-uses=0
    v6 <- InvokeMathCFunction(MathAtan2, v1, v4) specu repr=double #uses=1 #env-uses=0
    v8 <- Box(v6) specu repr=tagged #uses=1 #env-uses=0
    Return:26(v8) specu repr=tagged

@mraleph or @alexmarkov or @mkustermann, any better way of fixing this?

Almost all uses of ParameterInstr::index() do not account for reverse indices in ParameterInstr with base_reg() == SPREG:
https://github.com/dart-lang/sdk/blob/75f6822c704045aaaa47a84d0711324a05a44ce3/runtime/vm/compiler/backend/flow_graph.cc#L310
https://github.com/dart-lang/sdk/blob/75f6822c704045aaaa47a84d0711324a05a44ce3/runtime/vm/compiler/backend/flow_graph.cc#L346
https://github.com/dart-lang/sdk/blob/75f6822c704045aaaa47a84d0711324a05a44ce3/runtime/vm/compiler/backend/type_propagator.cc#L1018-L1020
https://github.com/dart-lang/sdk/blob/75f6822c704045aaaa47a84d0711324a05a44ce3/runtime/vm/compiler/backend/type_propagator.cc#L1074-L1075
It looks like only register allocator accounts for that:
https://github.com/dart-lang/sdk/blob/75f6822c704045aaaa47a84d0711324a05a44ce3/runtime/vm/compiler/backend/linearscan.cc#L737-L741
I think ParameterInstr::index() should always return non-adjusted index of a parameter in order to avoid confusion. We can reverse index in register allocator, or introduce a new method in ParameterInstr such as offset_in_words() to return offset relative to base_reg().

Thanks for your input @alexmarkov. I will make that so.

Note that the pending fix (https://dart-review.googlesource.com/c/sdk/+/109550) has the advantage that parameters appear in the intuitive order again and with the intuitive index (with the sp_index just a mere code generation issue, although we could display this in il_printer.cc too if needed).
B0[graph]:22
B1[function entry]:24 {
      v0 <- Parameter(0) T{_Double}   // a
      v3 <- Parameter(1) T{num?}        // b
}
    v1 <- Unbox(v0)
    v4 <- Unbox(v3)
    v6 <- InvokeMathCFunction(MathAtan2, v1, v4)
    v8 <- Box(v6)
    Return:26(v8)


Typo on https://learn.microsoft.com/en-us/azure/cognitive-services/authentication?tabs=powershell

Under "Security features" > "Authentication options", in the second paragraph, in the second sentence, "The most secure authentication method is to use manged roles in Azure Active Directory." should probably be "The most secure authentication method is to use managed roles in Azure Active Directory.".

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

ID: 6eb5901a-a718-4af9-cfbf-87fd338dd3fa
Version Independent ID: 25b6d05f-629b-7d5a-3d89-14c4ceeccd1e
Content: Azure Cognitive Services security - Azure Cognitive Services
Content Source: articles/cognitive-services/security-features.md
Service: cognitive-services
GitHub Login: @PatrickFarley
Microsoft Alias: pafarley

@DonalLOConnor
Thanks for your feedback! We will investigate and update as appropriate.

@DonalLOConnor
Thanks for reporting this! We have created a PR for this issue and the changes should go live soon.


SetBlocking(bool) argument is not used

func (c *Client) SetBlocking(blocking bool) {
	c.blocking = true
}

https://github.com/cenkalti/rpc2/blob/master/client.go#L55-L57

@ghostiam thanks for reporting. Can you send a PR to fix?

@cenkalti ok.
I also found the following errors:
client.go:207:4: SA4006: this value of `err` is never used (staticcheck)
                        err = errors.New("reading error body: " + err.Error())
                        ^
client.go:216:4: SA4006: this value of `err` is never used (staticcheck)
                        err = errors.New("reading error body: " + err.Error())


[Dropdown] Dropdown should keep it's direction on opening a submenu

Steps
Scroll to a Dropdown with a submenu on the official Semantic UI webpage. Make sure the dropdown button is close enough to the bottom of the screen that the dropdown items opens upwards. Hover the submenu.
Expected Result
The dropdown items menu stays pointing upwards on hovering the submenu.
Actual Result
The dropdown items menu point's downwards on hovering the submenu.
Version
2.4.2
Testcase

https://semantic-ui.com/modules/dropdown.html

Fixed. See http://jsfiddle.net/47wtpcy8/2/


Dedicated page to show all submitted expenses

Describe the bug
From my user menu, it's very easy to find information about my contributions, and see past transactions such as paid expenses.
However, I can't find a way to see my pending expenses from the user menu (TopBarProfileMenu, I guess?):

As far as I'm aware, in order to see my pending expenses I have to navigate to the collective's page, and hunt for it there:

Aha! ☝ here, down the bottom: 'View all expenses!'
Expected behavior
If I want to check on the status of an expense that I've submitted, I expect to be able to navigate to all of the important details about my own activity from the user menu, rather than needing to find that information on the collective's page.

Thanks @cameralibre !
I think we should include pending expenses on the user profile expenses section, at least. Right now it only seems to show paid expenses, but users often are looking for pending expenses  when they need to check the status or follow something up.

I think we should include pending expenses on the user profile expenses section, at least. Right now it only seems to show paid expenses, but users often are looking for pending expenses when they need to check the status or follow something up.

We used to do that in the previous version of this section. It was a bit hacky on the engineering side (because this section show transactions and pending expenses don't have any transaction yet), but I agree that you would expect to find them there.
But having a page to show the expenses submitted by a profile would be useful too. For users to find their expenses easily, for support to investigate quickly (ie. for spam expenses) and also for https://github.com/opencollective/opencollective/issues/3686.
A simple way to achieve that would be to add submitted (not only received) expenses to the expenses page (ie. https://opencollective.com/babel/expenses), to enable this page for users & to link it from the profile/menu.

Seeing submitted Expenses is generally a good idea for all kind of profiles. It will be even more important as we move more operations to an Expense based mechanism (think Monthly Host Settlement, Contribution Across Hosts).

I would like to see this project considered for prioritization next sprint (Q4S1).

[ ] discussion on approach w/design
[ ] decide on approach and MVP (and document here)

notes in full here (inc. recording) https://gist.github.com/BenJam/c5e167235dc35098328ff3cc2342c71f
next steps

[ ] attempt to hack the collective budget section into user profiles
[ ] add the expenses page to user profiles and add expenses submitted to this page

no design needs immediately, but we'll need a review with respect to a control to filter expenses to show submitted/received/both.

Some additional notes that we took as part of an engineering discussion with @kewitz
User profile pages

The collective Budget section can work (it adapts itself if there's missing data) but we'll need to remove the statistics on the right column. We'll need to confirm that with a POC.

/expenses page for User profiles

Remove the right panel
Take full width
No need for a special filter: only show submitted

Expenses page on other profiles
Other profiles are more tricky because expenses can go in two directions.

Maybe don't mix both types as it would be confusing
We need the "revert view" for items:

Use FromCollective's avatar
Adapt wording

While implementing this, make sure we have a coherent solution for host users.

[ ] MVP for this week

Docs issue - https://github.com/opencollective/opencollective/issues/6143
Release issue - https://github.com/opencollective/opencollective/issues/6144

Feedback from today's demo:

[ ] Update design when user submitted on behalf
[ ] Ideally we should have the "double avatar" thing to clearly surface both the author and the payee
[ ] Include drafts by default
[ ] In the user menu, say "Manage expenses" instead of "Submitted Expenses" (to match "Manage Contributions")

Feedback on @aminakazi's demo:

There's still an ongoing conversations about the wording (submitted/received)
We should show the filters for all accounts, with an empty view in case nothing has been submitted in the past
We're opening a discussion around https://github.com/opencollective/opencollective/issues/6190

This week:

[ ] Implement the latest design

document follow up tasks
close this out and :tada:

This issue is now considered resolved. We're gonna come up with some proper documentation, but in a nutshell here are the 3 things that are changing on the platform:
To view your submitted expenses

Open your user menu by clicking on your avatar
Click on Manage Expenses

To view expenses submitted by another user

Go to the user profile
In the menu, hover Budget then click on Submitted Expenses

To view expenses payable to an account

Open the account page
Go to their Expenses page (Budget > Expenses)
Click on Submitted

As followups for this project, we have:

https://github.com/opencollective/opencollective/issues/6130: we want to iterate with some proper design before releasing something there.
https://github.com/opencollective/opencollective/issues/6216: Not really complex so we may fit it before the end of the sprint, but we want to make sure we don't degrade the performances while implementing it.

Can we make it so that this is shown by default on users profiles?

Can we make it so that this is shown by default on users profiles?

The Submitted Expenses link is already shown by default on user profiles ; unless you're referring to something else?

@shannondwray I see: if they've disabled their budget section in the settings, then the link won't ever appear. I'm not sure what's the best way to solve this until we have https://github.com/opencollective/opencollective/issues/6110. As a temporary improvement, I'm tempted to force the link in case the user viewing the page is a root admin but that won't solve everything.
As a temporary hack, you can add /submitted-expenses at the end of the URL: https://opencollective.com/chloris-d-smith/submitted-expenses.

Opened a feedback issue and moved this comment there: https://github.com/opencollective/opencollective/issues/6221


Not all tests in ReentranceTest succeed!

This library should follow all behavior of Flow, but it fails on some ReentranceTest tests.
This must be fixed.

Now they do


Installation problem / Exception in browser when you go to http://localhost:8000/

@guillaumebriday as you know by now I haven't been able to get the installation to work.
Not sure if this is related to the issue I am seeing here:
https://github.com/guillaumebriday/todolist-frontend-nuxt/issues/7
But when I go to http://localhost:8000/
I see an exception and call stack in the browser (see below). I would imagine that something is wrong on the server-side (laravel) also, besides the front-end bug on the client-side (which I have linked above).
What am I doing wrong? These are the exact installation steps I went through;
$ git clone https://github.com/guillaumebriday/todolist-backend-laravel.git
$ cd todolist-backend-laravel
$ cp .env.example .env
$ composer install
$ php artisan key:generate
$ php artisan jwt:secret
IMPORTANT: Before running migrate, make sure .env file is updated with:
DB_HOST=<IP_ADDRESS>
$ php artisan migrate --seed

Call stack that shows up in the browser:
{
    "message": "",
    "exception": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
    "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Routing/RouteCollection.php",
    "line": 179,
    "trace": [
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 634,
            "function": "match",
            "class": "Illuminate\\Routing\\RouteCollection",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 623,
            "function": "findRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 612,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 176,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php",
            "line": 30,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/app/Http/Middleware/ForceJson.php",
            "line": 17,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 163,
            "function": "handle",
            "class": "App\\Http\\Middleware\\ForceJson",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php",
            "line": 53,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/spatie/laravel-cors/src/Cors.php",
            "line": 28,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 163,
            "function": "handle",
            "class": "Spatie\\Cors\\Cors",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php",
            "line": 53,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/fideloper/proxy/src/TrustProxies.php",
            "line": 57,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 163,
            "function": "handle",
            "class": "Fideloper\\Proxy\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php",
            "line": 53,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 163,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php",
            "line": 53,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 163,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php",
            "line": 53,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 163,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php",
            "line": 53,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php",
            "line": 62,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 163,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php",
            "line": 53,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 104,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 151,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 116,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/public/index.php",
            "line": 55,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/kunalpunjabi/Code/LARAVEL_WORKING_CODE/NUXT/todolist/todolist-backend-laravel/server.php",
            "line": 21,
            "function": "require_once"
        }
    ]
}

Note:
The error doesn't go away even after I add a routes/web.php file with these contents:
<?php

Route::get('/', function () {
    return 'hi';
});

Please read the README and this exception.

The purpose of this repository is to provide API with Laravel 5.8 and connecting JavaScript front-end frameworks like Vue.js 2 or other clients to them.

There is no reason to have a web.php or the access this project in a browser.
There is no error, / just does not exist at all for purpose.
You need to use a Client to access this API.

I already told you here by the way : https://github.com/guillaumebriday/todolist-backend-laravel/issues/9#issuecomment-504622169

Thanks for the clarification. Everything works fine now after the front-end fix you did.


chore(deps): remove lodash.trim

Remove lodash.trimstart to remove the security issues related to the trim methods, see https://security.snyk.io/vuln/SNYK-JS-LODASH-1018905 .
Progresses #598

@Kreeg I also added early returns for undefined and null to match the original behaviour

Pls run npm run fix

Pls run npm run fix

👍 Linting fixed

@jimCresswell thanks!

@Kreeg would you mind dropping a comment in this thread when a new release goes out please?


update LICENSE - fix year

Closes #531

Hello @pushkyn,Thanks again for the PR! It's HACKTOBERFEST! We want to show our appreciation by sending                                              you some special Hacktoberfest swag. If you have not already, could you please fill out                                              this form so we can send it to you? Thanks!                                             Team SendGrid DX


Output toggle not visible in mobile view

It is kind of frustrating that we have to reach the end of code on input section to know that there is a toggle.
Can we either
make the toggle always visible
Or send a url ending with say show=ouput and it shows output than input.
I have been sending REPL and some dont know what I sent cos they can only see the code and not the ouput...
Here is a video of toggle not being visible.
https://user-images.githubusercontent.com/53307156/142931617-78baffd6-fce8-4334-8b52-bb4335cf0810.mp4

closing as dupe of #163


 and useParticipantInfo don't update when participant name changed

Describe the bug
When changing a user's name via localParticpant.setName(newName), the component's rendering the name in the participant tile don't seem to be updating. If the component is re-rendered by something else changing, the name does update.
Reproduction
function VideoCard() {
  const { name } = useParticipantInfo();

  return (
    <div>
      {/* other components to render video camera */}
      {name}
      {/* OR */}
      <ParticipantName />
    </div>
  );
}

function ParticipantTile({ id }: { id: string }) {
  const participant = useRemoteParticipant(id);
  if (!participant) {
    return null;
  }

  return (
    <ParticipantContext.Provider value={participant}>
      <VideoCard />
    </ParticipantContext.Provider>
  );
}

// Elsewhere
function Settings() {
  const { localParticipant } = useLocalParticipant();

  useCallback(
    (newName: string) => {
      localParticipant.setName(newName);
    },
    [localParticipant],
  );
}

Logs
No response
System Info
System:
    OS: Linux 5.15 Ubuntu 22.04.4 LTS 22.04.4 LTS (Jammy Jellyfish)
    CPU: (16) x64 Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz
    Memory: 11.73 GB / 15.53 GB
    Container: Yes
    Shell: 5.1.16 - /bin/bash
  Binaries:
    Node: 21.4.0 - ~/.nvm/versions/node/v21.4.0/bin/node
    Yarn: 1.22.19 - /mnt/c/Program Files (x86)/Yarn/bin/yarn
    npm: 10.2.4 - ~/.nvm/versions/node/v21.4.0/bin/npm
  npmPackages:
    livekit-client: ^2.0.5 => 2.0.10

Severity
annoyance
Additional Information
I believe this is because in the participantInfoObserver internal function, it is not subscribing to the event ParticipantEvent.ParticipantNameChanged.
I'd be happy to raise this as a PR if that sounds like the right solution

what permissions does the local participant have? do you set canUpdateOwnMetadata: true ? That would be required


fix(Banner): update alignment of actions when Banner is dismissible

Closes https://github.com/github/primer/issues/3957

Changelog

New

Changed

Update styling for Banner to work when the banner is dismissible, has a hidden title, and actions

Removed

Rollout strategy

[x] Patch release

Testing & Reviewing

[ ] Verify that the changes here address the issue above
[ ] Verify that no regressions occur in layout 😅

Note: just realized with the snapshots that the buttons are not in the right order, looking at this now 👀


findFriends by phone number.

Everytime i try findFriends by phone number and dump the variable it has nothing. Even when testing with phone numbers i know work.
Anyone have any success with this?

The endpoint appears to have changed:
The [current endpoint] (https://feelinsonice-hrd.appspot.com/bq/find_friend) which is what is being hit in PHP-SNAPCHAT returns 404, rather than what one might expect which is a bad request, like this one. As such, for this to work again, the new endpoint must be found.

Tada : https://github.com/JorgenPhi/php-snapchat/wiki/API-v2-Research#phfind_friends


Adding The Cathedral School for school licenses

Adding The Cathedral School to the school list for education licenses
Site can be found at: https://ecat.cathedral.qld.edu.au/

@Intergalactic-Carpet lib/domains/au/edu/qld/cathedral: this request has an incorrect file path format, please ensure that you are familiar with     this repository rules located at the bottom of this page and change     your request accordingly. If you don't know how to change request, close it and open a new one.     If you are not able to make the pull request according the instructions, please send us an email to<EMAIL_ADDRESS>Please mention this request URL in the message.

@philipto I've updated it with the correct file format

@Intergalactic-Carpet First stage of verification passed, official domain is facebook.com as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision. Proof of domain ownership: https://pt-br.facebook.com/TheCathedralSchoolPastStudentsAssociation/

@Intergalactic-Carpet Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Compile error with swift 4 and xcode 9.3

The code is not compiling after updating to xcode 9.4 and swift 4
There seem to be packages that are not in sync with these.
If any of you have been successful to compile with the above specs, please share the pod file.
thanks

Yes, I am facing same issue with Xcode 9.3. I think issue might be swift language version. it is working fine in Xcode 9.2.


Sprig AI: Implement UI features to support the AI implementation

As per the discussion, this is the UI/UX flow we will be implementing for Sprig AI: https://docs.google.com/document/d/1GEAomQEqY00lmk_QoGSQsCnNzxO9tTbgljC7UvfNm8I/edit

A. User clicks on Get solution. Another modal pops up. The entire background is disabled. They either have to accept changes or reject them before they continue.
B. User clicks on Get therapy. A sidebar opens. The sidebar is collapsible. It doesn’t block the main UI. The user can simultaneously chat and code.
[See UI specifications, and rough mock-ups in the document shared above]

@leomcelroy please share thoughts

Why are you leaning towards removing the user from the context of the editor (by popping up a full screen modal)?

This feature would likely be used interactively and will necessitate editing code/re-running the game frequently. It seems it would be reasonably placed in the help panel (which currently is sized unreasonably small #829).

It seems the first step in this project is demonstrating a performant result from an LLM. Do you have any examples of what sorts of questions one would ask and what answers you would receive.

Re: the results. If I recall correctly, we have a document with results and prompts for error cases that teens are facing while they're submitting the reports.
cc: @JosiasAurel

fwiw this does not contain the actual code/responses as they would be too long
Navigating prompts to help Sprig users resolve issues in their games..pdf

It seems the first step in this project is demonstrating a performant result from an LLM. Do you have any examples of what sorts of questions one would ask and what answers you would receive.

We already have preliminary results/expectations set re: quality after doing manual testing using multiple LLMs.  We are currently working on getting hard #'s based on "I'm Stuck" data re: quality.
@leomcelroy I would request that we keep discussion at this point limited to the desired UX / UI - approval or disapproval of the "what" and not the "how".

Place the chat in the panel where the help section is. Make sure that panel is resizable as described in #1363.

sounds good; starting implementation for both


Add support for labels in multiselects (options, associated to checkboxes  and select).

here is the sample
{
"schema":{
"properties":{
"property1":{
"items":{
"type":"string",
"enum":[
"value1",
"value2"
],
"options":{
"enum_titles":[
"Nice Label 1",
"Nice Label 2"
]
}
},
"uniqueItems":true,
"type":"array",
"format":"select"
},
"property2":{
"type":"string",
"enum":[
"value1",
"value2"
],
"options":{
"enum_titles":[
"Nice Label 1",
"Nice Label 2"
]
}
}
},
"type":"object"
}
};

Thanks for implementing this!  I added a couple comments.  If you update the pull request, I can merge it in to master.

When it's avaliable this feature?

enum_tiltes for multiselect works now on latest 0.7.28 release


sbt plugin

A user including this plugin should get code generated for each xyz-swagger.json file in src/main/openapi-v2.
Then the user would have to either bindClient or implement and bindService each Service generated.
Target language (scala/java) should be picked up from the available implementation).
See #11

Work started in #15.
TODO:

[ ] package and publish
[ ] review dependency of the plugin with lagom
[ ] prepare a sample app using the plugin


[Bug]: Bank Deposit posting inconsistency

Describe the issue
I encountered that in version BC24, an extra commit was added to BankDeposit posting codeunit which can lead to terrible consequences.
After this commit, any error results in a Bank Deposit remaining and a new created Posted Bank Deposit being saved!
https://github.com/microsoft/ALAppExtensions/blob/2b14106f65decf433e2f6c373895ce0db0a862b2/Apps/W1/BankDeposits/app/src/codeunits/BankDepositPost.Codeunit.al#L115
Just imagine, any business rule with error in BatchPost or etc and our Bank Deposit just broken.
https://github.com/microsoft/ALAppExtensions/blob/2b14106f65decf433e2f6c373895ce0db0a862b2/Apps/W1/BankDeposits/app/src/codeunits/BankDepositPost.Codeunit.al#L118
I am currently facing an error related to the Correction Gen. Journal Line. I'm not yet sure of the cause of the error itself. But I am definitely sure that this commit is very dangerous and it needs to be removed.
Expected behavior
Posting transaction must be consistent
Steps to reproduce
1.Create Bank Deposit
2.Add something which will throw business error after https://github.com/microsoft/ALAppExtensions/blob/2b14106f65decf433e2f6c373895ce0db0a862b2/Apps/W1/BankDeposits/app/src/codeunits/BankDepositPost.Codeunit.al#L115
and before
https://github.com/microsoft/ALAppExtensions/blob/2b14106f65decf433e2f6c373895ce0db0a862b2/Apps/W1/BankDeposits/app/src/codeunits/BankDepositPost.Codeunit.al#L134
3.As result you will have Posted and Unposted Bank Account!
Additional context
My current error which is just give the result from main description. I am not sure about this error and in process of investigation.
Correction must be the same on all lines for the same document in Gen. Journal Line Journal Template Name='BNKDEPOSIT',Journal Batch Name='BNKDEPOSIT',Line No.='20000'

"Gen. Jnl.-Post Batch"(CodeUnit 13).CheckCorrection line 15 - Base Application by Microsoft
"Gen. Jnl.-Post Batch"(CodeUnit 13).ProcessBalanceOfLines line 64 - Base Application by Microsoft
"Gen. Jnl.-Post Batch"(CodeUnit 13).ProcessLines line 59 - Base Application by Microsoft
"Gen. Jnl.-Post Batch"(CodeUnit 13).Code line 30 - Base Application by Microsoft
"Gen. Jnl.-Post Batch"(CodeUnit 13).OnRun(Trigger) line 9 - Base Application by Microsoft
"Bank Deposit-Post"(CodeUnit 1690).OnRun(Trigger) line 88 - _Exclude_Bank Deposits by Microsoft
"Bank Deposit-Post (Yes/No)"(CodeUnit 1692).OnRun(Trigger) line 7 - _Exclude_Bank Deposits by Microsoft

I will provide a fix for a bug

[X] I will provide a fix for a bug

I am sure this is huge problem.

Hi @Drakonian, that doesn't sound good. But did you register the issue the right place? If this indeed can have terrible consequences, shouldn't you rather log a support case? Also, this doesn't strike me as an extensibility issue for a 1st party app. If you'd like to address this issue, you should probably have logged it in the BaseApp contribution pilot. Let me know what you think!

Hi @JesperSchulz
This is the only place I found codeunit 1690 “Bank Deposit-Post.” where problem is located.
BaseApp repos doesn't contain these objects.
About the support ticket, I can't get it registered as this luxury is only for Microsoft Partner 😞

@JesperSchulz
I also found a simple way to cause an error that will result in Bank Deposit Inconsistency.
This error should probably be made into a separate issue. But I'll wait for your verdict on where to send it.

Ah, so this is actually due to an 1st party app - as you clearly describe in the issue description. Sorry, didn't pay close enough attention. I'd still suggest this is more of a support case, but if you cannot create one, this is the 2nd best option. Approved for PR. When you've created one, I'll make sure to backport to released versions.

@JesperSchulz it's already fixed in this PR https://github.com/microsoft/ALAppExtensions/pull/26546


added correct user to stop_sync drop of subscription

During testing of stop_sync I encountered the following error when it tries to drop the subscription:
PG::InsufficientPrivilege: ERROR: must be owner: pg_subscription_zdt_migration_test
I noticed that we specify the user to create the subscription but it was not assuming this user to drop it afterwards causing the above error.

nice! I wonder why didn't the specs catch this

will dig into that and see if I can figure it out.

ah! there it is :D (blast from the past)
https://github.com/shayonj/pg_easy_replicate/blob/975faae4aa763eb6e9abd0467b5d5ab0e0b223ff/spec/pg_easy_replicate/orchestrate_spec.rb#L747-L748


replace readme string concat with json marshal

Just took a look after being a long time user of oliver/elastic-go and noticed a quite jarring promotion of string concatenation in the example for indexing a document.
I don't think a database driver should be promoting usage of string concatenation. Someone is going to copy this into production and end up with an injection vulnerability or request smuggling issue.
https://github.com/elastic/go-elasticsearch#usage

Since this is a community submitted pull request, a Jenkins build has not been kicked off automatically. Can an Elastic organization member please verify the contents of this patch and then kick off a build manually?

signed the cla


Fix white space above Reset Grouping - Groupings - 892

[x] Basic visual inspection
Groupings - 892

In the same scss file, there are comments denoted with the double-slash "//" and was not flagged by codacy. Is this an issue that I should fix for all the scss files to use "/* */" for commenting or should I stick with the format that is already there?

Maybe related?:  https://github.com/stylelint/stylelint/issues/4877

In the same scss file, there are comments denoted with the double-slash "//" and was not flagged by codacy. Is this an issue that I should fix for all the scss files to use "/* */" for commenting or should I stick with the format that is already there?

I am not sure, maybe ask Michael? I imagine that fixing just this file should suffice.


Quat_LookAt() and Quat_FromAxisAngle().

Added Quat_LookAt() and Quat_FromAxisAngle().
Quat_LookAt(), given the source and target vector positions, will return a Quaternion rotation. This function uses Quat_FromAxisAngle() to calculate the rotations after obtaining the axis.
An easy way to obtain a rotation matrix is by using Mtx_FromQuat(&matrix, Quat_LookAt(source, target)).

Can you fix the conflicts? Otherwise I think it looks almost ready for merging, it only needs some testing.

Just saw a notification going off while I am outside. I will work on the conflicts later in the day once I get home.

See #26.


gasmodel.com

I stumbled upon this site and thought it may be good for you to add this package to the list.  Just a thought.
http://www.gasmodel.com/code.htm
P.S. Nice talk at JuliaCon 2020.

Hi @tk3369, thanks for the comment. We are aware of that website and we plan to notify them about our package soon :)
We have a preprint on the package coming out and we will submit to the website as well.
Thanks for the feedback, glad you liked the talk!


mir.algorithm - Sorting, searching and counting

Ideally this would seamlessly integrate with the existing algorithms in Phobos from std.algorithm.
I don't know what we do with new algorithms, but mir.algorithm sounds like a good place?
At least sorting, partitioning, counting and searching should be checked.
See also:
https://github.com/DlangScience/mir/wiki/NumPy:-Sorting,-searching,-and-counting

Probably this name would never be used. What you can place here?

Sorting, searching and counting can be done with std.algorithm. Any use case, which should be putted here?

AFAIK phobos doesn't have any windowing function.

but ndslice already has windows

This issue is also about creating some documentation and tests that ensure that std.algorithm works fine with Ndslice - especially the documentation is important to users.

but ndslice already has windows

Okay then this is only to write a guideguide or tutorial.

This issue is also about creating some documentation and tests that ensure that std.algorithm works fine with Ndslice - especially the documentation is important to users.

The best option is mir.ndslice.example with a lot unittests, which contains a 1-3 lines functions to cover numpy.

BTW, our wiki about numpy should be set on for half of check box. All them is 1-3 lines functnios.

BTW, half of check boxes in our wiki about numpy should be turn on. They are 1-3 lines functions.

However this is useless without examples

Closing in favor of #76 and #77

I found a good example in ndslice -  median (from the examples in package.d) could be part of such a package.

I found a good example in ndslice - median (from the examples in package.d) could be part of such a package.

This would in filters or something specialized. algorithm assumes something general purposed


Update priority of when to charge battery

We should consider updating the time to charge the battery on more inputs. Currently, it only looks for the cheapest hours.
We should update it to sort and look at net consumption and negative import prices.
Negative import prices should be prioritized because we get money to charge our batteries. Secondly, we have a surplus from our PV if we have negative net consumption.
Sort hours by priority:

Negative import price
Surplus (net_consumption < 0)
Lowest import price

Charging batteries when negative import price is next level. We still just need to look at the amount needed for "high price" times - like from 17-22 and 06-09 etc.

Charging batteries when negative import price is next level. We still just need to look at the amount needed for "high price" times - like from 17-22 and 06-09 etc.

It will currently only look for negative import price in the ranges defined.
In regards to 17-21 and 06-09 etc, my plan was to look into:
The price it costs to charge the battery to support that time, and that we need to charge at least 4-5 kWh before we actually force charge the battery.
So overall, my goal is to look into "what conditions" should be met before we actually force charge the battery, and next, if we need to force charge it, then when.

Oh. Btw. My beta 2.0.0 that is in the PR has already implemented the above 3 sorted priorities

Nice, that would be a great benefit for the hole system. Can we force discarge to gird on negative prices also, if we can calculate that we can get the amount needed again from the sun before peek hours, or if we can calculate that it makes more money to sell/discarge now, and buy cheaper later? or does the system almost do that now? Haven't studied the hole codes yet 👍


Verification:  Better Predicate Messaging

When a simple predicate verification fails, the messaging is a little unhelpful - basically saying "Unable to verify." and adding any custom messaging that the user provides.
Couldn't we render the predicate or assertion that is passed into the verification?  For instance, a predicate:
Action action = () => value.Verify(x => x.LastName.Equals("Barson"));

could be rendered as Unable to verify.  Expected x.LastName.Equals(\"Barson\")

I got this in the last commit (15-04-19) and will release soon.

This is in release 1.2.0.


inconsistencies In the instructions: 1) "models/xlabs" folder is never created after the first launch of comfy (after setup.py). 2) Official comfy Example does not mentiont the models/xlabs folder.

Hello
So I found 2 inconsistencies which I find confusing:

ComfyUI xlabs mention, never talks about a modesl\xlabs folder, instead  the directory mentioned is simply models\controlnet
https://comfyanonymous.github.io/ComfyUI_examples/flux/#flux-controlnets
So Which is it, do we have to create these "xlabs" folder inside the models directory?

The readme of this very repo, says that after launching comfy, after installing this, the xlabs folders will be created, It did not happen! I just tried it.

After the first launch, the ComfyUI/models/xlabs/loras and ComfyUI/models/xlabs/controlnets folders will be created automatically.

Can you clarify please?

Nevermind U surprisingly saw them appear somehow


Add property for 'Actor' claim type to TokenValidationParameters

The actor type may be application or idp specific.
Add a property so users can have some extensibility

Related issue:  #1061


segmentation fault

I've got a ( segmentation fault ) error while my script is running, so I used the module (segfault-handler) and when the error occured I got the following:
PID 8328 received SIGSEGV for address: 0x319
/srv/cv-preuploader/node_modules/segfault-handler/build/Release/segfault-handler.node(+0x10e5)[0x7f166e7d80e5]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x10340)[0x7f166edb0340]
/usr/lib/x86_64-linux-gnu/libzmq.so.3(+0x2d070)[0x7f166c18c070]
/usr/lib/x86_64-linux-gnu/libzmq.so.3(zmq_getsockopt+0x1f)[0x7f166c1a062f]
/usr/lib/x86_64-linux-gnu/libzmq.so.3(zmq_poll+0x99)[0x7f166c1a12a9]
/srv/cv-preuploader/node_modules/cv-zmq/node_modules/zmq/build/Release/zmq.node(_ZN3zmq6Socket18UV_MonitorCallbackEP10uv_timer_si+0x63)[0x7f166c3bd6f3]
node(uv__run_timers+0x57)[0x9a2287]
node(uv_run+0x85)[0x998115]
node(_ZN4node5StartEiPPc+0x17f)[0x94745f]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7f166e9fbec5]
node[0x595890]
what does that mean and how to fix it?
this happend on each of node versions 0.10.34, 0.10.32 and 0.10.30
where I thought that if changed the version the problem may be solved according of some articles I've read trying to unferstand what's happening.
any help is highly appreciated

We have found this issue. It is caused by the socket.monitor() call.
(gdb) cont
Continuing.

Program received signal SIGSEGV, Segmentation fault.
uv_timer_stop (handle=0x0) at ../deps/uv/src/unix/timer.c:83
83      ../deps/uv/src/unix/timer.c: No such file or directory.
        in ../deps/uv/src/unix/timer.c
(gdb) bt
#0  uv_timer_stop (handle=0x0) at ../deps/uv/src/unix/timer.c:83
#1  0x00007fcaafaea4f9 in zmq::Socket::UV_MonitorCallback(uv_timer_s*, int) () from /home/virtdb-demo/gui-v2.0.57/node_modules/zmq/build/Release/zmq.node
#2  0x0000000000998727 in uv__run_timers (loop=0xec3700) at ../deps/uv/src/unix/timer.c:146
#3  0x000000000098e705 in uv_run (loop=0xec3700, mode=Unhandled dwarf expression opcode 0xf3
) at ../deps/uv/src/unix/core.c:308
#4  0x000000000093e2af in node::Start(int, char**) ()
#5  0x00007fcaafd69d5d in __libc_start_main () from /lib64/libc.so.6
#6  0x0000000000595491 in _start ()
(gdb)

@pnagy what version of the module are you using?
#424 landed yesterday, so I have to ask:
have you had a chance to clone master and/or check out the new section on socket.monitor()?

@reqshark Thanks for the tip. Unfortunately we tried out the latest master and experienced the same segmantation fault.

Hello everybody, did anyone find a solution for this issue?
actually, I could not, so I gave up and tried another approach, but If we can solve this, surely I'll use the PPP pattern.

Hi guys,
I've been having the same problem as described by @khaldoun1. I'm using the same Paranoid Pirate modules, and used the same segfault handler module. Here is one of my stack traces:
PID 18428 received SIGSEGV for address: 0x3d9
/home/mean/workspace/meanqa/node_modules/segfault-handler/build/Release/segfault-handler.node(+0x11dd)[0x7f42f462e1dd]
/lib64/libpthread.so.0(+0x100d0)[0x7f42f6ec10d0]
/usr/local/lib/libzmq.so.4(+0x33120)[0x7f42f5eae120]
/usr/local/lib/libzmq.so.4(zmq_getsockopt+0x1f)[0x7f42f5ec7ddf]
/usr/local/lib/libzmq.so.4(zmq_poll+0x99)[0x7f42f5ec8ae9]
/home/mean/workspace/meanqa/node_modules/zmq/build/Release/zmq.node(_ZN3zmq6Socket18UV_MonitorCallbackEP10uv_timer_si+0x5b)[0x7f42f60e936b]
node(uv__run_timers+0x7d)[0xc43b7d]
node(uv_run+0x31a)[0xc3805a]
node(_ZN4node5StartEiPPc+0x181)[0xbc5881]
/lib64/libc.so.6(__libc_start_main+0xf0)[0x7f42f6b13fe0]
node[0x60b218]
As others have already said, it's a problem with the socket.monitor() function. I reimplemented the ppw module to not use this function, and haven't had a segfault since.
I'm using

libzmq v4.1.0
node v0.12.2
v2.11.0 of this module
Fedora 21.
Let me know if any other info would be helpful.

It looks like monitor_handle_ is NULL I wonder if swapping line 512 and 513 would at least shed some light as to what the original error was. In any case a temporary fix would be to check for NULL of this handle before calling uv_timer_stop.

@LukeBiddle 2.11.0 does not contain a lot of the changes implemented in the last few weeks. Could you please test with "master" branch.

@LukeBiddle I wonder how you could reimplement the PPW without using socket.monitor(), where the pattern essentially depends on it?!
in the other hand I've reimplemented the lpserver using the the same function socket.monitor() which I need for logging issues in poth of PPW and LPS which is something not ignorable

I ran into a segfault related to monitor. I was disconnecting and reconnecting sockets, but I forgot to unmonitor when disconnecting. When I unmonitored as well, the segfault went away.

@kroeders, nice catch. Mind making a PR to fix that issue?

@ronkorving I'm not sure what the desired behavior in the lib would be. I had called monitor on the socket, then connected - I needed to disconnect and unmonitor, but that is at the application layer, not the library layer.

I think unmonitoring should be done for you when closing the socket. A segfault is always unacceptable. Other suggestions welcome though.

Been dealing with this issue for some days now, finally tracked it down to the unmonitor problem just as @kroeders described.
I don't mind submitting a PR with this if you're okay with it @ronkorving @kroeders

PR + test very welcome.

yep @JGAntunes I'm happy to test it as well - I've been buried in production stuff this week, but I was trying to sort out if it was OK to unmonitor a socket that was not monitored or how to check that status, I'll try to have a look this weekend

@ronkorving Please check out #540, I think that's a safe fix.  It did require modifying one of the tests that was expecting to receive a 'close' event after calling close(), however your comment @ https://github.com/JustinTulloss/zeromq.node/issues/382#issuecomment-164951089 would require the same change, so this is probably fine.


VXLan-Interfaces getting overwritten by NAT-Sync

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[X] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[X] I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue

Describe the bug
The HA-Sync for NAT overrides the configuration of my VXLAN-Interfaces on the Backupnode with the configuration of the Masternode.
To Reproduce
Steps to reproduce the behavior:

Create a VXLAN-Interface on both OpnSenses with different SourceIPs
Trigger the HA-Sync with the NAT-Sync checked
Now, both OpnSenses have the same SourceIP

Expected behavior
Interfaces should not be synced by HA.
If they should, I think it should be a separate Checkbox.
Describe alternatives you considered
Deactivate the NAT-Sync and create Rules on both Opnsenses
OPNsense 24.1_1-amd64
Intel(R) Celeron(R) CPU N3450

https://github.com/opnsense/core/commit/7e994cab29
opnsense-patch 7e994cab29


from modules import shared, modelloader, devices, script_callbacks, sd_vae, sd_disable_initialization, errors, hashes ImportError: cannot import name 'sd_vae' from 'modules' (unknown location)

Google colab with standard or premium GPU

Same on free, but only with the safetensors (768) version.

try running the colab without the first cell, if it works, then your sd folder is too old


Option to filter which files are analyzed

I am not sure if I am misusing it but right now in an attempt to avoid undefined classes and so on in my lib I list my dependencies as well, so I run phan like this:
find src/ vendor/composer/ vendor/justinrainbow/ vendor/seld/ vendor/symfony/ -name '*.php' | grep -i -v /tests/ > files.lst
phan -f files.lst > phan.log
rm files.lst

As I include dpeendencies, they get analyzed as well but I'd like to only analyze my files (or at least only get output for mine) while still giving phan awareness of my dependencies.
Something like phan -f files.lst --only-dir src/ that would restrict which files matter to me.

As far as I understand currenly this behavior is only possible as Phan currently does not involves autoloading as class resolving mechanism but it needs a class content for analysing.
I hope this will be fixed

Well as a workaround what I do is cat phan.log | grep -v vendor/ which eliminates those results but it'd be nicer to avoid analyzing them fully in the first place.

The other problem is that you should pass files in correct order now. I fed my symfony-based project alongside the vendors dir to Phan and as the Kernel goes first - it complained that it does not know the bundle classes, despite of the fact they are on the list

@Seldaek An include filter as you suggested would be better, but for now there's a '-3' CLI option for specifying 3rd-party code that should be parsed, but not analyzed.

@morria oh.. that's not listed in the help though, is that intentional because it's an internal thing one should not rely on? Anyway I guess the best down the line would be to be able to say: Scan this directory, and include that file to have an autoloader capable of including things so all classes can be resolved. That way vendors are ignored by default but discoverable just in time (which would solve dependency errors with file ordering as well).

We now have several mechanisms for filtering files;
# Get all PHP files in the given directory
phan --directory ./src

# Get all PHP files in ./src and ./vendor/symfony
phan --directory ./src --directory ./vendor/symfony

# Get all PHP files in ./src and ./vendor/symfony, but don't do
# analysis for anything in ./vendor
phan --directory ./src --directory ./vendor/symfony --exclude-directory-list ./vendor

# Analyze all changed files. Parse but don't analyze ./vendory/symfony
git diff origin/master --name-only | grep ".php$" > files
phan --directory ./vendor/symfony --exclude-directory-list ./vendor --file-list files


[Chore] added profile.service test class & fixed error that returned undefined (Sentry)

Checklist

[x] Client: I followed the coding and design guidelines.
[x] Client: I added multiple integration tests (Jest) related to the features (with a high test coverage)

Motivation and Context

This PR originated from the following Sentry issue ARTEMIS-K3. (I was assigned to it)
Description :

New Test File
I added a new test file profile.service.spec.ts for profile.service.ts. (There was no test file for this service before.)
This test file includes two tests:

'should call correct URL'
'should get the profile info'

This test case tests the service method getProfileInfo, which calls every other method that exists in profile.service. (Thus, testing the entire functionality of the service)

Concrete Service Fix
Additionally, I refactored the service itself slightly. (I explain my reasoning for these changes below.)
Basically, I just made sure to check if a property of data (of type profileInfo) exists (is not undefined) prior to accessing it.
Otherwise, the method call of getProfileInfo would break/be interrupted in between and return undefined.
Example :
We constantly work with const data = res.body!, this res is of type HttpResponse<ProfileInfo>, therefore data will be just of type ProfileInfo, which is defined in profile-info.model.ts.
The service tries to access the following properties of data:

data['display-ribbon-on-profiles']
data['allowed-minimum-orion-version']
data['test-server']

These properties are not defined in profile-info.model.ts.
But the following are :

public allowedMinimumOrionVersion: string
public testServer?: boolean
The exeption is 'display-ribbon-on-profiles', there is no similar named property.

So, when the service tries to e.g. do the following data['display-ribbon-on-profiles'].split(',');
It actually does undefined.split(','); Therefore creating a type error. (Can not read property of undefined)
You might ask yourself why I am using if-else instead of simply renaming the property that tries to be accessed so it matches the profile-info.model.

Moreover, I assume that this service is called quite often (because it deals with profiles) and therefore should have worked fine for quite some time. I think that these "wrongly spelled" properties are appended to already created profile Infos and therefore the code has worked.
E.g.

I just wanted to make sure to handle edge cases that seem to appear now and then and that could be the source for my Sentry issue.
Connection to Sentry issue
The issue in a nutshell:

Problem location : clone-repo-button.component
A TypeError occurs because the property 'sshKeysURL cannot be read from undefined.
Based on the stack trace and details provided by Sentry the (first/only) location where this issue can occur is in line 59 this.sshKeysURL = info.sshKeysURL;

As you can see the origin of info comes from profile.service.

I figured that the service is creating the problem. Furthermore, this could be the source for a multitude of other (Sentry, and beyond) issues.
I decided to look into the service to find where the issue might be, why it returns undefined.
I discovered that there was no test file for this service and created one.

Conclusion : I hope this small fix of the service will also fix the Sentry Issue (and maybe other problems as well).
(Maybe this should be a separate PR?)
Steps for Testing
Read my description carefully and look at the code.
Test Coverage

profile.service.ts 83% line covered

Codacy Static Code Analysis
I copied parts of the test from clone-repo-button.component.ts, especially the profileInfo instance.
Codacy says this is bad style. How can I fix this?

After changing the Subject (it was BehaviorSubject) multiple Tests fail because they expect a BehaviorSubject with an initial value not always undefined, e.g. in build-plan-link.directive.spec.ts the profileInfo = { buildPlanURLTemplate: 'https://some.url.com/plans/{buildPlanId}/path/{projectKey}' } is inserted.
But now with just Subject, there is no such option. Or can I insert it in some other way?
This change of BehaviorSubject to Subject seems to break more than it fixes. Do you think I should continue changing this (BehaviorSubject -> Subject) in other files or simply go back to BehaviorSubject? (@Olimbia23 & @iozbeyli )
Thank you in advance!

Sorry for the other file changes, I am currently working on removing this mix-up. (Too many branches at the same time, etc...)

I refactored my changed and PR description.
The only thing currently that is not working is course-update.component.spec.ts:128:83 - error TS2345: Argument of type 'BehaviorSubject<ProfileInfo | undefined>' is not assignable to parameter of type 'Observable<ProfileInfo>'.
I changed the file to fix this error, but there is another error that blocks me from committing or pushing my change.
I only changed a few imports and one line of code.

But even if I revert the changes, there is an error, that I struggle to understand and therefore fix.
It appears in the very last line and stays regardless of the file content (I tried removing different parts of the code, it only disappears if the file is completely empty).

Found a small suggestion for an improvement.
Please update the PR description. Several mentioned changes are not present in the code (anymore perhaps), e.g. renaming variables.
Also I'm not sure if the conversion to Observable really solves the issue. While filtering undefined surely prevents undefined from being emitted if some component subscribes before the initialization call, the conversion makes it lose the imporant property of emitting the current value on a new subscription. If I understand it correctly, any component subscribing after the initialization took place will now never receive the data at all, which will very likely cause other problems. Information from this SO question, especially this answer. A ReplaySubject seems to be the variation with all needed properties.
Additionally it would be great if you could explain the steps needed to reproduce the problem to it can be tested if it is fixed.

Thank you for your references to SO @MDK5. From my understanding, we are not not using raw Observables in our case. We do not create them via Observable.of or create or from methods, but rather we are casting it from the BehaviorSubject, which preserves its properties.
I tried a simple example via the sandbox and it seems like current value is still replayed on a new subscription.
Could you please confirm? Link to the example sandbox: https://jsfiddle.net/75go1de0/2/


Salt....

 The salt can then be used to make Brine from Mekanism, which means you can achieve 4x ore processing without having to build the thermal evaporation towers as the intended progression through Mekanism. A simple solution would be to disable Pam's Harvestcraft salt from being used to create brine and only allow the Mekanism salt (which has to be mined in word) to be used to create the brine or the towers. i will post on the mekanism github too incase you think the issue lies with them (https://github.com/aidancbrady/Mekanism/issues/3684)

You can get salt for free with vanilla Pam's too, it literally just takes water. Cooking for Blockheads just lets you craft it without setting up an auto-crafting (which would be trivial to doas well). This is an issue between Pam's and Mekanism, nothing to do with this mod.


Tuning cfg.toml doesn't work as expected

Hi,
I try to play ESP32C6 with no-std esp-wifi and coex profile. It paniced when initialized the BLE because of OOM, and I followed 'tuning.md' to create a cfg.toml and set 'heap_size' to 200K. After that, it still paniced by OOM error. The logging is attached below:
Chip type:         esp32c6 (revision v0.0)
Crystal frequency: 40MHz
Flash size:        4MB
Features:          WiFi 6, BT 5
MAC address:       40:4c:ca:41:29:90
App/part. size:    1,387,520/4,128,768 bytes, 33.61%
[00:00:00] [========================================]      13/13      0x0
[00:00:00] [========================================]       1/1       0x8000
[00:00:18] [========================================]     631/631     0x10000                                                                                [2024-01-02T15:52:12Z INFO ] Flashing has completed!
Commands:
    CTRL+R    Reset chip
    CTRL+C    Exit

ESP-ROM:esp32c6-20220919
Build:Sep 19 2022
rst:0x1 (POWERON),boot:0xc (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:2
load:0x4086c410,len:0xd48
0x4086c410 - _stack_end
    at ??:??
load:0x4086e610,len:0x2d68
0x4086e610 - _stack_start
    at ??:??
load:0x40875720,len:0x1800
0x40875720 - _stack_start
    at ??:??
SHA-256 comparison failed:
Calculated: aff89878a96cbff57c66c38aa6d1a422b7785040b5efea582babef6c357427c2
Expected: 0af544a033ab3492852b8232c904c578d5f07c9d4a423a64473f060db374ab32
Attempting to boot anyway...
entry 0x4086c410
0x4086c410 - _stack_end
    at ??:??
I (42) boot: ESP-IDF v5.1-beta1-378-gea5e0ff298-dirt 2nd stage bootloader
I (42) boot: compile time Jun  7 2023 08:02:08
I (43) boot: chip revision: v0.0
I (47) boot.esp32c6: SPI Speed      : 40MHz
I (52) boot.esp32c6: SPI Mode       : DIO
I (57) boot.esp32c6: SPI Flash Size : 4MB
I (61) boot: Enabling RNG early entropy source...
I (67) boot: Partition Table:
I (70) boot: ## Label            Usage          Type ST Offset   Length
I (78) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (85) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (92) boot:  2 factory          factory app      00 00 00010000 003f0000
I (100) boot: End of partition table
I (104) esp_image: segment 0: paddr=00010020 vaddr=42000020 size=11fcfch (1178876) map
I (352) esp_image: segment 1: paddr=0012fd24 vaddr=40800000 size=07ca4h ( 31908) load
I (360) esp_image: segment 2: paddr=001379d0 vaddr=421279d0 size=27cc4h (163012) map
I (394) esp_image: segment 3: paddr=0015f69c vaddr=40807ca4 size=013f8h (  5112) load
I (396) esp_image: segment 4: paddr=00160a9c vaddr=408090a0 size=01e68h (  7784) load
I (402) esp_image: segment 5: paddr=0016290c vaddr=40828980 size=002c4h (   708) load
I (411) boot: Loaded app from partition at offset 0x10000
I (415) boot: Disabling RNG early entropy source...
Hello world!

!! A panic occured in '/home/herve/.cargo/git/checkouts/esp-wifi-836f3b2af57fa847/a69545d/esp-wifi/src/ble/npl.rs', at line 1070, column 13

PanicInfo {
    payload: Any { .. },
    message: Some(
        ble_controller_init returned 257,
    ),
    location: Location {
        file: "/home/herve/.cargo/git/checkouts/esp-wifi-836f3b2af57fa847/a69545d/esp-wifi/src/ble/npl.rs",
        line: 1070,
        col: 13,
    },
    can_unwind: true,
    force_no_backtrace: false,
}

Backtrace:

0x420510b2
0x420510b2 - esp_wifi::ble::npl::ble_init
    at /home/herve/.cargo/git/checkouts/esp-wifi-836f3b2af57fa847/a69545d/esp-wifi/src/ble/npl.rs:1070
0x42041030
0x42041030 - esp_wifi::initialize
    at /home/herve/.cargo/git/checkouts/esp-wifi-836f3b2af57fa847/a69545d/esp-wifi/src/lib.rs:301
0x4201ec90
0x4201ec90 - wifi_ble::____embassy_main_task::{{closure}}
    at /media/herve/e9e5e2ce-1a92-47e8-88fc-aaf3e19c7c80/project2/embassy-esp-template/examples/wifi_ble.rs:72
0x4200b360
0x4200b360 - embassy_executor::raw::TaskStorage<F>::poll
    at /home/herve/.cargo/git/checkouts/embassy-9312dcb0ed774b29/14f41a7/embassy-executor/src/raw/mod.rs:161
0x420a1c72
0x420a1c72 - embassy_executor::raw::SyncExecutor::poll::{{closure}}
    at /home/herve/.cargo/git/checkouts/embassy-9312dcb0ed774b29/14f41a7/embassy-executor/src/raw/mod.rs:406
0x420a125a
0x420a125a - embassy_executor::raw::run_queue::RunQueue::dequeue_all
    at /home/herve/.cargo/git/checkouts/embassy-9312dcb0ed774b29/14f41a7/embassy-executor/src/raw/run_queue_atomics.rs:84
0x420a1b80
0x420a1b80 - embassy_executor::raw::SyncExecutor::poll
    at /home/herve/.cargo/git/checkouts/embassy-9312dcb0ed774b29/14f41a7/embassy-executor/src/raw/mod.rs:387
0x420a1d04
0x420a1d04 - embassy_executor::raw::Executor::poll
    at /home/herve/.cargo/git/checkouts/embassy-9312dcb0ed774b29/14f41a7/embassy-executor/src/raw/mod.rs:528
0x420149ec
0x420149ec - esp_hal_common::embassy::executor::thread::Executor::run
    at /home/herve/.cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-hal-common-0.14.1/src/embassy/executor/thread.rs:103
0x42026370
0x42026370 - main
    at /media/herve/e9e5e2ce-1a92-47e8-88fc-aaf3e19c7c80/project2/embassy-esp-template/examples/wifi_ble.rs:54

Per I set the 'HEAP_SIZE' to 200K, the heap should be big enough. I suspected the cfg.toml doesn't work. My workspace structure is like:
.
├── .cargo
│   └── config.toml
├── Cargo.lock
├── Cargo.toml
├── cfg.toml
├── examples
│   └── wifi_ble.rs
├── .gitignore
├── LICENSE-APACHE
├── LICENSE-MIT
├── rust-toolchain.toml
└── .vscode
    └── settings.json

And the cfg.toml is:
[esp-wifi]
heap_size = 200000

So then I patched the esp-wifi crate to local repository for hack and debug:
[patch.crates-io]
# esp-wifi = { git = "https://github.com/esp-rs/esp-wifi.git", rev = "a69545d" }
esp-wifi = { path = "../esp-wifi/esp-wifi" }

After I recompiled and flashed the firmware, I found the BLE initialized successfully! That means the 'cfg.toml' was working.
Chip type:         esp32c6 (revision v0.0)
Crystal frequency: 40MHz
Flash size:        4MB
Features:          WiFi 6, BT 5
MAC address:       40:4c:ca:41:29:90
App/part. size:    1,390,432/4,128,768 bytes, 33.68%
[00:00:00] [========================================]      13/13      0x0
[00:00:00] [========================================]       1/1       0x8000
[00:00:18] [========================================]     632/632     0x10000                                                                                [2024-01-02T15:49:43Z INFO ] Flashing has completed!
Commands:
    CTRL+R    Reset chip
    CTRL+C    Exit

ESP-ROM:esp32c6-20220919
Build:Sep 19 2022
rst:0x1 (POWERON),boot:0xc (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:2
load:0x4086c410,len:0xd48
0x4086c410 - _stack_end
    at ??:??
load:0x4086e610,len:0x2d68
0x4086e610 - _stack_start
    at ??:??
load:0x40875720,len:0x1800
0x40875720 - _stack_start
    at ??:??
SHA-256 comparison failed:
Calculated: aff89878a96cbff57c66c38aa6d1a422b7785040b5efea582babef6c357427c2
Expected: 0af544a033ab3492852b8232c904c578d5f07c9d4a423a64473f060db374ab32
Attempting to boot anyway...
entry 0x4086c410
0x4086c410 - _stack_end
    at ??:??
I (42) boot: ESP-IDF v5.1-beta1-378-gea5e0ff298-dirt 2nd stage bootloader
I (42) boot: compile time Jun  7 2023 08:02:08
I (43) boot: chip revision: v0.0
I (47) boot.esp32c6: SPI Speed      : 40MHz
I (52) boot.esp32c6: SPI Mode       : DIO
I (57) boot.esp32c6: SPI Flash Size : 4MB
I (61) boot: Enabling RNG early entropy source...
I (67) boot: Partition Table:
I (70) boot: ## Label            Usage          Type ST Offset   Length
I (78) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (85) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (92) boot:  2 factory          factory app      00 00 00010000 003f0000
I (100) boot: End of partition table
I (104) esp_image: segment 0: paddr=00010020 vaddr=42000020 size=11fb20h (1178400) map
I (352) esp_image: segment 1: paddr=0012fb48 vaddr=40800000 size=07cb0h ( 31920) load
I (360) esp_image: segment 2: paddr=00137800 vaddr=42127800 size=28a04h (166404) map
I (394) esp_image: segment 3: paddr=0016020c vaddr=40807cb0 size=013ech (  5100) load
I (396) esp_image: segment 4: paddr=00161600 vaddr=408090a0 size=01e68h (  7784) load
I (402) esp_image: segment 5: paddr=00163470 vaddr=4083fa80 size=002c4h (   708) load
I (411) boot: Loaded app from partition at offset 0x10000
I (415) boot: Disabling RNG early entropy source...
Hello world!
Start connection task. Device capabilities: Ok(EnumSet(Client))
Starting wifi
Wifi started!
About to connect...
Wifi connected!
Connector created
Ok(CommandComplete { num_packets: 1, opcode: 3075, data: [0] })
Ok(CommandComplete { num_packets: 1, opcode: 8198, data: [0] })
Ok(CommandComplete { num_packets: 1, opcode: 8200, data: [0] })
Ok(CommandComplete { num_packets: 1, opcode: 8202, data: [0] })
started advertising

What is the difference between remote git revision patch and local repository patch?

Only thing I could think of is that the cfg wasn't picked up in the first try.
With info-level debug esp-wifi should also show what the current config looks like:
INFO - esp-wifi configuration Config { rx_queue_size: 5, tx_queue_size: 3, static_rx_buf_num: 10, dynamic_rx_buf_num: 32, static_tx_buf_num: 0, dynamic_tx_buf_num: 32, ampdu_rx_enable: 0, ampdu_tx_enable: 0, amsdu_tx_enable: 0, rx_ba_win: 6, max_burst_size: 1, country_code: "CN", country_code_operating_class: 0, mtu: 1492, heap_size: 65536, tick_rate_hz: 100, listen_interval: 3, beacon_timeout: 6, ap_beacon_timeout: 300, failure_retry_cnt: 1, scan_method: 0 }

Yes, the cfg wasn't picked up in my first try. The logging  is attached below:
I (42) boot: ESP-IDF v5.1-beta1-378-gea5e0ff298-dirt 2nd stage bootloader
I (42) boot: compile time Jun  7 2023 08:02:08
I (43) boot: chip revision: v0.0
I (47) boot.esp32c6: SPI Speed      : 40MHz
I (52) boot.esp32c6: SPI Mode       : DIO
I (57) boot.esp32c6: SPI Flash Size : 4MB
I (61) boot: Enabling RNG early entropy source...
I (67) boot: Partition Table:
I (70) boot: ## Label            Usage          Type ST Offset   Length
I (78) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (85) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (92) boot:  2 factory          factory app      00 00 00010000 003f0000
I (100) boot: End of partition table
I (104) esp_image: segment 0: paddr=00010020 vaddr=42000020 size=122f10h (1191696) map
I (355) esp_image: segment 1: paddr=00132f38 vaddr=40800000 size=07cb0h ( 31920) load
I (363) esp_image: segment 2: paddr=0013abf0 vaddr=4212abf0 size=287d4h (165844) map
I (398) esp_image: segment 3: paddr=001633cc vaddr=40807cb0 size=013ech (  5100) load
I (400) esp_image: segment 4: paddr=001647c0 vaddr=408090a0 size=01e68h (  7784) load
I (405) esp_image: segment 5: paddr=00166630 vaddr=40828980 size=002c4h (   708) load
I (414) boot: Loaded app from partition at offset 0x10000
I (418) boot: Disabling RNG early entropy source...
Hello world!
INFO - esp-wifi configuration Config { rx_queue_size: 5, tx_queue_size: 3, static_rx_buf_num: 10, dynamic_rx_buf_num: 32, static_tx_buf_num: 0, dynamic_tx_buf_num: 32, ampdu_rx_enable: 0, ampdu_tx_enable: 0, amsdu_tx_enable: 0, rx_ba_win: 6, max_burst_size: 1, country_code: "CN", country_code_operating_class: 0, mtu: 1492, heap_size: 65536, tick_rate_hz: 50, listen_interval: 3, beacon_timeout: 6, ap_beacon_timeout: 300, failure_retry_cnt: 1, scan_method: 0 }
WARN - Unable to allocate 280 bytes

!! A panic occured in '/home/herve/.cargo/git/checkouts/esp-wifi-836f3b2af57fa847/a69545d/esp-wifi/src/ble/npl.rs', at line 1070, column 13

PanicInfo {
    payload: Any { .. },
    message: Some(
        ble_controller_init returned 257,
    ),
    location: Location {
        file: "/home/herve/.cargo/git/checkouts/esp-wifi-836f3b2af57fa847/a69545d/esp-wifi/src/ble/npl.rs",
        line: 1070,
        col: 13,
    },
    can_unwind: true,
    force_no_backtrace: false,
}

Backtrace:

0x420510d2
0x420510d2 - esp_wifi::ble::npl::ble_init
    at /home/herve/.cargo/git/checkouts/esp-wifi-836f3b2af57fa847/a69545d/esp-wifi/src/ble/npl.rs:1070
0x42041050
0x42041050 - esp_wifi::initialize
    at /home/herve/.cargo/git/checkouts/esp-wifi-836f3b2af57fa847/a69545d/esp-wifi/src/lib.rs:301

I performed command 'cargo clean' to my workspace, then recompiled and this issue didn't occur any more. 😂
I (363) esp_image: segment 2: paddr=0013abf0 vaddr=4212abf0 size=287d4h (165844) map
I (397) esp_image: segment 3: paddr=001633cc vaddr=40807ca8 size=013f4h (  5108) load
I (399) esp_image: segment 4: paddr=001647c8 vaddr=408090a0 size=01e68h (  7784) load
I (405) esp_image: segment 5: paddr=00166638 vaddr=408496c0 size=002c4h (   708) load
I (414) boot: Loaded app from partition at offset 0x10000
I (418) boot: Disabling RNG early entropy source...
Hello world!
INFO - esp-wifi configuration Config { rx_queue_size: 5, tx_queue_size: 3, static_rx_buf_num: 10, dynamic_rx_buf_num: 32, static_tx_buf_num: 0, dynamic_tx_buf_num: 32, ampdu_rx_enable: 0, ampdu_tx_enable: 0, amsdu_tx_enable: 0, rx_ba_win: 6, max_burst_size: 1, country_code: "CN", country_code_operating_class: 0, mtu: 1492, heap_size: 200000, tick_rate_hz: 50, listen_interval: 3, beacon_timeout: 6, ap_beacon_timeout: 300, failure_retry_cnt: 1, scan_method: 0 }
WARN - esp_wifi_internal_tx 12290
Start connection task. Device capabilities: Ok(EnumSet(Client))
Starting wifi
Wifi started!
About to connect...

My guess is that the compiler doesn't watch the cfg.toml file in some case.

Great to hear it's working! 🎉
I also guess that changes to cfg.toml are not always picked up


fixed "OS that supported by VS 2013" link

The link was inccorect and redirect to: https://www.visualstudio.com/vs/.
I fixed it to the correct link.

Ok, thanks :)


Oven Crash Looping on Load 1.16.5 MV:9.3.1

Versions

Minecraft Version (exact version number): 1.16.5
Forge Version (exact version number):  36.1.4
Mod Version (exact version number):  9.3.1
Do you use Sponge, OptiFine or Vivecraft (and which?):  No

Describe the bug
I opened the cooking table selected that I wanted to cook a carrot from the mod "mystic world", once it finishes cooking the carrot it just crashes. Tried restarting the server and it just crash loops.
To Reproduce
Steps to reproduce the behavior:

Go to the cooking table and select Cooked carrot
Put a Carrot in the Oven
Put fuel into oven and wait for it to cook
Crash

Expected behavior
It is supposed to Cook the carrot.
Additional context (e.g. Crash Log if it crashed)
https://gist.github.com/litjohn50/9bf8324ba47a6edb9ecf8698e34bd5b2

see https://github.com/blay09/CookingForBlockheads/issues/507#issuecomment-790698617


correctly forward className in code component

Overview
This PR changes the order the props are spread in <Code> so className is correctly forwarded.
Fixes #1351
Screenshots (if applicable)
Before:

After:

Documentation

[ ] Updated Typescript types and/or component PropTypes
[ ] Added / modified component docs
[ ] Added / modified Storybook stories

Thanks for fixing this up so quickly! If you have some time, would you mind adding a test case for this? We've been trying to add more coverage - this would be a great case to add since we're fixing a bug 😄
There should be some examples to go off of in Textarea.test.js or TextInput.test.js

Will do 👍


deepEquals compare objects using [identical] 😓

The extension method deepEquals compare objects using the identical instead  the == operator.
https://github.com/marcglasberg/fast_immutable_collections/blob/934e2a336a60ec881cd67acd0d987e472c7c1ff9/lib/src/base/iterable_extension.dart#L115-L117

Now.


0.2.6

@JuliaRegistrator register

Registration pull request created: JuliaRegistries/General/113921
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.2.6 -m "<description of version>" 3eafe466b6b7a0ed0ab0d6d9dd348473955f55ba
git push origin v0.2.6


Connecting to RDS with a *.pem certificate

Hi -- I've updated to the latest version of the crate but now have the issue that I need to connect with TLS using a *.pem certificate and the current version doesn't seem to support this.
I followed the instructions in the docs as best I could but I'm getting a TlsHandshakeError, probably because I don't have the private key -- I'll know better when I research this more.
I've seen a related issue ticket linked to a broken pull request that I will look into and I will research that and speak to AWS support about other ways to connect to the RDS, generally.
If there's any insight or recommendations anybody here could offer in the meantime, though, that would be really helpful, even if it's things to look into that might help me fix this issue with a hack. I'll either need to roll back the code to using v 0.16 or two key projects are effectively stalled.
Thanks for any and all advice,
Doug.

Hi.

Am I right that your pem certificate is an amazon root certificate taken from here?
Could you please tell me what you have tried already?

Have you tried to convert your pem to der and feed it into SslOpts::with_root_cert_path?
Have you tried to create a keyless pkcs12 container and feed it into SslOpts::with_pkcs12_path?

Could you please share the full text of an actual error?

I've made the following from my Linux server:

Created a free RDS instance (mysql 5.7)

Downloaded rds-ca-2019-root.pem from this page

Converted pem to der using the following command:
$ openssl x509 -outform der -in ./rds-ca-2019-root.pem -out ./rds-ca-2019-root.der

Written the following test program:
fn main() -> Result<()> {
    let cert_path = std::path::Path::new("rds-ca-2019-root.der");
    let ssl_opts = SslOpts::default().with_root_cert_path(Some(cert_path));

    let opts =<EMAIL_ADDRESS>        .ssl_opts(ssl_opts);
    let mut conn = Conn::new(opts)?;

    let (_, cipher): (Value, String) = "SHOW STATUS LIKE 'Ssl_cipher'".first(&mut conn)?.unwrap();

    println!("Cipher in use: {}", cipher);

    Ok(())
}

The result was:

So I believe everything works as expected.

Hmm. I wonder if maybe it's because the *.pem file I'm using is the bundle?
I'll try with the 2019 specific one and see how that goes -- cheers!

Aaaand we have a connection!
Thanks again, man -- I should've thought of that.


Detection don't work

OPNSense plugin v1.0
OPNSense v22.7
I just tested the crowdsec plugin on my opnsense using nikto and wapiti. Unfortunately, my scans were not recognized as such and thus not blocked. I did the scans over the mobile network of my smartphone with a raspberry pi.
A manual ban as described in the instructions worked.
cscli decisions add -t ban -d 2m -i

We are working on portscan detection for opnsense. It is almost finished.


Add dockerfile

Pull Request Test Coverage Report for Build 414

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 35.166%

Totals

Change from base Build 412:
0.0%

Covered Lines:
697

Relevant Lines:
1982

💛  - Coveralls

LGTM!


How to reinitialize nanoScroller when its container is display:none

Thanks for the great plugin.
I am using this plugin now to my project, and I am also using bootstrap modal by default the modal is in hidden state (display:none) and appears when you toggle it. I used nanoScroller on the modal. The problem is why the slider wont appear.
what I found is when I resizing the browser or press F12, anything that changes the behavior of the screen the slider appears.

You have to have your element shown before re-initializing nanoscroller. That's because it will need to know the height of the element.

That's exactly my problem. I tried re-initialize the nanoScroller
$('#myModal').on('shown.bs.modal', function () {
$('.nano').nanoScroller();
});
but wont work either.

Maybe the element isn't still fully shown when 'shown.bs.modal' event fires?
Does this make any difference:
$('#myModal').on('shown.bs.modal', function () {
  setTimeout(function() {
    $('.nano').nanoScroller();
  }, 0);
});

@kristerkari This problem i just met.try this:
$('#myModal'').mouseover(function(){
$('.nano').nanoScroller();
})


Including Agenda and TravelInfo

Including Agenda and TravelInfo

 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.Nandan Chaturvedi seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.