prisma.$use() deprecated

Since 4.16.0, released today, prisma.$use() is deprecated so we should change the way we add the middleware.

Thanks for the heads-up, looks like query extension components are the way to go.
If anyone wishes to try their hand at a PR, I'll be happy to give them a hand.

I'm trying to figure it out, but it looks way different

I think I will stick to 4.15.0 for a while

From what I read in the release notes, middlewares with $use are deprecated but still supported for a handful of versions, so it should work fine with 4.16.0 onwards.
That being said, migrating to the extensions mechanism will be required at some point.

That's odd, the integration test suite passes fine with 4.16.0.

Do you have a discord server for discussions?

I don't. I prefer discussions to remain public, localised, and searchable by others that may encounter the same problem.

I understand. I think the middleware works for me, atleast I get the data as decrypted data, but the where function doens't really work anymore, don't know yet what I've changed

That sounds like a double application of the middleware, are you using Next.js by any chance? We've had issues with hot module reloading in the past, see https://github.com/47ng/prisma-field-encryption/issues/61.

I don't really know how to use it, because I want to use it on initialization, but for some reason, it will not encrypt anything in the services of each controller, don't know how else or where I should use the middleware

Usually with other backend frameworks (Next.js, Fastify, Express), I create the Prisma client in a dedicated file where I connect the middlewares before exporting the configured client. Then route handlers / controllers can import the client from there (or use whatever dependency injection mechanism is built into the framework) to perform queries.
See https://github.com/47ng/prisma-field-encryption/blob/next/src/tests/prismaClient.ts

I've published an extension interface in 1.5.0-beta.1, could you give it a try with Prisma 4.16.0 please?
Upgrade path:
- import { fieldEncryptionMiddleware } from 'prisma-field-encryption'
+ import { fieldEncryptionExtension } from 'prisma-field-encryption'

- export const prismaClient = new PrismaClient()
+ const globalClient = new PrismaClient()

- prismaClient.$use(
-   fieldEncryptionMiddleware({ /* configuration */ })
- )
+ export const prismaClient = globalClient.$extends(
+   fieldEncryptionExtension({ /* configuration */ })
+ )

It gets activated but does not encrypt anything on my side

It is another way to use it I see now, it works

For some weird reason I'm getting:
Exported variable 'prismaClient' has or is using name 'PrismaPromise_2' from external module "c:/Users/mella/source/repos/api.trackngrow.eu/node_modules/@prisma/client/runtime/index" but cannot be named.ts(4023)
The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed.ts(7056)

@ikbenignace indeed this already has a fix, stay tuned for a Prisma 4.16.1 patch release very soon 🙌🏼

Thanks @Jolg42 for a quick patch, and thanks @ikbenignace for the feedback!
I got away with an as PrismaClient after the call to $extends for the time being.

@franky47 any plans to make prisma-field-encryption compatiable with<EMAIL_ADDRESS>

From what I can read in their release notes, nothing should be breaking.
The fieldReference feature will not work on encrypted fields however, as it offloads comparisons to the database engine and requires cleartext data.

@franky47 Cool, then can you update the peer dependencies for this package to latest prisma?

Done in #66, will update when it gets merged.
I'm still looking at type errors when extending the client before being able to merge it though. Maybe @Jolg42 could chime in on this one:
The main issue is to type the client extension so that the resulting client type is the same as the original, but without using a Prisma import in the library (like Prisma.defineExtension). This is because of people who have use-cases for clients with custom locations (#20).

@franky47 Awesome looking forward to it. Thanks for doing the version upgrade compatible.

Hey @franky47 we have some documentation that shows how an extension can be published as a separate package. Extensions should always work regardless of the custom location or not when packaged in the standard way. Let me know if this helps.
https://www.prisma.io/docs/concepts/components/prisma-client/client-extensions/shared-extensions
I am not sure where you're at in the implementation and what still needs to be resolved, so don't hesitate to throw questions at me, happy to help.

My main issue with types at the moment has to do with how to test both the middleware implementation and the extension, for which the resulting client type doesn't seem compatible.
Call sites are fine with either individually, but doing a conditional export to test both cases in CI doesn't work without an explicit cast as PrismaClient.

Yes, do not duplicate your test suite for this. Extended clients do differ in types because they do not allow for $use or $on to be called, so their types will be incompatible. That is the only difference, and a simple cast should be enough. You'd get a runtime error anyways if you called either $use or $on on an extended client.

@millsp Thanks for the details.
FYI, somehow this type incompatibility goes wider than $use or $on: any model method (eg: user.create) ends up erroring when the union of extended client | global client is used:

@gokulkrishh I've released 1.5.0-beta.2 with Prisma 5 as a peer dependency, could you give it a try and let me know if everything works for you?

@franky47 It seems like everything is work fine for me. Better get an another opinion as well.

One issue I just found is related to the data migrations, where the as PrismaClient type cast is required (using the import from the generated client location if not the default) to pass to the migration iterators.
@millsp: how would one type a function that takes in an extended Prisma client? From what I can tell, the imported type definitions contains global methods like $on and $use, and even omitting those still causes type errors on call sites.
See https://github.com/franky47/prisma-field-encryption-sandbox/blob/da772d72584aaedcd178fd02ade3b55279339ef0/migrate.ts#L7

Thanks for the report. I just gave it a try, and can confirm what you said. My understanding is that the types are functionally equivalent (between regular client and extended client, as we've tested it), but somehow are reported to be structurally different probably because of some elaborate conditional types applied to generic types.
The reason for that is that extended clients actually mimic the generated client types, and are fully dynamic. It is a brand new approach to how we expose and construct the client types. I expect that at some point in the future we will refactor and leverage the extension mechanisms and fully unify the type logic for extended client vs. regular client, and thus resolve your issue.
Hopefully that makes sense. Also, you're welcome to open an issue on our end.

@millsp Ok, thanks for looking into it. I've cc'd you into https://github.com/prisma/prisma/issues/20326 to discuss about extended client types there.

Expense.fyi is now using the latest version. @franky47 Thanks.


[AKS] add POST endpoint for fetching accessProfiles

Adds a new POST endpoint that is preferred to GET for fetching AKS access profiles (Kubernetes configs). The endpoint is already deployed to RPs in all AKS regions.
I've tested this with the SDK and simple CLI changes that are needed and it works well.
cc: @weinong @shrutir25 @rjtsdl @sauryadas
PR information

[X] The title of the PR is clear and informative.
[X] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[X] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[X] If applicable, the PR references the bug/issue that it fixes.
[X] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[X] I have read the contribution guidelines.
[X] My spec meets the review criteria:

[X] The spec conforms to the Swagger 2.0 specification.
[X] The spec follows the guidelines described in the Swagger checklist document.
[X] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

Automation for azure-sdk-for-python

Automation for azure-sdk-for-node

Automation for azure-libraries-for-java

what is a point to add this new endpoint with such a confusing method name?

@hovsepm I was just using the name defined for the endpoint in the AKS RP. I agree it's not good terminology though. We can call it something different in the swagger if that's preferable. The idea here is we'd prefer POST to GET for this sensitive endpoint.
@weinong anything to add?

@mboersma yes please change the operation name. it is used to generate a method names in the SDKs in each language. Name should be self descriptive and discoverable. Please also revise the description because now for this 2 exposed operations
...
"operationId": "ManagedClusters_ListCredential",
"description": "Gets the accessProfile for the specified role name of the managed cluster with a specified resource group and name."
...
"operationId": "ManagedClusters_GetAccessProfiles"
"description": "Gets the accessProfile for the specified role name of the managed cluster with a specified resource group and name."

as a user of the generated SDK - how should I understand which method to call? What is the difference between them?

@mboersma I'll merge this PR however there is an issue that needs to be fixed for each endpoint. Please take a look to https://github.com/Azure/azure-rest-api-specs/issues/3113

@mboersma 👋 out of interest, is there a timeframe for deprecating the old (GET) endpoint?

@tombuildsstuff once this change makes it into the az CLI, we plan to start returning a (useful) error from the GET endpoint 14 days afterward. So most likely that means two weeks after June 5. Let me know if that's going to cause problems!

@mboersma given that won't be available in the Go SDK until around that date, I don't feel that's a long enough period for deprecation IMO - we (Terraform) expose these values on our AKS resources, which we consume via the Azure SDK for Go. Whilst we're probably able to time a release shortly after this change goes live - however we should give users some time to update to the new version which uses Post instead of Get.
As such - would it be possible for the old endpoint to continue working until the start of July? Whilst I can understand this isn't ideal from your side, I think it's better to not break users workflows without a couple of weeks extra transition period for downstream dependencies once the SDK's are out :)
Thanks!

cc @joshgav / @marstr / @jhendrixMSFT :)

I don't feel that's a long enough period for deprecation IMO

Honestly, I don't think that's long enough either, I'm just reporting the current intent. I'll bring your feedback to the team and see if we can make the deprecation timeline more humane.

@mboersma awesome, thanks :)

@tombuildsstuff we will comply with the standard Azure deprecation policy and keep the GET endpoint functional for 12 more months. (We got similar feedback from ARM review on the newer API in #3131.)

@mboersma that's awesome, thanks so much :)


*: some tweaks on CONTRIBUTING.md

Issue Number: close https://github.com/tikv/tikv/issues/12397
What's Changed:
some tweaks on CONTRIBUTING.md

Check List
Tests

No code

Release note
NONE

Please sign-off the commit

/merge

The CI fail rate is rather high recently 🤣 I remembered last time a PR re-runs about a week before it gets merged.

/test


Fix toolrunner line buffering

The _processLineBuffer needs to buffer data between method calls but the variable it is using as its buffer is a string parameter and thus goes out of scope at the end of the method. To ensure the buffer is persisted across calls it needs to be an object.

Reopened here: #1055


Breaking change in 4.1.11 (DoropDown optimization) causes ArgumentException

If the Data property of RadzenDropDown contains a reference to IEnumerable and not to generic IEnumerable<T> the following exception occurs when SetParameters is called:
[2022-10-22T08:54:15.164Z] Error: System.ArgumentException: 'CustomerID' is not a member of type 'System.Object' (Parameter 'propertyOrFieldName')
   at System.Linq.Expressions.Expression.PropertyOrField(Expression expression, String propertyOrFieldName)
   at Radzen.PropertyAccess.Getter[TItem,TValue](String propertyName, Type type) in C:\Ondrej\Source\Repos\Semafor\Radzen.Blazor\Common.cs:line 1884
   at Radzen.DropDownBase`1.OnParametersSet() in C:\Ondrej\Source\Repos\Semafor\Radzen.Blazor\DropDownBase.cs:line 382
   at Microsoft.AspNetCore.Components.ComponentBase.CallOnParametersSetAsync()
   at Radzen.RadzenComponent.<>n__0(ParameterView parameters)
   at Radzen.RadzenComponent.SetParametersAsync(ParameterView parameters) in C:\Ondrej\Source\Repos\Semafor\Radzen.Blazor\RadzenComponent.cs:line 189
   at Radzen.DataBoundFormComponent`1.SetParametersAsync(ParameterView parameters) in C:\Ondrej\Source\Repos\Semafor\Radzen.Blazor\DataBoundFormComponent.cs:line 305
   at Radzen.DropDownBase`1.SetParametersAsync(ParameterView parameters) in C:\Ondrej\Source\Repos\Semafor\Radzen.Blazor\DropDownBase.cs:line 789
   at Radzen.Blazor.RadzenDropDown`1.SetParametersAsync(ParameterView parameters) in C:\Ondrej\Source\Repos\Semafor\Radzen.Blazor\RadzenDropDown.razor.cs:line 124

Here is the simple example to reproduce the error:
@page "/"

@using Radzen;
@using Radzen.Blazor;
@using System.Linq.Dynamic.Core;
@using System.Collections;

<div style="width:700px; height:500px; background-color:beige;">
    <RadzenDropDown Data=@myLoadedData LoadData=@OnLoadData Count="@myVirtualizationCount"
                    @bind-Value=myValue
                    ValueProperty="CustomerID" TextProperty="CompanyName"
                    Style="width:15rem"/>
</div>

@code {
    private class Record
    {
        public string CustomerID { get; set; }
        public string CompanyName { get; set; }
    }

    private int myVirtualizationCount;
    private IEnumerable myLoadedData;

    private IEnumerable myDropDownData;
    private string myValue;

    protected override void OnInitialized()
    {
        var items = new List<Record>();
        for (int i = 0; i < 100; ++i)
        {
            var record = new Record() { CustomerID = i.ToString(), CompanyName = $"Name{i}" };
            items.Add(record);
        }

        myDropDownData = items;
    }

    private void OnLoadData(LoadDataArgs args)
    {
        var query = myDropDownData.AsQueryable();

        // Do some logic based on Queryable.
        // ... e.g. special filtering etc.

        myVirtualizationCount = query.Count();

        myLoadedData = query.AsEnumerable();
    }
}

The example above is very simplified, just to demonstrate the problem.
But the possibility to use IEnumerable instead of the generic IEnumerable<T> is important.
E.g. to be able to wrap RadzenDropDown into a more specific DropDown which implements some business logic (e.g. special filtering) but still needs to be able to take any type of Data (same way like RadzenDropDown takes via the non-generic IEnumerable Data property).
Please, could you preserve the compatility with the previous behavior?

The example above is very simplified, just to demonstrate the problem. But the possibility to use IEnumerable instead of the generic IEnumerable<T> is important. E.g. to be able to wrap RadzenDropDown into a more specific DropDown which implements some business logic (e.g. special filtering) but still needs to be able to take any type of Data (same way like RadzenDropDown takes via the non-generic IEnumerable Data property).

When creating a wrapping component, you can just forward the generic type parameter by creating a component with a typeparam.
This also will bring some type safety to your own business logic (e.g. by creating validation services that take type parameters)

The example above is very simplified, just to demonstrate the problem. But the possibility to use IEnumerable instead of the generic IEnumerable<T> is important. E.g. to be able to wrap RadzenDropDown into a more specific DropDown which implements some business logic (e.g. special filtering) but still needs to be able to take any type of Data (same way like RadzenDropDown takes via the non-generic IEnumerable Data property).

When creating a wrapping component, you can just forward the generic type parameter by creating a component with a typeparam. This also will bring some type safety to your own business logic (e.g. by creating validation services that take type parameters)

Hm, actually you are right. Introducing the second @typeparam TDropItem and then making the Data property of type IEnumerable<TDropItem> seems much better approach for the wrapping than reusing that non-generic IEnumerable pattern.
Is there any reason why Radzen components use non-generic IEnumerable Data instead of the generic IEnumerable<..> Data via typeparam?
(Or is it just a historical inheritance?)


pip install fails because of missing file

I was following the directions to do an install as per the README.
(deltacd) nsandhu@BDOMO-DT264615:~/delta/deltacd$ pip install -e .
Obtaining file:///home/nsandhu/delta/deltacd
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [6 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/home/nsandhu/delta/deltacd/setup.py", line 2, in <module>
          import versioneer
      ModuleNotFoundError: No module named 'versioneer'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

pip install versioneer
pip install -e .

Seems to work


[WIP] Remove docker/charts from Circle CI config

As advanced OSBA now targets on advanced CF customers / PCF tile, we don't provide docker releases and helm charts. For the future, it depends.

Looks good. Pending lifecycle test.


[Question] Is the sleep 2 really necessary?

I trimmed down the check.rb to only have a postgres database that it has to check, but if I take out the sleep 2 from my check.rb script I cannot seem to connect to the database anymore. Is it really necessary to wait for 2 seconds before running the database check? This seems like an awkward thing to set though or does it function another purpose?
I seem to run into database connection problems in my Ruby on Rails projects too.
My trimmed down check.rb file:
require 'pg'

def log(message)
  puts "\e[34m#{message}\e[0m"
end

sleep 2 # if I remove this line, the database connection will not be setup

log 'Checking PostgreSQL server...'
pg = PG.connect(
  host: ENV['POSTGRES_HOST'],
  dbname: ENV['POSTGRES_DB'],
  user: ENV['POSTGRES_USER']
)
log pg.exec('SELECT version();').first['version']

The sleep itself is required, as containers take a different amount of time to start up and if you run the check too early the database container might not be running yet.
The solution with sleep was the most easy at the time, but you could also implement the solution mentioned at http://documentation.codeship.com/private/docker/docker/services-and-databases/#waiting-for-a-service-to-start


update to support symphony 2.6.x

More or less similar stuff I just did with ETM + Other changes to support symphony 2.6.x such as using Symphony::Author() to get the current author, and using the autoloader for the cron. I should have covered at least the basics but as a first time user of ENM I might have missed some things.

As mentioned in another issue, there is a backwards-compatible way to introduce Symphony::Author(). But the $symphony-url param breaks compatibility anyway, so I would leave that as it is. (He, Symphony 2.6 is the way to go!)
Regarding the compatibility info: I think that Symphony::Author() has been introduced in 2.5, so ENM 2.0.1 should end with Symphony 2.4.x. I suggest to skip Symphony 2.5 – I feel that it is not heavily used in production anyway. @jonmifsud: Can you change that, please?
Apart from that I tend to accept this PR, if @creativedutchmen is OK with it.
As far as I see, the PR should solve both problems in #62, correct?

@michael-e done, should solve both issues in #62 at least I don't seem to have any issues when sending now.
I did run into a couple of 500s but it seems totally unrelated due to logs not rotating. Every time I cleared the logs it worked just fine. That said I had quite a few notices coming up but I didn't go through them.

Thanks a lot!
BTW, I posted a related issue, #67.

@jonmifsud: Would you like to work on #67, or would you rather leave this to me and @creativedutchmen?


Can't "make setup"

Here is the log:
mapincs-Mac:simject mapinc$ make setup
==> Cleaning…
xcrun: error: SDK "iphonesimulator" cannot be located
==> Cleaning…
mkdir: /opt/simject/respring_simulator/.theos: Permission denied
make[1]: *** [/opt/simject/respring_simulator/.theos/build_session] Error 1
make: *** [all] Error 2
mapincs-Mac:simject mapinc$ sudo make setup
Password:
Makefile:3: /makefiles/common.mk: No such file or directory
Makefile:9: /tool.mk: No such file or directory
make[1]: *** No rule to make target /tool.mk'.  Stop. make: *** [clean] Error 2 mapincs-Mac:simject mapinc$ sudo make setup Makefile:3: /makefiles/common.mk: No such file or directory Makefile:9: /tool.mk: No such file or directory make[1]: *** No rule to make target /tool.mk'.  Stop.
make: *** [clean] Error 2

Sorry, looks like my THEOS env variable does not work correctly (missing the $THEOS environment variable).
https://github.com/theos/theos/wiki/Installation for more information.

If you still have the problem even after the right installation of THEOS, then go to Xcode > Preferences > Locations > Command Line tools, and set something from drop-down menu (i.e. Xcode 8.2). Works for me

yes, it solved the issue.

same problem. Tried to do what you suggested but no success..


Change block error

@mlsteele
Desktop looks good to me, although the banner seems too high, it should be using the min height, 40px. On mobile let's vertically-align the content in the content box, see specs: https://zpl.io/anp1DXn

@mlsteele Any chance we can remove that space between the red banner and the top header?


[FEATURE] AQI Level Calculator

Description
AQI -> Air Quality Index Level Calculator
Input: User enters the AQI number of their region.
Output: Based on the AQI number provided, the level of air quality is determined, along with the corresponding color indication.

Good (0-50): Green
Satisfactory (51-100): Yellow
Moderate (101-150): Orange
Unhealthy for sensitive groups (151-200): Red
Unhealthy (201-300): Purple
Hazardous (301-500+): Maroon

The output color reflects the range the AQI falls into, such as green for good air quality and yellow for satisfactory air quality.
Checks to be applied:
Keep a check on the input by the user the AQI must be greater than or equal to zero. Also keep a check on upper bound value.
Implementation :
A Javascript function will be created where in the parameter will be the AQI index and the level is returned after comparing with the metrices.
As this level is return another function is called with this level which gives the color indication. Now after getting both of these values, we can design the output display on the screen using CSS.
Screenshots
Get input from the user in somewhat this way. (The background color can be kept green to indicate living in good air quality or can be kept greyish as neutral input taking page.

As an output the level of air quality along with color indication will be displayed.

Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

Hi team, I'd like to take on the task of implementing the AQI Level Calculator feature. I believe it aligns well with my skills and interests, and I'm excited to contribute to its development. Assigning this issue to me would be greatly appreciated.
Thanks!

@Rakesh9100
Kindly assign this task to me so that I can add the AQI Level Calculator to the website and code up my designed UI/UX as attached in the screenshots. Any changes or new additions are welcomed. I'll be more than glad to make my contribution in this project.
Thankyou.

I would like to work on this issue. Pls assign me this!!

Go ahead @Aarzookhunger


VS2019 linker option /FASTFAIL[:NO] missing

When I execute this command in a VS2019 Developer Command Prompt console:
C:\franl>"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.21.27702\bin\Hostx64\x64\link.exe" /?
The following option is shown, but it's missing from this page:
/FASTFAIL[:NO]

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

ID: 0a0255b2-cf9d-3325-ccd7-e34aed553311
Version Independent ID: d1664a56-cee1-bdd9-bb77-3acb62670a41
Content: MSVC Linker Options
Content Source: docs/build/reference/linker-options.md
Product: visual-cpp
Technology: cpp-tools
GitHub Login: @corob-msft
Microsoft Alias: corob

So are you ever going to document this option?

We'll get to it eventually. For the curious, when the /FASTFAIL option is set, the linker captures exception info on linker faults, then calls RaiseFailFastException to create a dump file. It's useful for debugging linker issues, so you might get asked to use it when generating a repro for Developer Community. In normal linker use, you don't need this option. It doesn't affect generated images in any way.

We are in the process of moving away from GitHub issues for C++ documentation (we still accept pull requests). For details, please see Announcing a new way to give feedback on Microsoft Learn This issue will be closed after it is copied to an internal tracking system.


Update CoCiP default values per Teoh 2024

Description

Integration time: 5 minutes - Cite Teoh 2024
Max age: 12 hours - Cite Teoh 2024
Max altitude m: 15000 - Un-cited

Alternatives
Additional context

Create new documentation regarding sensitivity studies

max_altitude_m increased from 13000 m to 15000 m to capture contrail formation by private jets over the tropics.


Implemented a download function for the circuitJson download button.

Issue #17

It seems like I've already implemented this feature here https://github.com/tscircuit/snippets/pull/26

@DhairyaMajmudar for small features like this it's just whoever gets it right first, I don't do assignment unless it's a big feature. In open-source a project can be completely stalled when people don't fix PRs quickly etc. so we won't operate where people can work on things first
The best way to get issues assigned exclusively to you is to get familiar with the codebase and work on hard issues that people don't generally want, or find bugs and create your own issues.


Make the chart/api work with helm template + kubectl

What this PR does / why we need it:
Makes the chart/api work with helm template + kubectl. Uses the deployment's UID as both Replicated and app ID instead of generating new IDs during templating. Will keep using existing IDs for existing installations from the ConfigMap as to not introduce a breaking change. ConfigMap will not be created for fresh installations going forward.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

Steps to reproduce

Does this PR introduce a user-facing change?

Adds support for installing the Helm chart via `helm template` then `kubectl apply` the generated manifests.

Does this PR require documentation?

TBD

Merging since there are known issues with openshift tests.


Font (size) changed in Shell windows

Version: master
Since new Xterm.js

Version - 2.2 master
Verified fixed


chore(LICENSE): use standard Apache V2.0 text

Closes 57

Why did you close it?

whoops. thought that it had been merged already. i just reopened it


[Bug]: Main thread blocks on Imports: Importing anything from llama index block the main thread.

Bug Description
Tested this behaviour on fastapi with uvicorn and django with gunicorn.
if there is any import from llama index in the code base and we boot the server, the main thread gets blocked for sometime due to some calls to openai public endpoints.
Here is an image from fastapi + uvicorn server
2023-12-19 19:37:33 Starting Server
2023-12-19 19:37:33 INFO:     Will watch for changes in these directories: ['/usr/src/app']
2023-12-19 19:37:33 INFO:     Uvicorn running on http://<IP_ADDRESS>:8500 (Press CTRL+C to quit)
2023-12-19 19:37:33 INFO:     Started reloader process [1] using StatReload
2023-12-19 19:37:36 Configuring logger
2023-12-19 19:37:36 Intercepting handlers
2023-12-19 19:37:37 <No Request Id> | 2023-12-19T14:07:37.480Z | DEBUG    | urllib3.connectionpool:_new_conn:1053 - Starting new HTTPS connection (1): openaipublic.blob.core.windows.net:443
2023-12-19 19:37:38 <No Request Id> | 2023-12-19T14:07:38.806Z | DEBUG    | urllib3.connectionpool:_make_request:547 - https://openaipublic.blob.core.windows.net:443 "GET /encodings/cl100k_base.tiktoken HTTP/1.1"<PHONE_NUMBER>
2023-12-19 19:37:53 INFO:     Started server process [7]
2023-12-19 19:37:53 INFO:     Waiting for application startup.
2023-12-19 19:37:53 <No Request Id> | 2023-12-19T14:07:53.034Z | INFO     | uvicorn.server:serve:76 - Started server process [7]
2023-12-19 19:37:53 <No Request Id> | 2023-12-19T14:07:53.036Z | INFO     | uvicorn.lifespan.on:startup:46 - Waiting for application startup.
2023-12-19 19:37:53 <No Request Id> | 2023-12-19T14:07:53.037Z | INFO     | infra.api.v1.app:lifespan:21 - Starting 1.0.0 application
2023-12-19 19:37:53 INFO:     Application startup complete.

if you notice at timestamp 2023-12-19 19:37:37, 2023-12-19 19:37:38 these requests sent whenever we do an import from llama-index.
now timestamp 2023-12-19 19:37:53 is when the main thread is unlocked again and the server continues.
This is around 15 seconds of delay in Boot Up time. and if we have multiple llama index imports in different parts of the app the delay duration keeps on increasing.
NOTE: on a persistent environment where these request's output can be cached, no issue there.
Version
0.9.16.post1
Steps to Reproduce
Test Environment: Docker + Python bookworm
main.py
import logging

logging.basicConfig(level=logging.DEBUG)

import uvicorn
from llama_index.embeddings import OpenAIEmbedding
from llama_index.vector_stores import PineconeVectorStore
from llama_index.schema import Document, TextNode

from fastapi import FastAPI

app = FastAPI()

logging.debug("Initializing OpenAIEmbedding")

@app.get("/")
def ping():
    return "Pong!"

if __name__ == "__main__":
    logging.debug("Starting server")
    uvicorn.run(app, host="<IP_ADDRESS>", port=8000, log_level="debug")

Expected Logs:
2023-12-19 20:03:53 DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): openaipublic.blob.core.windows.net:443
2023-12-19 20:03:55 DEBUG:urllib3.connectionpool:https://openaipublic.blob.core.windows.net:443 "GET /gpt-2/encodings/main/vocab.bpe HTTP/1.1" 200 456318
2023-12-19 20:03:57 DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): openaipublic.blob.core.windows.net:443
2023-12-19 20:03:58 DEBUG:urllib3.connectionpool:https://openaipublic.blob.core.windows.net:443 "GET /gpt-2/encodings/main/encoder.json HTTP/1.1"<PHONE_NUMBER>
2023-12-19 20:04:04 DEBUG:root:Initializing OpenAIEmbedding
2023-12-19 20:04:04 DEBUG:root:Starting server
2023-12-19 20:04:04 DEBUG:asyncio:Using selector: EpollSelector
2023-12-19 20:04:04 INFO:     Started server process [1]
2023-12-19 20:04:04 INFO:     Waiting for application startup.
2023-12-19 20:04:04 INFO:     Application startup complete.
2023-12-19 20:04:04 INFO:     Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)

Relevant Logs/Tracbacks
2023-12-19 19:37:33 Starting Server
2023-12-19 19:37:33 INFO:     Will watch for changes in these directories: ['/usr/src/app']
2023-12-19 19:37:33 INFO:     Uvicorn running on http://<IP_ADDRESS>:8500 (Press CTRL+C to quit)
2023-12-19 19:37:33 INFO:     Started reloader process [1] using StatReload
2023-12-19 19:37:36 Configuring logger
2023-12-19 19:37:36 Intercepting handlers
2023-12-19 19:37:37 <No Request Id> | 2023-12-19T14:07:37.480Z | DEBUG    | urllib3.connectionpool:_new_conn:1053 - Starting new HTTPS connection (1): openaipublic.blob.core.windows.net:443
2023-12-19 19:37:38 <No Request Id> | 2023-12-19T14:07:38.806Z | DEBUG    | urllib3.connectionpool:_make_request:547 - https://openaipublic.blob.core.windows.net:443 "GET /encodings/cl100k_base.tiktoken HTTP/1.1"<PHONE_NUMBER>
2023-12-19 19:37:53 INFO:     Started server process [7]
2023-12-19 19:37:53 INFO:     Waiting for application startup.
2023-12-19 19:37:53 <No Request Id> | 2023-12-19T14:07:53.034Z | INFO     | uvicorn.server:serve:76 - Started server process [7]
2023-12-19 19:37:53 <No Request Id> | 2023-12-19T14:07:53.036Z | INFO     | uvicorn.lifespan.on:startup:46 - Waiting for application startup.
2023-12-19 19:37:53 <No Request Id> | 2023-12-19T14:07:53.037Z | INFO     | infra.api.v1.app:lifespan:21 - Starting 1.0.0 application
2023-12-19 19:37:53 INFO:     Application startup complete.

I would build your docker image so that these requests are already cached.
Just add this to your dockerfile somewhere toward the end. It will download the tiktoken data
RUN python -c "import llama_index"

Thanks for the fast reply!
I just did what you suggested but the problem is these requests are dynamic based on specific module imports, i will need to add all the imports to Dockerfile to cache the results in the image.
Dockerfile

Logs
2023-12-19 20:19:09 INFO:     Will watch for changes in these directories: ['/usr/src/app']
2023-12-19 20:19:09 INFO:     Uvicorn running on http://<IP_ADDRESS>:8500 (Press CTRL+C to quit)
2023-12-19 20:19:09 INFO:     Started reloader process [1] using StatReload
2023-12-19 20:19:16 Configuring logger
2023-12-19 20:19:16 Intercepting handlers
2023-12-19 20:19:17 <No Request Id> | 2023-12-19T14:49:17.690Z | DEBUG    | urllib3.connectionpool:_new_conn:1053 - Starting new HTTPS connection (1): openaipublic.blob.core.windows.net:443
2023-12-19 20:19:19 <No Request Id> | 2023-12-19T14:49:19.037Z | DEBUG    | urllib3.connectionpool:_make_request:547 - https://openaipublic.blob.core.windows.net:443 "GET /encodings/cl100k_base.tiktoken HTTP/1.1"<PHONE_NUMBER>
2023-12-19 20:19:31 <No Request Id> | 2023-12-19T14:49:31.849Z | DEBUG    | urllib3.connectionpool:_new_conn:1053 - Starting new HTTPS connection (1): controller.us-west1-gcp.pinecone.io:443
2023-12-19 20:19:33 <No Request Id> | 2023-12-19T14:49:33.071Z | DEBUG    | urllib3.connectionpool:_make_request:547 - https://controller.us-west1-gcp.pinecone.io:443 "GET /actions/whoami HTTP/1.1" 401 114
2023-12-19 20:19:33 <No Request Id> | 2023-12-19T14:49:33.089Z | DEBUG    | charset_normalizer.api:from_bytes:439 - Encoding detection: ascii is most likely the one.
2023-12-19 20:19:33 <No Request Id> | 2023-12-19T14:49:33.895Z | DEBUG    | charset_normalizer.api:from_bytes:439 - Encoding detection: ascii is most likely the one.
2023-12-19 20:19:35 <No Request Id> | 2023-12-19T14:49:35.688Z | INFO     | uvicorn.server:serve:76 - Started server process [8]
2023-12-19 20:19:35 <No Request Id> | 2023-12-19T14:49:35.693Z | INFO     | uvicorn.lifespan.on:startup:46 - Waiting for application startup.
2023-12-19 20:19:35 INFO:     Started server process [8]
2023-12-19 20:19:35 INFO:     Waiting for application startup.
2023-12-19 20:19:35 <No Request Id> | 2023-12-19T14:49:35.694Z | INFO     | infra.api.v1.app:lifespan:21 - Starting 1.0.0 application
2023-12-19 20:19:35 INFO:     Application startup complete.
2023-12-19 20:19:35 <No Request Id> | 2023-12-19T14:49:35.931Z | INFO     | uvicorn.lifespan.on:startup:60 - Application startup complete.

Hmm, funny enough I was actually just in the process of fixing this in the packaging itself. You can try pip install llama-index==0.9.16.dev2 to get a preview of the changes in the above PR
I think it should work well for this use case.


fix(photon): allow reconnecting after disconnect

Closes #273

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


purge maistra related stuff

part of https://github.com/kiali/kiali/issues/6816
see also: https://github.com/kiali/kiali/pull/6819
to test, see test procedures here

This looks fine. Do we have any maistra-specific content on kiali.io (other than the compatibility chart)?

Only other place is https://kiali.io/docs/configuration/namespace-management/#accessible-namespaces
Maistra supports multi-tenancy and the accessible_namespaces extends that feature to Kiali. However, explicit naming of accessible namespaces can benefit non-Maistra installations as well - with it Kiali does not need cluster roles and the Kiali Operator does not need permissions to create cluster roles.

Only other place is https://kiali.io/docs/configuration/namespace-management/#accessible-namespaces

I think we can remove this blurb as well, but I can do it as part of the next release notes PR, which also has to update a couple of other things.  This will remain in the 1.73 version of the docs (and all other maistra release versions of the docs).

Only other place is https://kiali.io/docs/configuration/namespace-management/#accessible-namespaces

I think we can remove this blurb as well, but I can do it as part of the next release notes PR, which also has to update a couple of other things. This will remain in the 1.73 version of the docs (and all other maistra release versions of the docs).

I created a PR for this already, let it be attached to this issue:
https://github.com/kiali/kiali.io/pull/719


[REQUEST]What the accelerator for?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Hi, I tried to understand the accelerator module in deepspeed recently. However, I can not understand why did you design this module and what's this module for? Can you explain the insight behind this module？Thank you very much!

In short, the accelerator module makes it easy to port DeepSpeed to arbitrary accelerators such as the XPU or even CPUs.


⚠ Bofrost.es has degraded performance

In a171dcd, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1500 ms

Resolved: Bofrost.es performance has improved in ce86957 after 18 minutes.


A way (maybe) for mods to work

Maybe we do it like sonic 3 air did mods. You make a android/data folder, and copy the mod folder into it.
So when you add files to it, it has it in the game so you dont need to reinstall it when you add mods

me when i learn zackgamerz port! :)))))))))


Raspberry pi only, No navio or pxfmini needed, rc in and pwm output,without shield

Both 8 channels PPM encoder and 8 channels revicer are required.
Before launch px4, ppmdeocde program should be launched.
To download ppmdecode program,
visit https://github.com/crossa/raspberry-pi-px4firmware.
PPM signal can be decoded by GPIO.7
Pxfmini and navio are not popular autopilot hardware in china,
I can handly to purchase it.
So that I use raspberry pi to build autopilot separately.
This dirver help to read the pwm value from shared memory and pushlish it to orb system
To see the video of testing，visit http://player.youku.com/player.php/sid/XMjUxMzczNTEzMg==/v.swf

@bkueng are you a position to review this? Who maintains raspi?

@dagar @bkueng
I  have tested this driver and finished first flight.
Click the follow link to see the video
http://v.youku.com/v_show/id_XMjY5NTQ0OTczNg==.html?spm=a2hzp.8244740.userfeed.5!2~5~5~5!2~A
There is still a pwm output driver I wrote  not be released.
I'v made a new branch , see here  https://github.com/crossa/Firmware/tree/v1.5.5-rpi
If using this branch ,you can make the raspberry pi as the pilot without naive or pxfmini
click the following link to see the information
http://bbs.5imx.com/forum.php?mod=viewthread&tid=1252361&extra=page%3D1
I'll maintains these driver.

@dagar @bkueng  I had released all of the code and config file a moment ago

Who maintains raspi?

That would be me when I find the time :)
Some questions/feedback based on a quick glance:

There is some LGPL Licensed code (https://github.com/PX4/Firmware/pull/6619/files#diff-557b726d5a7458996a5e9698d44ca57eR12) and we cannot include that here. I'm afraid that you need to rewrite this driver yourself completely.
Can you convert all Chinese to English?
Is the separate cmake config & toolchain really needed? Why not use the existing files?
is this the ppmdecode program: https://github.com/crossa/raspberry-pi-ppm-rc-in ?
Any reason why it needs to be a separate binary?

@bkueng

I can rewrite the pca9685 driver if neccery.

I can convert  Chinese to English ,but  I'll keep all the comment written by Chinese.

The  separate cmake config & toolchain is needed to support different prefixes of toolchain . Our engineers often make toolchain  themself，so there are different prefixes.

This ppmdecode programe  is dependent on pigpio so it was a separate  binary, if you want SBUS via uart  as  input device，you can write another progame to replace the ppmdecode binary and no need to adjust the px4 driver.

I refered to the  rc input of navio, The pwm signal  was bed written into the device dependent on kernel driver and the signal will be read from the device  by px4 driver every certain time, I use the program to instead of the kernel driver otherwise  a kernel driver was needed.  I don't  recommend it beacuse  users can not upgrade the system them self if they are using navio or pxfmini, if kernel has been updated , the rc in kernel module will be missed.  So I use a  separate binary and passing the pwm value by shm and if you want upgrade the linux system then upgrade it，don't worry
about system failure

The separate cmake config & toolchain is needed to support different prefixes of toolchain . Our engineers often make toolchain themself，so there are different prefixes.

We should not duplicate files just for that. Related: https://github.com/PX4/Firmware/pull/6528

This ppmdecode programe is dependent on pigpio so it was a separate binary, if you want SBUS via uart as input device，you can write another progame to replace the ppmdecode binary and no need to adjust the px4 driver.

Thanks for the explanation. That sounds ok. The reason why people do it typically in the kernel is for better timing (reduced latency & jitter).

@bkueng When using preemptive process management，run a binary in user space is the best way to make it work at realtime especially in respbian system.
The kernel module is not conducive to real time.
Ok, I'll remove the cake config and change the comment and rewrite the pca9685 userspace driver

@bkueng I have rebase the driver and remove the duplicated config.
I have written the comment in English.
I have added a config named posix_rpi_cross_without_navio_or_pxfmini.cmake .
I have  add  __DF_RPI_SINGLE definition  and modify some required driver in the cmake file.
Two month ago I  fixed some issue for DriverFramework about spi frequency and __DF_RPI_SINGLE definition was required to make it work correctly otherwise the copter will crashed.
The px4_rpi.config is the config file for raspberry pi without navio or pxfmini
Please check the pull request

@bkueng  please check the code.
If there is issue I'll fix it as soon as possible

Thanks for your efforts, @crossa, it's much appreciated. I took your PR and continued it in #7200, there were many small things to improve the code quality, and I thought it would be more efficient if I helped you with that.
Can you please also add documentation how to use the ppmdecode program and how to connect the boards, something similar to https://dev.px4.io/en/airframes_multicopter/matrice100.html? You find the repository on https://github.com/PX4/Devguide

@bkueng   Here is the readme of the ppmdecode please check it
https://github.com/crossa/raspberry-pi-ppm-rc-in/blob/master/README.md

@crossa are you aware of #7200?

@bkueng   I will close this pull request but don't how to close it.
If  I push the code ,the pull request will be reopened.
Please ignore it.
I'm rewriting these code in these days and try to port px4 to generic arm board such  as nano pi.


Temperature Converter

Tempreature_Fahrenheit = float(input("what is the temperature in F: " ))
Celsius =round((Tempreature_Fahrenheit - 32) / 1.8 , 2)
print('Tempreature in Celsius: ', Celsius)

Hi @sanjeewa311! This is Brandon from Codédex. Just wanted to follow up on this!
Was this a suggestion for an alternative solution to the "Temperature" exercise in our Python course?
I love this solution, but I'm not sure it would fit with this exercise at this point in the course for the following reasons:

The input() function is actually introduced for the first time in the course two exercises later (in 9. Pythagorean Theorem).
The float() and round() functions are not actually used in the course! While these are both solid built-in Python functions, we didn't want to include too many of them in this course that is oriented towards beginners of Python (or code, in general).

Hope this helps and thank you for the suggestion! 😄
cc: @sonnynomnom

Great answer @Dusch4593! +1 and closing this one for now. 🙏


NSL for Regression

I was able to integrate adversarial loss to my TensorFlow model, My input data has combination of categorical and continuous attributes.
Is there any way to specify not to perturb categorical data while creating adversarial examples?
code:
x = tf.placeholder(tf.float32,shape=(None,20))
y = tf.placeholder(tf.float32,shape=(None,1))
#build a sample model
def model(x,y,is_training):
    with tf.variable_scope("regression_model",reuse=tf.AUTO_REUSE) as scope:
        layer0 = tf.layers.Dense(units=64,activation=tf.nn.relu)(x)
        layer1 = tf.layers.Dense(units=128,activation=tf.nn.relu)(layer0)
        output = tf.layers.Dense(units=1)(layer1)
        error = tf.subtract(y,output)
        print(error)
        loss = tf.reduce_mean(error,axis=0)
    return loss
#normal loss mean absolute error
regular_loss = model(x,y,True)
adv_config = nsl.configs.AdvRegConfig()
adv_input,adv_weights = nsl.lib.gen_adv_neighbor(x,regular_loss,config=adv_config.adv_neighbor_config)
adv_loss = model(adv_input,y,True)
overall_loss = regular_loss + 0.2*adv_loss
train_step = optim.minimize(overall_loss)
tf.random.set_random_seed(100)
sess = tf.Session()
init_op = tf.global_variables_initializer()
sess.run(init_op)
X = np.random.random((32,20))#batch of 32
Y = np.random.random((32,1))
sess.run([train_step,adv_loss,regular_loss,overall_loss],feed_dict={x:X,y:Y})

Hi, Santhosh.
Yes, in the AdvRegConfig, you can specify an AdvNeighborConfig via the AdvRegConfig.adv_neighbor_config field. The AdvNeighborConfig.feature_mask field can be used to control which of your input features to perturb: specify 0.0 in the feature_mask for your categorical features, and 1.0 for the continuous features. Here's the unit test that tests how feature masks are applied:
https://github.com/tensorflow/neural-structured-learning/blob/master/neural_structured_learning/lib/utils_test.py#L302
Hopefully, you'll be able to figure it out from that, but please let us know if you have any further questions!
By the way, you may find it convenient to use the make_adv_reg_config() function to construct your AdvRegConfig instance:
https://www.tensorflow.org/neural_structured_learning/api_docs/python/nsl/configs/make_adv_reg_config

Thank you that worked

I couldn't find any example for TensorFlow model in the API, Is this the right way to implement or do suggest any corrections
x = tf.placeholder(tf.float32,shape=(None,20))
y = tf.placeholder(tf.float32,shape=(None,1))
#build a sample model
def model(x,y,is_training):
    with tf.variable_scope("regression_model",reuse=tf.AUTO_REUSE) as scope:
        layer0 = tf.layers.Dense(units=64,activation=tf.nn.relu)(x)
        layer1 = tf.layers.Dense(units=128,activation=tf.nn.relu)(layer0)
        output = tf.layers.Dense(units=1)(layer1)
        error = tf.subtract(y,output)
        print(error)
        loss = tf.reduce_mean(error,axis=0)
    return loss
#normal loss mean absolute error
regular_loss = model(x,y,True)
adv_config = nsl.configs.AdvRegConfig()
adv_input,adv_weights = nsl.lib.gen_adv_neighbor(x,regular_loss,config=adv_config.adv_neighbor_config)
adv_loss = model(adv_input,y,True)
overall_loss = regular_loss + 0.2*adv_loss
train_step = optim.minimize(overall_loss)
tf.random.set_random_seed(100)
sess = tf.Session()
init_op = tf.global_variables_initializer()
sess.run(init_op)
X = np.random.random((32,20))#batch of 32
Y = np.random.random((32,1))
sess.run([train_step,adv_loss,regular_loss,overall_loss],feed_dict={x:X,y:Y})

Hi Santhosh,
The overall structure of your code looks fine. One thing you might want to change is the loss. Instead of setting loss to the mean of (signed) errors, you might want it to be the mean of absolute errors tf.reduce_mean(tf.abs(error)), or squared errors tf.reduce_mean(error**2).
Besides, you may also consider using the Keras API to build and train models, which could simplify the code a bit. (See Keras guide for TF 2.x and for TF 1.x.) We also provide a convenient wrapper nsl.keras.AdversarialRegularization for adding adversarial regularization to Keras models (tutorial here). This is totally optional. Your code and model can work well with its current TensorFlow API use.
Hope this helps.


gitlab-ce: upgrade from 14.9.5 to 14.10.5

Changelog:
https://gitlab.com/gitlab-org/gitlab-foss/blob/master/CHANGELOG.md#14105-2022-06-30

bors r+


Changed to new third party dependency function

Existing function was obsolete. This is up to date function to add third party dependencies.

@SalihBalkan thank you for doing these. I will go through the changes and merge when I get back from traveling! Really appreciate it.


[ISSUE #550] Deduplicate plugin jar

Codecov Report

Merging #558 (d0f179c) into develop (b652be9) will increase coverage by 0.07%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop     #558      +/-   ##
=============================================
+ Coverage      10.92%   11.00%   +0.07%
- Complexity       387      391       +4
=============================================
  Files            263      263
  Lines          12490    12490
  Branches        1046     1046
=============================================
+ Hits            1365     1374       +9
+ Misses         11008    10998      -10
- Partials         117      118       +1

Impacted Files
Coverage Δ

...mesh/connector/standalone/broker/MessageQueue.java
40.25% <0.00%> (+7.79%)
:arrow_up:

...tandalone/broker/task/HistoryMessageClearTask.java
50.00% <0.00%> (+16.66%)
:arrow_up:

Continue to review full report at Codecov.

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

@xwm1992 Please take a look.
eventmesh-examples can be exclude during dist task

@xwm1992 Done.

eventmesh-common，eventmesh-runtime，eventmesh-spi both in apps and lib


add setting to configure when to raise the user unload event and remove user always before requesting sign-out

Closes/fixes #1379
Checklist

[ ] This PR makes changes to the public API
[x] I have included links for closing relevant issue numbers

@PSanetra Can you review and test?

unload event is

deferred to callback (default, raiserUserUnloadEventBeforeSignoutRequest=false)
done before requesting the sign-out  (option: raiserUserUnloadEventBeforeSignoutRequest=true)

remove user from storage is always (independent of option) done before requesting the sign-out

Any better name for raiserUserUnloadEventBeforeSignoutRequest?

I think raiserUserUnloadEventBeforeSignoutRequest might be renamed to noSignoutCallbacksSupported or signoutCallbackSupported with true as default if the value is undefined.
The user/ developer is expected to set signoutCallbackSupported to false if he expects never to call any signout callback.

I think this solution is too complicated, i do not like an option for this at all. The previous behavior (<v3.0) was dead simple


Need to modify Siddhi file required for Bot Detection feature of APIM 3.0.0

As per discuss here[1] need to modify this Siddhi file as similar to the "APIM_ALERT_EMAIL_NOTIFICATION.siddhi".
/*
    Copyright (c) 2018, WSO2 Inc. (http://wso2.com) All Rights Reserved.

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
*/

@App:name("apim_bot_detection_alert_configuration_0")
@App:description("Identifies the bot detection")

@sink(type='log')
@source(type = 'wso2event', wso2.stream.id = 'org.wso2.botDetectedData.request.stream:1.0.0',
        @map(type = 'wso2event'))
define stream botDetectionStream(
    REQUEST_TIME long,
    MESSAGE_ID string,
    HTTP_METHOD string,
    HEADERS string,
    MESSAGE_BODY string,
    CLIENT_IP string);

@sink(type='email', content.type="text/html", @map(type ='text', @payload('Message ID:{{MESSAGE_ID}}

 Http method:{{HTTP_METHOD}}

Headers:{{HEADERS}}

 Message Body:{{MESSAGE_BODY}}

 Client IP:{{CLIENT_IP}}')),subject='Bot detection alert from WSO2 APIM Analytics',to='{{SUBSCRIBER_ADDRESS}}')
define stream EmailNotificationStream (
 REQUEST_TIME long,
 MESSAGE_ID string,
 HTTP_METHOD string,
 HEADERS string,
 MESSAGE_BODY string,
 CLIENT_IP string,
 SUBSCRIBER_ADDRESS string
);

@store(type = 'rdbms', datasource = 'APIM_ANALYTICS_DB')
@PrimaryKey('MESSAGE_ID')
define table AM_BOT_DATA (REQUEST_TIME long, MESSAGE_ID string, HTTP_METHOD string, HEADERS string, MESSAGE_BODY string, CLIENT_IP string);

@store(type = 'rdbms', datasource = 'WSO2AM_DB')
@PrimaryKey('UUID')
define table AM_NOTIFICATION_SUBSCRIBER(UUID string, CATEGORY string, NOTIFICATION_METHOD string, SUBSCRIBER_ADDRESS string);

from botDetectionStream select * insert into AM_BOT_DATA;

from botDetectionStream as B join AM_NOTIFICATION_SUBSCRIBER as E select B.REQUEST_TIME, B.MESSAGE_ID, B.HTTP_METHOD, B.HEADERS, B.MESSAGE_BODY, B.CLIENT_IP, E.SUBSCRIBER_ADDRESS
insert into EmailNotificationStream;

[1].https://github.com/wso2/analytics-apim/pull/653

Fixed in https://github.com/wso2/analytics-apim/pull/692. Hence, this issue can be closed.


Add further keyboard controls

Currently can navigate using tab, however we could build on this and add further keyboard support.
For reference on expected controls
https://www.w3.org/TR/wai-aria-practices/examples/accordion/accordion.html#kbd_label

Implemented on next branch. Watch here and here to track progress of the associated upcoming release.


Add MouseEvent

Adding definition for MouseEvent based on docs:
https://w3c.github.io/uievents/#interface-MouseEvent  and https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent
fixes #774

@facebook-github-bot shipit


Juicebox pushing to filesystem on localhost but not from heroku

I have an endure app hosted on heroku that when using on my local machine the juice pack command, or the publish button, pushes the changes to aws. However, when hitting the publish button on the admin side of the live site, nothing happens. Any ideas?

Is there an eta for this issue to be fixed? I understand there's a fix coming just want to get an idea on when I could expect to see that rolled out. Or if you could provide a rollback version of enduro where this is working since It has been working previously.
Thanks.


Chore(web-twig): Ignore tests and stories from exported package

Description
Fixing configuration of the web-twig-bundle package which includes tests and stories and this should not happen.
Additional context
Thanks @janicekt for this notice.
You can reproduce the package archive by running git archive --format=tar.gz -o web-twig-test.tar.gz HEAD in packages/web-twig.
Issue reference
https://jira.lmc.cz/browse/DS-969

Before submitting the PR, please make sure you do the following

[ ] Read the Contributing Guidelines.
[ ] Follow the PR Title/Commit Message Convention.
[ ] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

coverage: 96.46% (+25.6%) from 70.887% when pulling 5a599213ca33aaede7cdc7dd6a16e04953973ee3 on chore/web-twig-ignore-tests-export into b63bf9e11713da4b76376c30214b2836288f69c8 on main.


Failed to start enclave with unclear error: Failed to connect to specific enclave process

My start script
sed -i "s/^\s*memory_mib.*$/memory_mib: $MEMORY_MB/g" /etc/nitro_enclaves/allocator.yaml
sed -i "s/^\s*cpu_count.*$/cpu_count: $CPU_COUNT/g" /etc/nitro_enclaves/allocator.yaml
systemctl restart nitro-enclaves-allocator.service
echo "nitro-enclaves-allocator restarted"

echo "starting enclave..."
nitro-cli run-enclave --eif-path $EIF_PATH --memory $MEMORY_MB --cpu-count $CPU_COUNT --enclave-cid $CID --debug-mode
nitro-cli console --enclave-id $(nitro-cli describe-enclaves | jq -r '.[0].EnclaveId')

updating allocator: CPU_COUNT=8, MEMORY_MB=20000...
nitro-enclaves-allocator restarted
starting enclave...
Start allocating memory...
Started enclave with enclave-cid: 42, memory: 20000 MiB, cpu-ids: [1, 9, 2, 10, 3, 11, 4, 12]
{
  "EnclaveID": "i-04e1bfe628305b166-enc17aab64b3f7703d",
  "ProcessID": 7885,
  "EnclaveCID": 42,
  "NumberOfCPUs": 8,
  "CPUIDs": [
    1,
    9,
    2,
    10,
    3,
    11,
    4,
    12
  ],
  "MemoryMiB": 20000
}
[ E11 ] Socket error. This is used as an error for catching any other socket operation errors not covered by previous custom errors.

For more details, please visit https://docs.aws.amazon.com/enclaves/latest/user/cli-errors.html#E11

If you open a support ticket, please provide the error log found at "/var/log/nitro_enclaves/err2021-07-15T18:19:14.575657217+00:00.log"
Done!
[ec2-user@ip-172-31-32-27 aws]$ cat /var/log/nitro_enclaves/err2021-07-15T18:19:14.575657217+00:00.log
  Action: Enclave Console
  Subactions:
    Failed to retrieve enclave CID
    Failed to connect to enclave process
    Failed to connect to specific enclave process: Os { code: 2, kind: NotFound, message: "No such file or directory" }
  Root error file: src/enclave_proc_comm.rs
  Root error line: 129
  Build commit: not available

There is a typo in this command:
nitro-cli console --enclave-id $(nitro-cli describe-enclaves | jq -r '.[0].EnclaveId')

There should be EnclaveID instead of EnclaveId.
The enclave has started, but the error comes from this command, when trying to connect to its console with an enclave ID that is not valid.

That's indeed the problem. Thank you for the fast response!

You are welcome.


Improve description of control-flow protection

Make section consistent with changes in GCC 14

Fixed conflict and merging as per discussion in C/C++ Compiler BP Guide 2024-09-05.


PyTorch Model Support

Hi team,
Just wondering do you have any plan for supporting the PyTorch models in the converter?
With such a popularity for PyTorch, it seems odd to not support PyTorch models.
I was okay to go with TF until I actually tried to train a custom model and received so many hurdles:
This is what I have experienced:
Hurdle 1
I followed the official tutorials for training a custom segmentation model here and here
and found they are all DEPRECATED(ctrl+c, ctrl+v without changing the cap).
Hurdle 2
I then followed the Roboflow colab notebook, then discovered that we need to apply for a token in order to use its script, which I cannot find...
Hurdle 3
I then created an account on their website and found some api keys and tried each(e.g. Publishable API Key), but none of them worked.
After hours searching, I gave up. it's just too much hustles to try to follow the tutorial to train our custom models with Tensorflow...
I then went to the blob converter website and found it does not even support PyTorch...
My suggestions:

customers have paid for the hardware, please provide them with open source project(not the deprecated one) for them to train their custom models free. Try to minimize the difficulties to use your products.
My expectation was once I paid for the hardware, I do not need to pay anything else in order to use it without difficulties. But the reality is, sure Roboflow provides the "public version" which is free(but need token??? no where to find the token) to use, but we have to trade out our data set in order to use its service...  Could we try to clean up the old and deprecated code and provide your customers a clean, update to date and functional code and let them happily to use your products??
Hopefully, the PyTorch models can be supported soon.

Hello @franva , deeplab semantic segmentation training demo PR is here: https://github.com/luxonis/depthai-ml-training/pull/11


choose metadata vocabulary for lessons

We will want to distribute our lessons widely, and it will be helpful to have structured metadata for the lessons to be used in search and discovery. The ESIP Data Management Training Clearinghouse has an established metadata vocabulary for courses, and would make a good starting point for our work -- see below for an example of that metadata. But we also should evaluate metadata vocabularies used in other related initiatives, including the Carpentries (see their example format for lessons), the NEON modules, and EarthLab courses.
Here's an example metadata record from the DMTC for a DataONE lesson on metadata:
[
  {
    "title": "DataONE Data Management Module 07: Metadata",
    "status": 1,
    "pub_status": "published",
    "modification_date": "2022-06-21T10:56:57Z",
    "resource_modification_date": "1900-01-01T00:00:00Z",
    "url": "https://dataoneorg.github.io/Education/lessons/07_metadata/index.html",
    "access_cost": 0,
    "submitter_name": "Amber Budden",
    "submitter_email"<EMAIL_ADDRESS>    "authors": [],
    "author_names": [],
    "author_org": {
      "name": "DataONE Community Engagement and Outreach Working Group",
      "name_identifier": "",
      "name_identifier_type": ""
    },
    "contact": {
      "name": "Amber E.  Budden",
      "org": "DataONE",
      "email": ""
    },
    "abstract_data": "What is metadata? Metadata is data (or documentation) that describes and provides context for data and it is everywhere around us. Metadata allows us to understand the details of a dataset, including: where it was collected, how it was collected, what gaps in the data mean, what the units of measurement are, who collected the data, how it should be attributed etc. By creating and providing good descriptive metadata for our own data, we enable others to efficiently discover and use the data products from our research. This lesson explores the importance of metadata to data authors, users of the data and organizations, and highlights the utility of metadata. It provides an overview of the different metadata standards that exist, and the core elements that are consistent across them; guiding users in selecting a metadata standard to work with and introduces the best practices needed for writing a high quality metadata record.
\r\nThis 30-40 minute lesson includes a downloadable presentation (PPT or PDF) with supporting hands-on exercise, handout, and supporting data files.
\r\n ",
    "abstract_format": "filtered_html",
    "subject": "",
    "keywords": [
      "Data lifecycle",
      "Data management",
      "Metadata"
    ],
    "license": "Creative Commons 0 - CC0 \"No Rights Reserved\" (Public Domain)",
    "usage_info": "",
    "citation": "DataONE Community Engagement & Outreach Working Group (2017) \"Metadata Management\". Accessed at https://dataoneorg.github.io/Education/lessons/07_metadata/ on Jun 01, 2018",
    "locator_data": "",
    "locator_type": "",
    "publisher": "DataONE",
    "version": "v1 - 05.01.2012",
    "created": "2016-09-22T14:24:18",
    "published": "2012-05-01T00:00:00Z",
    "accessibility_features": [
      {
        "name": "Transformation - features that allow the content to be changed for ease of access, e.g., by using large print fonts."
      }
    ],
    "accessibility_summary": "",
    "language_primary": "en",
    "languages_secondary": [],
    "ed_frameworks": [
      {
        "name": "DataONE Education Modules",
        "nodes": [
          {
            "description": "",
            "name": "Describe"
          }
        ],
        "type": "framework"
      },
      {
        "name": "FAIR Data Principles",
        "nodes": [],
        "type": "framework"
      }
    ],
    "target_audience": [],
    "purpose": "Instruction - detailed information about aspects or processes related to data management or data skills.",
    "completion_time": "Up to 1 hour",
    "media_type": "Presentation - representation of the particular way in which an author shows, describes or explains one or more concepts, e.g., a set of Powerpoint slides.",
    "lr_type": "Unit -  long-range plan of instruction on a particular concept containing multiple, related lessons.",
    "creator": "sophisticus",
    "md_record_id": "",
    "ratings": [],
    "rating": 0,
    "id": "32335b19-8e6f-3772-aacc-1379d70330bb",
    "contributors": [],
    "contributor_orgs": [
      {
        "name": "DataONE",
        "name_identifier": "N.A.",
        "name_identifier_type": "N.A.",
        "type": "Final product"
      }
    ],
    "score": 4.3308573,
    "country_of_origin": null,
    "credential_status": null,
    "notes": []
  }
]

Each lesson in the DMTC has an identifier, and with that , you can downloaded the lesson metadata from the DMTC API (see DMTC API documentation) using the following command:
curl -s https://dmtclearinghouse.esipfed.org/api/resources/?id=32335b19-8e6f-3772-aacc-1379d70330bb | jq .results

Here is some information about how the Data Carpentries, NEON lectures, Earth Lab Lessons, and the Data Management Training Clearinghouse (DMTC) add metadata for archiving and organizing their modules.
Data Carpentries
Date Carpentries lessons are organized into episodes.

Each episode’s YAML header must contain:
the episode’s title
time estimates for teaching and exercises
motivating questions
lesson objectives
a summary of key points

For example, this is the YAML for the Using RMarkdown episode:
---
source: Rmd
title: "Using RMarkdown"
teaching: 10
exercises: 2
questions:
- "How to write a lesson using RMarkdown?"
objectives:
- "Explain how to use RMarkdown with the new lesson template."
- "Demonstrate how to include pieces of code, figures, and challenges."
keypoints:
- "Edit the .Rmd files not the .md files"
- "Run `make serve` to knit documents and preview lesson website locally"
---

NOTES:
I really like the teaching and exercises timing information. It could also serve to distinguish between modules where participants mostly work on exercises and modules where there’s more lecturing. However, I would change teaching and exercises to something like teaching-time and exercises-time to make it explicit it is the timing (at first I thought exercises: 2 meant there were 2 exercises).
NEON teaching modules
NEON teaching modules are part of the Quantitative Undergraduate Biology Education and Synthesis
(QUBES) lesson repository. According to their website,

The QUBES platform hosts hundreds of teaching materials, reference materials, and cloud-based software free to use and adapt using open Creative Commons licenses.

In the filters tab in the QUBES lesson browser, there are three main tags associated with each lesson. These are the tags with the corresponding subtypes:

Resource Type:

Teaching material
Reference material
Dataset

Audience level:

High School
Undergraduate
Graduate
Faculty

Activity length:

Less than 1 hour
1 Hour
More than 1 hour
Extended Project

Other less used tag categories are:

Software Used
Inclusive Pedagogy for Life Science Education
QUBES Universal Design Tagging Ontology
Open Science and Education Practices Ontology.

The NEON teaching modules use the first three tags and call these “alignments”. Here's an example module.  Most modules have further subcategories for each alignment. For example:

Audience Level

Undergraduate

Introductory

Non-majors
Majors

Advanced

Resource Type

Teaching material

Homework
Lecture
Lab
Online course

Dataset

Raw
Cleaned

The NEON teaching modules also include a citation with information about author, year of publication, title, version number and doi. Example:

Lesley Bulluck (2019). Testing hypotheses about the role of wildfire in structuring avian communities.  NEON Faculty Mentoring Network, (Version 2.0). QUBES Educational Resources. doi:10.25334/R2S1-4S62

NOTES: I really liked the core three alignments: audience level, resource type and activity length. The activity length could complement the other time-tracking metadata about lecturing and exercises. I was surprised the “software used” tag wasn’t as used. This would be good to include for us too. Having software used = None for non-technical modules could also be an option.
Earth Lab Lessons
The Earth Lab only hosts resources developed by Earth Lab at University of Colorado, Boulder. The lessons are organized into the following topics:
LESSONS BY TOPIC:

Remote sensing
Earth science
Social science
Time series
Data exploration and analysis
Spatial data and gis
Reproducible science and programming
Find and manage data
File formats

NOTES: Having a topic tag could be good and these are some possible values for it.
Data Management Training Clearinghouse (DMTC)
According to their website:

Data Management Training Clearinghouse (DMTC) is a registry for excellent online learning resources focusing on data skills and capacity building for research data management, data stewardship and data education.

Learning resources can be browsed using the following filters:
Filters

Keywords
Author Organization(s)
Authoring Person(s) Names
Original Languages
Additional Languages
Target Audiences
Access Cost
License
Accessibility Features
Subject Discipline
Media Type
Educational Purpose
Educational Frameworks
Publication Status

Additionally, these are the tags from the metadata Matt shared:

title
status
pub_status
modification_date
resource_modification_date
url
access_cost
submitter_name
submitter_email
authors
author_names
author_org
contact
abstract_data
keywords
license
usage_info
citation
locator_data
locator_type
publisher
version
created
published
accessibility_features
accessibility_summary
language_primary
languages_secondary
ed_frameworks
target_audience
purpose
completion_time
media_type
lr_type
creator
md_record_id
ratings
rating
id
contributors
contributor_orgs
score
country_of_origin
credential_status
notes

NOTES: Many of the tags in the complete metadata are about submission to the module to DMTC, so these would be needed. Others, like access_cost, license, language_primary, and language_secondary, will probably be the same for all the modules we develop, so we could keep these out for now. Keywords, target_audiece, completion_time, and title are some we could add right away. Once the module becomes stable we could include url, citation and authors.

Summarized Thoughts
We could add metadata in stages. To begin, these could be some informative tags that align well with the previous learning materials repositories:

title
topic (follow Earth Lab Lessons categories)
subject discipline (follow DMTC categories)
resource-type

teaching material

lecture
lab

dataset

raw
cleaned

activity length (same as completion time in DMTC)

less than 1 hour
1 hour
more than 1 hour
extended project

teaching time
exercises time
audience level:

undergraduate
graduate
faculty

software used
objectives
keywords
authors

Follow-up to Matt’s comments about Earth Lab’s metadata.
I looked through Earth Lab’s GitHub. The lessons can be found in the _posts folder. This is an example:
Rendered lesson
md file
yml header:

layout: single
category: courses
title: "Time Series Data in Python"
permalink: /courses/use-data-open-source-python/use-time-series-data-in-python/
week-landing: 1
modified: 2020-09-11
week: 1
sidebar:
nav:
comments: false
author_profile: false
course: "intermediate-earth-data-science-textbook"
module-type: 'session'

From these I’d suggest we add ‘course’ and, maybe, ‘permalink’ (url) (at least when we have a rendered final version of the lessons).

Hi @mbjones .
Here's a sample yaml file for the sections, let me know what you think:
https://github.com/cyber2a/cyber2a-course/blob/main/section_metadata_blank.yml
It might be a bit too long to copy have it at the beginning of each lesson. Is it possible to have a separate .yml file associated with lesson's .qmd file?

Good question. I don't know if you can include another file.


Added IPv6 DNS, and more options for Cloudflare, Cisco OpenDNS, Quad9, AdGuard

IPv6 DNS servers are deliberately not being used. Generally speaking, routing is way better over the IPv4 internet than over the IPv6 internet, so in most situations there is no advantage in using DNS over IPv6 and it can potentially cause issues. For example, customers single-homed to Cogent or Hurricane Electric do not have access to the full IPv6 internet.
Also, the official product name for Cloudflare recursive resolvers is <IP_ADDRESS>, so that is why it is named like that in the dialogs. Same goes for OpenDNS.
Anyway, I am not interested in merging this commit, sorry.


Integration Test Improvements

This is not critical stuff for 6.0.0, but just up for discussion:
The new integration test framework is great, and was an enormous amount of work for @RedX2501, but it's currently taking me 5x as long to get the tests working as it does to write the code that I'm writing the tests for.  We've (i.e. @RedX2501 has) made loads of improvements in this regard already, but here's my suggestions:

Interaction between tests.   We have problems where database changes made in one test are visible in other tests.  We're trying to solve this at the moment with better clean-up within tests (disposing repos, etc), but I think that's possibly the wrong approach, for two reasons:
It further slows the tests down, and they're slow enough as it is
Cleanup problems in one test can still impact an unrelated test

I think it is fundamental principle of a robust test framework that one test should be able to screw everything up in any way possible, and the next test should never, ever be affected by that.   I think it's down to the test setup to arrange things predictably for each test.
Now, every bit of boilerplate in the test set-up code is painful in terms of execution rate.  We couldn't bear to have code at the beginning of every test which walked through the UI erasing users, teams, repos etc.
I propose that we implement a database reset within Bonobo, which forces the database (and possibly a git repo) into a known, fixed state, solely for the benefit of testing.  We could do this either by holding a pre-prepared .DB file somewhere (though they can be hard to overwrite) or just by using a bunch of calls to the various account services.   This could be a 'local only' action on the home controller, say.
I think we could have two different reset states that a test could request:

Empty (i.e. nothing except admin user) - every test would start in this state
Reference setup - A fixed, sample set of data, which tests could rely on without needing to set it up in each tests - so admin plus another couple of users, a team, a repo (ideally containing some files, though that's a different challenge)

Sounds reasonable. We should define what the default content should be. I'm also in favour of having to give it an username+password (ether on the URL or basic auth) just in case.

OK - I'll have a think about this - I think there might be some MachineKey technique we could use to make 100% sure that the request came from the test framework on the machine

I'm closing this, because we've done the main part of it, which was the reset.


Reduce long one liner argument statements into multiple shorter lines

What does this MR do?

Reduce long one liner args into multiple lines

Why is this MR needed?

Enhance readability
Easier readbility if adding additional optional arguments

@davecheney
A question I have is, should I also convert short one liners like
args: ["foo", "bar"]

into
args:
- foo
- bar

in the name of consistency?

Fixes #568


Ruby 3.2.2 / 3.1.4 / 3.0.6 released.

Once https://github.com/moritzheiber/ruby-jemalloc-docker/actions/runs/4572989449 completes these new releases should be available as images. I'll wait with closing this ticket until then :slightly_smiling_face:

All of the images are available now :smiley:

Thank you @moritzheiber


[GTK] Only autoscroll viewport if accessibility is disabled

This is a followup to https://github.com/mono/bockbuild/pull/126 and
https://github.com/xamarin/AtkCocoa/pull/9
We want to keep the GTK patch because it improves the experience when
accessibility is not enabled. But in cases where it is enabled we
don't want viewport autoscrolling potentially happening from both
GTK and from AtkCocoa.

Don't review/merge this yet, it's not quite ready.


Fix copying JS hooks multiple times

Fixes #291.

@lnr0626 no need to review this now. I'll change those tests to use file_system.


Feature/multi tabs

Multi tabs implementation

Doesn't compile, seems to be a missing dependency
src/app/Router.tsx(4,26): error TS2307: Cannot find module 'path-to-regexp' or its corresponding type declarations.

Also it's quite a pain to review this PR in its current state as there is 18 commits including merge commits intermixed with commits merged from master. I'd suggest to squash the changes into a single commit.


The row with the filters doesn't inherit column/columnHeader classes

Describe the bug
When adding the filterPosition="top" property to the table, not only does the row with the filters not inherit the classes defined in column.headerClasses, I also couldn't find any way to define its own classes in the documentation.
To Reproduce

Create filters for the columns
Also add classes to the columns and headers, for instance, the following bootstrap classes:
  const columns = [{ ... headerClasses: "col-2", classes: "col-2", filter: ... )} ... ],
and
<BoostrapTable ... headerClasses="thead-light d-flex" rowClasses="d-flex" filterPosition="top" />
Add filterPosition="top" property to the table
The table isn't displayed correctly (because the row with the filters doesn't have the css classes)

Screenshots
The first table without classes and the second with bootstrap classes:

codesandbox
https://codesandbox.io/s/cocky-bash-wth5m

@osnofa sorry for lately reply, that is because the top filter is render by another tbody, and for example if you add striped that will cause this issue. So I think on my end I will not fix this issue but there's a workaround is you can disable bootstrap striped css on first tbody and tr when you use top filter.


What does .plex.tv unblock

From what I know, .plex.tv currently unblocks:
proxy.plex.tv
metrics.plex.tv
pubsub.plex.tv
status.plex.tv
www.plex.tv
meta.plex.tv
plex.tv
tvdb2.plex.tv
staging.plex.tv
app.plex.tv
o1.email.plex.tv
o2.sg0.plex.tv
dashboard.plex.tv
These domains are required for plex to function

@@||*.plex.tv has been removed due to unblocking domains like analytics.plex.tv which should remain blocked.
Instead, I will manually add back domains that should remain unblocked.


Comment on line 165 in Specs paper

https://github.com/j3-fortran/generics/blob/bd85929c6bd9995bed4d4150b92ae74f2ca04a3f/J3-Papers/Generics_Specs.txt#L165
Is REQUIRES really a construct or is it a statement? I think of constructs as blocks of executable code such as the block statement, select case, select type, associate, etc  (see section 11.1 in the current Standard Draft).

I see you now call it a REQUIRES statement on line 172.  ;-)

Yes - I meant statement.  Thanks for catching this.


Climbing Stairs

/assign
Climbing Stairs
You are climbing a staircase. It takes n steps to reach the top.
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
Have you read the Contributing Guidelines on Pull Requests?
Yes
Pitch
Can I work on this issue using C++.

Assigned to you @harshita9621 . You can start working on it 👍

Hi, @noviicee I have made a PR for this issue please have a look.

@Ayonijakaushik19 I am working on this issue.

@harshita9621 it is assigned for the last 4 days but still, there is no PR for this.

Today I will PR on this issue.

Today I will PR on this issue.

Are you doing it @harshita9621 ?

@Ayonijakaushik19 this issue is assigned to someone else, you can't contribute to it. Either you have to ask for assigning it to you if you see an inactivity, or could assign the non assigned issues to yourself, or create new issues. :)

Today I will PR on this issue.

Are you doing it @harshita9621 ?

@harshita9621 you need to add a PR by today. It has been 6 days. Kindly update soon.

@Ayonijakaushik19 You can make a PR on it.


Custom Color for primary_palette

Please add ability to define custom Hex color for primary_palette in theme_cls.

It's not needed.


support semantic versioning

would you mind to support semantic versioning? I would like just to bump the version without the need to know the whole version string

To be clear, are you asking a functionality like;
update_version --major
update_version --minor
update_version --patch

That's exactly what I want.

Please see updated documentation.

That works, thanks


Azure Repos authentication

What method is used to authenticate with Azure Repos (under either option if different) from App Service?

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

ID: 81dce42d-71bc-9ac0-b016-4add247bb48a
Version Independent ID: 72e95a87-a302-d06c-5a0f-e2f5caf201d1
Content: Continuous deployment - Azure App Service
Content Source: articles/app-service/deploy-continuous-deployment.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: cephalin;dariagrigoriu

Seems to be sort of a duplicate of #22124, but I'm not sure exactly what the answer is. If you have already created a connection as described on the page below, DevOps acts as a service principal?
https://docs.microsoft.com/en-us/azure/devops/pipelines/apps/cd/deploy-webdeploy-webapps?view=azure-devops
What is the behavior if you haven't set this up already?
It would be nice to have the AAD integration at least mentioned in the doc.

@dcbrown16 Thank you for the feedback. We are looking into it.

@cephalin Request you to please check the document.

@btardif Can you assist here?

Changes in static files or scripts does not require complete rebuild and deploy, can we avoid that? e.g changes in HTML file needs only to copy the file. Same as FTP hosting...possible?

Sorry guys finally got a chance to look into this.
For the authentication question from @dcbrown16 believe @azooinmyluggage or @pulkitaggarwl should be able to help.
As for the question from @hawkwind2 the answer depends on how sophisticated you want to get.
In general if your app consists of a fronted and back-end web API it would be a best practice to split the packages.
Your front end if it's a truly static html + js SPA (single page app) would be better off hosted in azure storage and fronted by CDN. This way changes to static files could be done in the fly without having to re-hydrate app context.
Backed API would be hosted in app service, but in this case having the app recycle is desirable. However you can still control this a abstract from it using deployment slots.

I was at least able to contribute study

@dcbrown16 Sorry for the delay. It looks like the current version of the doc has been revised to include the request information, but the link needed to be updated. I've updated the link to the one that you pointed to and it should be published sometime today. Thanks! #please-close


fix: update link to extensions list in README

The current link incorrectly resolves to https://github.com/microsoft/azuredatastudio/blob/main/wiki/List-of-Extensions.

Apologies for missing this, you had a conflict so I went and updated it in a separate PR. Thanks for catching that!
https://github.com/microsoft/azuredatastudio/pull/24424


Update readme and version number for release

Summary
Updated readme to give more detail on the project design/goals, and give some initial guidance on how a user can get started by checking out the example notebooks.

Just updated the intended changes in anticipation of first release. Trying to keep things simple.
This still needs an installation guide - I assume it'll need pip install qiskit, then pip install qiskit-dynamics (which will need to be set up?), and then a something about optional installation of JAX?

Latest description of PR:

Updates the README with a brief project description and installation guide
Updates the version number to 0.1.0.


Filter not working?

HI there,
I'm trying to add a Serilog Filter to prevent Kubernetes health requests from showing up in application insights but with no luck at all.
I have created the most simple asp.net core .NET 6 API that defines a filter that should prevent all requests from being sent to Application Insights, however, all request are written to AI. Any idea what I am doing wrong?
using Microsoft.ApplicationInsights.Extensibility;
using Serilog;
using Serilog.Events;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddApplicationInsightsTelemetry();

builder.Host.UseSerilog((context, sp, loggerConfiguration) =>
{
    loggerConfiguration
        .Filter.ByExcluding(evt =>
        {
            // Just return true to test if request is filtered.
            return true;
            // var isHealthRequest = evt.Properties.TryGetValue("RequestPath", out var name) && (name as ScalarValue)?.Value as string == "/health";
            // return isHealthRequest!;
        })
        .WriteTo.ApplicationInsights(sp.GetRequiredService<TelemetryConfiguration>(), TelemetryConverter.Traces);
});

var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.MapGet("/health", () => "Healty");

app.Run();

In the output of Visual Studio and in AI Azure i see the request despite my filter:
category: Application Insights Telemetry: {"name":"AppRequests","time":"2022-02-25T17:51:18.0142358Z","iKey":"XXX","tags":{"ai.application.ver":"<IP_ADDRESS>","ai.cloud.roleInstance":"DESKTOP-MK5SQRL","ai.user.id":"crM+j","ai.operation.id":"77e6c8e9d162f4e0cb2ae33516152f79","ai.operation.name":"GET /health","ai.location.ip":"::1","ai.internal.sdkVersion":"aspnet5c:2.20.0+51c3ed8aa3f32209edf01168f9136a3ac8486c5d","ai.internal.nodeName":"DESKTOP-MK5SQRL"},"data":{"baseType":"RequestData","baseData":{"ver":2,"id":"d512738ee5c7eda5","name":"GET /health","duration":"00:00:00.0006621","success":true,"responseCode":"200","url":"https://localhost:7109/health","properties":{"_MS.ProcessedByMetricExtractors":"(Name:'Requests', Ver:'1.1')","AspNetCoreEnvironment":"Development","DeveloperMode":"true"}}}}
Any help much appreciated!
Nic
UPDATE
From what I can see filtering stops working when adding the line 'services.AddApplicationInsightsTelemetry()' as outlined here:
https://github.com/serilog/serilog-sinks-applicationinsights#telemetryconfigurationactive-is-deprecated-in-the-app-insights-sdk-for-net-core-what-do-i-do
If I remove this line and use the old way with TelemetryConfiguration.Active filtering works!

Hi Nic - those requests aren't being logged by Serilog, they're being recorded by AI directly as far as I can tell, hence the Serilog settings will have no effect on them. HTH!

Ok and thanks for your reply!
But how should we then initialize ApplicationInsights, I've just followed the documentation that says that we should pass in the TelemetryConfiguration that was added in ConfigureServices;

Hi! Initializing it in ConfigureServices via the telemetry configuration should allow this. I'm not familiar enough with AI to be able to answer, unfortunately.
We're currently in the process of switching maintenance teams here and don't currently have the bandwidth to help with usage questions. Posting your question on Stack Overflow, tagged serilog, should get the most eyes on it and has a good chance of attracting a correct/helpful answer. Good luck with it!

Had the same issue. Don't really agree with closing the issue like this. The documentation this repo has suggests a setup that can't work, and will emit logging events to AI twice. So this is either a documentation issue, or an issue with the code.
For reference, I solved it like this:
`
///
/// Add application insights without immediate logging integration
///
/// Service collection
/// Application insights options
/// The service collection
public static IServiceCollection AddApplicationInsightsTelemetryWorkerServiceWithoutLogging(this IServiceCollection services, ApplicationInsightsServiceOptions options)
{
services.AddApplicationInsightsTelemetryWorkerService(options);
        // Application insights immediately integrates with the logging. We want integration through serilog, so remove that integration.
        Type[] loggingTypesToRemove = new[] { typeof(ILogger<>), typeof(ILoggerProvider), typeof(ILoggerFactory) };
        var descriptorsToRemove = services.Where(descriptor => loggingTypesToRemove.Contains(descriptor.ServiceType)).ToList();

        foreach (var descriptor in descriptorsToRemove)
        {
            services.Remove(descriptor);
        }

        return services;
    }

`
Remove the application insights logging integration afterwards, and it shouldn't be a problem. Bit of a hack, but there's no easy way otherwise.
I think the root issue is that you can't add AI without the logging integration, and the methods that'd allow customization of which services are added are all private. I think I'll add an issue at the AI repository for this.


Grover's Migration from Aqua to Qiskit Terra

Informations

Qiskit version: 0.26.0
Python version: 3.8
Operating system: MacOS

What is the current behavior?
Grover's algorithm does not behave as expected, at least does not take previously known as "Logical Expression" (now PhaseOracle) alphabetically. It runs fine in Aqua but not in Qiskit circuit library.
Steps to reproduce the problem
from qiskit import *
from qiskit.tools.visualization import plot_histogram
from qiskit.circuit.library import PhaseOracle
from qiskit.algorithms import Grover, AmplificationProblem

oracle = PhaseOracle('((A & C) | (B & D)) & ~(C & D)')
problem = AmplificationProblem(oracle=oracle, is_good_state=oracle.evaluate_bitstring)
backend = Aer.get_backend('qasm_simulator')
grover = Grover(quantum_instance=backend)
result = grover.amplify(problem)
print(result.circuit_results[0])

What is the expected behavior?
It shouldn't give 1100 as a suggestion, since we declare C&D as not expression in PhaseOracle.
However it gives:
{'1101': 255, '0011': 260, '1100': 260, '0111': 249}
In Aqua it gives (this is the expected behaviour):
{'0101': 261, '0111': 236, '1011': 262, '1010': 265}
Suggested solutions
There should be something wrong in PhaseOracle implementation, please consider LogicalExpression library when you try to solve this to make it alphabetically ordered correctly.

Good catch! That change was not intended (at least no silently). Thanks for reporting this, we're looking into it 👍🏻


Label overlapping input

https://material-ui.com/demos/text-fields/#limitations
The documentation specify the following warning :

The input label "shrink" state isn't always correct. The input label is supposed to shrink as soon as the input is displaying something. In some circumstances, we can't determine the "shrink" state

I encounter this bug and will give you a hint : this is due to the undefined state of the value; in an input field, always specify the value as empty string instead of undefined
Under such circomstance, when combining with an object spread operatior {...props} will generate by the compiler something like this value=undefined. An undefined property is also considered non exist thus create the bug.
To fix this (as a workaround till the Core is fixed), always put a fallback empty for input value
value={this.state.value || ''}

sample.txt

@flyingangel Check the warning in the console. React should raise a controlled/uncontrolled related issue.

There isn't warning. And this bug is known and warned in the documentation

@flyingangel Could you share a reproduction live example then? Thank you.

I've already gave you the full file sample.txt.
Here is how to use
<InputZipcode label="Zipcode" value={null} />
<InputZipcode label="Zipcode" />

This will create the overlap bug. To fix it, value must be force as empty string "" during props injection to Material Core Input

Even though I'm doing the optional empty string...
I can't get rid of the problem here :'(
<TextField
          {...common_props}
          label="Conta (com digito)"
          name="account"
          value={acc.account || ''}
          onChange={this.handleInputChange(idx)}
          error={false}
          helperText={''}
        />


zoom fails to preload should refresh screen

I believe we implemented this, but we've encountered cases where no reload happend, just error to user.
maybe there are other types of errors related to preload? maybe need to decide by checking error message for "preload" string?

@sirpy Only the internal issue with .wasm file couldn't be loaded breaks ZoOm totally.
So we've showing reload dialog only if it happens. In other cases we're preloading ZoOm during initializeSdk call

The conditions are:
        case 'ZoOm Error':
          isCriticalError = message.startsWith('65391')
          break
        case 'TypeError':
          isCriticalError = ['zoom/resources', 'lib/zoom'].some(path => filename.includes(path))
          break

Shortly, its one of
a) ZoOm Error: 65391 .... thrown anywhere
b) TypeError : ... thrown in one of /public/zoom/resources/*.js files or in ZoomAuthentication.js (webpack-internal://src/lib/zoom/ZoomAuthentication.js)
Could you please chech which errors were thrown in your case ?
It there were some of errors i've listed above and refresh dialog wasn't shown - it's a bug
Otherwise (if zoom preload failed due to an other kind of exception) - it's ok, everything working like it was designed

https://sentry.io/organizations/gooddollar/issues/1782324262/events/bb4ec9773af74cc78b1017544f8d565c/?environment=staging&project=1829798&statsPeriod=14d
happened again
it happened multiple times and only solved on reload


Node_Customize plugin incompatible with Explorer 8

Not a real issue with the library, as it's an optional plugin.
This line:
var customizer = (type && cfg.switch[type]) || cfg.default;

Uses switch and default that are keywords, and this cause an error with Microsoft Internet Explorer 8 only. No problem for Explorer 10 or Firefox or Chrome.
I solved the issue using
var customizer = (type && cfg["switch"][type]) || cfg["default"];

Sorry, but this is not even a plugin I maintain. I can not help you, but you can contact the plugin author - I am sure he will be glad you solved an issue.
Best regards,
Ivan


Priority Fancy Zone placing window off screen

Microsoft PowerToys version
0.37.2
Running as admin

[X] Yes

Area(s) with issue?
FancyZones
Steps to reproduce
Just assigned the standard Priority fancy zone to a third screen.  The rightmost pane in the zone will place a window slightly too far to the right and the close 'x' is not accessible.
https://i.imgur.com/iJTa78L.jpg
It's as if the spacing pixels has not been taken into account in the full resolution.  And the middle pane overlaps the left pane too.
✔ Expected Behavior
To see the full window.
❌ Actual Behavior
Window placed offset on the screen.
Other Software
No response

@MrIncUK
some applications have a minimum width/height.

Ah ha!  Thanks.  Would be good though that if the dragged window cannot be resized to the zone, then give a message,

The "message" is given by the app showing that its minimum size is reached.

OK.  However, where a minimum width exists, on the leftmost pane the extra width overflows under the middle pane so is quite obvious.  If an App does not meet min width requirements on the rightmost pane, let the app be right-aligned and the 'overflow' be to the left under the middle pane, not cropped to the right.  Just a thought.

@MrIncUK

If an App does not meet min width requirements on the rightmost pane, let the app be right-aligned and the 'overflow' be to the left under the middle pane, not cropped to the right

That is technically possible but the window would not be "zoned", that means it will not behave as a regular zoned window, so for example it will not be reopened to the last known zone or relocated if the layout is changed and so on.
It's an edge scenario, that is not very common and hard to justify compared to many more suggestions that are covering very common scenarios and would benefit a larger audience.

Understood