Why is some of my own code "external"?

I have a few *.d.ts files in my project that I wanted to include in my docs, so I added the includeDeclarations flag in my typedoc config.
That caused all definition files in node_modules to also be included, which is undesired. So I added the excludeExternals flag.
It removed the stuff from node_modules, as wanted, but caused some of my very own classes in the project not to be included.
One such case was a file that had two classes. I split them to two separate files which caused one but not the other to be part of my docs site.
I have also tried different combinations using the exclude and externalPattern settings but can't get it right.
I have also tried typedoc-plugin-internal-external (https://github.com/christopherthielen/typedoc-plugin-internal-external) to actively mark affected class as internal, but it's not making any difference. (And it would be nice to avoid having to do that.)
Why is my own code considered external by typedoc? When I remove excludeExternals from config these classes are still considered external when toggling the checkbox in the generated site.
This is one very simple class that has the problem (the file has no imports):
export class LoadingbarEvents {
    public static Start: string = "vk:loadingbar:start";
    public static Stop: string = "vk:loadingbar:stop";
}

This is my current typedoc config:
var typedocConfig = {
    theme: "dev-docs/ts/theme-composed",
    disableOutputCheck: true,
    readme: "dev-docs/ts/INDEX.md",
    name: "My project name",
    excludePrivate: true,
    exclude: '**/node_modules/**',
    includeDeclarations: true,
    excludeExternals: true,
    mode: 'file',
    out: "dev-docs/sites/ts",
    verbose: true
};

I'm using gulp-typedoc to run typedoc.

In 0.20, the "external" distinction is determined purely by the location of the symbol being documented, instead of being a somewhat magical combination of what was provided as input files and the external pattern.


fix: Correct defaults that got messed up in 2.x.

Which problem is this PR solving?

Several default values in the config file (and therefore the documentation) differed from their values in the structure definitions. This is related to some of the changes that were made in 2.x -- some defaults were changed but the documentation didn't get changed in the same way.
This does NOT regenerate all docs as we expect to have to do that several more times in the coming days anyway.

This list will get revised before merging:
closes #877
closes #874
closes #843
closes #259

Hey @kentquirk , it looks like some tests need to be modified for the new default value


Read/Unread Icon Changed

During feedback, it was found that the previous icon for unread messages was unclear. After looking at icons for similar apps, I found that they use a simple dot to convey unread messages/emails/events etc. Therefore, I have changed it to a simple dot too. Sometimes, simple is better, and I hope that this is the case for these darn icons.

Looks good to me! Simpler than the other icon, hopefully easier to understand.


Envoy Lua filter with http call doesn't work

Bug Description
Hi.
I'am writing an Envoy filter with lua script which should make a http call to internal service. It's the part of the work to improve development process: I need to pass correct http header to each request on dev cluster in order to send a traffic to correct Telepresence intercept.
But I stuck with the configuration of envoy filter. According to Istio documentation article https://istio.io/latest/docs/reference/config/networking/envoy-filter/ (2nd example), cluster should be configured in order to make an http call from lua.
I configured my cluster similar to the cluster in the example, but script threw an error script log: [string \"function envoy_on_request(request_handle)...\"]:3: http call cluster invalid. Must be configured".
I thought that I'm missing something and decided to check a filter from the Istio documentation as it is: it throws the same error as above.
My filter for the reference:
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: service-custom-header
  namespace: dna
spec:
  workloadSelector:
    labels:
      istio: ingressgateway
  configPatches:
    # The first patch adds the lua filter to the listener/http connection manager
    - applyTo: HTTP_FILTER
      match:
        context: GATEWAY
        listener:
          filterChain:
            filter:
              name: "envoy.filters.network.http_connection_manager"
              subFilter:
                name: "envoy.filters.http.router"
      patch:
        operation: INSERT_FIRST
        value: # lua filter specification
          name: envoy.filters.http.lua
          typed_config:
            "@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua"
            inlineCode: |
              function envoy_on_request(request_handle)
                // get eventId from path
                ...
                local headers, body = request_handle:httpCall(
                    "lua_cluster",
                    {
                      [":method"] = "GET",
                      [":path"] = "/token?eventId="..eventId,
                      [":authority"] = "lua_cluster"
                    },
                    "",
                    5000)
                  // set data from body into request header
              end
    - applyTo: HTTP_FILTER
      match:
        context: GATEWAY
      patch:
        operation: ADD
        value:
          name: "lua_cluster"
          type: STRICT_DNS
          connect_timeout: 1s
          lb_policy: ROUND_ROBIN
          load_assignment:
            cluster_name: lua_cluster
            endpoints:
              - lb_endpoints:
                  - endpoint:
                      address:
                        socket_address:
                          protocol: TCP
                          address: "dna.service.com"
                          port_value: 443

So http calls from lua in envoy filter do not work.
If I'm missing something, please let me know.
Thanks.
Version
Istio:
1.11.4

K8s:
Client Version: v1.21.2
Server Version: v1.21.13-eks-84b4fe6

Additional Information
No response
Affected product area

[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Control Plane Revisions

Is this the right place to submit this?

[X] This is not a security vulnerability
[X] This is not a question about how to use Istio

The lua_cluster in your example doesn't exist. In the doc it does

@howardjohn Thank you for your response.
Do you mean, that cluster configuration is invalid or cluster should be created somewhere else?
Sorry, that example - is my last attempt to make it works.
I've just tried with the exact config for cluster section as in the doc - the same error unfortunately:
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: service-custom-header
  namespace: dna
spec:
  workloadSelector:
    labels:
      istio: ingressgateway
  configPatches:
    # The first patch adds the lua filter to the listener/http connection manager
    - applyTo: HTTP_FILTER
      match:
        context: GATEWAY
        listener:
          filterChain:
            filter:
              name: "envoy.filters.network.http_connection_manager"
              subFilter:
                name: "envoy.filters.http.router"
      patch:
        operation: INSERT_FIRST
        value: # lua filter specification
          name: envoy.filters.http.lua
          typed_config:
            "@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua"
            inlineCode: |
              function envoy_on_request(request_handle)
                // get eventId from path
                ...
                local headers, body = request_handle:httpCall(
                    "lua_cluster",
                    {
                      [":method"] = "GET",
                      [":path"] = "/token?eventId="..eventId,
                      [":authority"] = "lua_cluster"
                    },
                    "",
                    5000)
                  // set data from body into request header
              end
    # The second patch adds the cluster that is referenced by the lua code
    # cds match is omitted as a new cluster is being added
    - applyTo: CLUSTER
      match:
        context: SIDECAR_OUTBOUND
      patch:
        operation: ADD
        value: # cluster specification
          name: "lua_cluster"
          type: STRICT_DNS
          connect_timeout: 0.5s
          lb_policy: ROUND_ROBIN
          load_assignment:
            cluster_name: lua_cluster
            endpoints:
              - lb_endpoints:
                  - endpoint:
                      address:
                        socket_address:
                          protocol: TCP
                          address: "internal.org.net"
                          port_value: 8888

@howardjohn Hi. Can you please help me to understand what's wrong with my configuration in the above comment?

Solved this issue: was a problem with configuration, not a bug.
Command  istioctl pc clusters is very helpful to check if the cluster exists.

Hi @desperateBob Can you let us know what you had done, we had follow the same config getting status code 503 in lua filter while calling httpCall.

Hi @desperateBob Can you let us know what you had done, we had follow the same config getting status code 503 in lua filter while calling httpCall.

@pavan612 "lua_cluster" needs to be defined in Envoy as a cluster.

You can use the destinationRule instead envoy cluster. See this example:
kind: ServiceEntry
apiVersion: networking.istio.io/v1beta1
metadata:
name: externalhttps-se
namespace: istio-system
spec:
hosts:
- externalhttps.domain.com
ports:
- number: 443
protocol: HTTPS
name: http
targetPort: 443
resolution: DNS
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: externalhttps-dr
namespace: istio-system
spec:
host: externalhttps.domain.com
trafficPolicy:
portLevelSettings:
- port:
number: 443
tls:
mode: SIMPLE
sni: externalhttps.domain.com
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
name: externalhttps-ef
namespace: istio-system
spec:
workloadSelector:
labels:
istio: curity-ingress
configPatches:

applyTo: HTTP_FILTER
match:
context: GATEWAY
listener:
filterChain:
filter:
name: "envoy.filters.network.http_connection_manager"
patch:
operation: INSERT_BEFORE
value:
name: envoy.filters.http.lua
typed_config:
"@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua"
defaultSourceCode:
inlineString: |
function envoy_on_request(request_handle)
        local resp_headers, resp_body = request_handle:httpCall(
          "outbound|443||externalhttps.domain.com",
          {
            [":method"] = "GET",
            [":path"] = "/",
            [":authority"] = "externalhttps.domain.com"
          },
          nil,
          5000)

      end

You can use the destinationRule instead envoy cluster. See this example:
apiVersion: networking.istio.io/v1beta1
metadata:
  name: externalhttps-se
  namespace: istio-system
spec:
  hosts:
    - externalhttps.domain.com
  ports:
    - number: 443
      protocol: HTTPS
      name: http
      targetPort: 443
  resolution: DNS

apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: externalhttps-dr
  namespace: istio-system
spec:
  host: externalhttps.domain.com
  trafficPolicy:
    portLevelSettings:
    - port:
        number: 443
      tls:
        mode: SIMPLE
        sni: externalhttps.domain.com

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: externalhttps-ef
  namespace: istio-system
spec:
  workloadSelector:
    labels:
      istio: curity-ingress
  configPatches:
  - applyTo: HTTP_FILTER
    match:
      context: GATEWAY
      listener:
        filterChain:
          filter:
            name: "envoy.filters.network.http_connection_manager"
    patch:
      operation: INSERT_BEFORE
      value:
       name: envoy.filters.http.lua
       typed_config:
          "@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua"
          defaultSourceCode:
            inlineString: |
              function envoy_on_request(request_handle)

                local resp_headers, resp_body = request_handle:httpCall(
                  "outbound|443||externalhttps.domain.com",
                  {
                    [":method"] = "GET",
                    [":path"] = "/",
                    [":authority"] = "externalhttps.domain.com"
                  },
                  nil,
                  5000)

              end


Update basemap gallery code snippet

A map property can no longer use the @StateObject property wrapper b/c Map no longer conforms to ObservableObject.
This PR can go into main because it applies to the current toolkit code.

I'm OK this going into main, as it's only for the repo doc and not code. That way anyone looking at the repo will get the correct doc, without having to switch to v.next. Otherwise, yes, v.next is the preferred branch mid-release.


Question regarding recent changes

@llaniewski I wanted to ask for your input regarding the changes I made today (unfortunately couldn't wait for your approval under a PR due to time pressure). Specifically:

I migrated the CI from Travis to GitHub actions (Travis was no longer working - I think it's no longer free?). Is this an acceptable solution for you? Furthermore, this opens up the door to some improvements, e.g., caching the tooling used to build the site in a Docker image, so that deployment to gh-pages takes seconds instead of 11 minutes. Do you think it's worth the trouble, or are things fine as is?
I enabled branch protection, so that now a PR and min. 1 review is required for changes to be published to gh-pages. Seems to me like the previous settings were a bit too lax, it was too easy for someone to break something by accident. Thoughts?

I appreciate your time, cheers.

@llaniewski thanks for getting back to me so quickly, you raise some good points.

[ ] I was thinking of doing something similar to what I do in my project (based on this action). Basically, we just store the image on DockerHub, and if any changes to the Dockerfile in the repo are detected, the image is rebuilt. To rebuild the image used in CI, we can simply delete the one on DockerHub. If you find this solution acceptable, I'll implement it when I have some time.
[ ] This is a very good idea, I'll get right on it. GitHub Actions is a little bit annoying when it comes to exporting/sharing data between jobs, so I think the simplest solution will be to just build the page twice: when the PR is created (the html files can be downloaded and viewed by the reviewer) and when it's merged. The downside is that until I get around to implementing the idea from the previous bullet, the 2 builds will take a long time. Though to be honest, I'm having a hard time imagining an emergency situation involving lab instructions :sweat_smile:

@kubagalecki
I enabled branch protection, so that now a PR and min.
1 review is required for changes to be published to gh-pages.
Seems to me like the previous settings were a bit too lax, it was too easy for someone to break something by accident. Thoughts?

IMHO it would be enough to have passed the PR build to merge.
I think that the 2nd build after the merge is done deliberately by GitHub.

@kubagalecki Both points sound great. Good to see somebody is keeping this alive, as I think this page is a good consistent approach for lab instructions.
@ggruszczynski @kubagalecki As for the reviews, I think it's a good rule, but I'm worried that the reality of academic work will verify it's applicability :-) But I think it's a good think to at least try :+1:
Sidenote: I have to switch TCLB from Travis-CI, but I constantly lack the time.

I've implemented build checks in #86 - you can now download the raw html files from the PR browse them locally. Would love a review.
@ggruszczynski The 2 builds are triggered by 2 separate actions - this is how I intended it to work. The more optimal solution would be to cache the build from the PR and simply deploy it in the action triggered post-merge. However, I'm not convinced this would work correctly with multiple simultaneous PRs.
As for requiring reviews - I'm open to discussing this, I don't really have strong feelings either way. This can be changed in the branch protection rules for master.
@llaniewski I think it's important to keep it alive, since this is the main source of lab instructions for literally hundreds of students. Hopefully GitHub actions will prove more stable than Travis in the long run. If you want any tips for migrating from Travis, my DMs are open :innocent:


Fix client reset secret not shown

To test, try to reset the secret for one of "My Applications".

Coverage decreased (-0.01%) to 82.402% when pulling c4855da7d17506450d2e46d40b1cc11a8078eeb8 on eatonphil:fix-oauth-reset-secret into d2f166b38c1d01c2f8263f155334e7735eab6d22 on linode:master.

Coverage decreased (-0.01%) to 82.402% when pulling 92a187c1613bc7bd1758046fe27b90faf3c745a7 on eatonphil:fix-oauth-reset-secret into 07f142dd8a89d8249b74e42488cc248a290a7346 on linode:release.

Coverage decreased (-0.01%) to 82.402% when pulling 92a187c1613bc7bd1758046fe27b90faf3c745a7 on eatonphil:fix-oauth-reset-secret into 07f142dd8a89d8249b74e42488cc248a290a7346 on linode:release.


Change type of pgmigration dateapplied to TIMESTAMP WITH TIME ZONE

TIMESTAMP WITHOUT TIME ZONE DEFAULT (now() AT TIME ZONE 'UTC')


Trusting a notebook in the Insiders Notebook Editor displays a change indicator

OS: macOS Catalina 10.15.5
Version: 1.48.0-insider - commit: e7920dce7bfd0b707ebfc0a5379c6edd2233e475
Extension version: 2020.8.94012-dev

Closing the notebook without saving it also displays a "do you want to save your changes" modal like in microsoft/vscode-jupyter#899.

Closing as this has been fixed.

Closing as this has been fixed.


Capture from both cameras simultaneously

Hi developers. As I said in the title of this post. I want to capture from both cameras at the same time. I know that it is not possible on Iphone devices but i tried to switch cameras very quickly. Iphone waste a lot of time switching between cameras. I want to know if PBJVision could switch cameras more efficiently or record simultaneously from them. The ideal y to show in preview back camera and record frames from it, and record frames in front camera at the same time without previewing it and do not lose the front preview.
Thanks in advance.

this is not supported on iOS itself


An exception is thrown when using the if function

Steps to reproduce the behavior (Required)
select if(true, struct('xx','ss'), null);

Expected behavior (Required)
The result should be：
{"col1":"xx", "col2":"ss"}
Real behavior (Required)
ERROR 1064 (HY000): Getting analyzing error from line 1, column 7 to line 1, column 39. Detail message: No matching function with signature: if(boolean, struct<col1 varchar, col2 varchar>, NULL_TYPE).
StarRocks version (Required)

You can get the StarRocks version by executing SQL select current_version()

3.2.0
This may be caused by com.starrocks.sql.analyzer.PolymorphicFunctionAnalyzer.resolveArgTypes as it treats NULL as struct{boolean} type， when the second parameter of the if function is struct{string,string}, in com.starrocks.sql.analyzer.PolymorphicFunctionAnalyzer.IfDeduce, the commonType will be INVALID, and then an error will be reported when searching for functions of this type.

It may be solved in the commit https://github.com/StarRocks/starrocks/commit/64faf9074ad6943f72daee23fc6c6d7d8cc5291f, I will try it.

It may be solved in the commit 64faf90, I will try it.

No, the problem still exists


Bug when using exists rule on multiple select and modifyQueryUsing

Package
filament/filament
Package Version
v3.2.62
Laravel Version
v11.1.1
Livewire Version
v3.4.9
PHP Version
PHP 8.2.16
Problem description
I have the following form on an AccountResource table action.
Forms\Components\CheckboxList::make('id')
    ->label('Collections')
    ->searchable()
    ->relationship(
        'collections',
        'name',
        fn (Builder $query): Builder => $query->ownedByCurrentUser()
    )
    ->exists(
        Collection::class,
        'id',
        fn (Exists $rule): Exists => $rule->where(
            'user_id',
            Auth::user()->id
        )
    ),

The relationships: An Account model has a many-to-many relationship to a Collection model. A collection belongs to a user.
The collections have a scope ownedByCurrentUser() to only show their own collections.
It looks like this:
User 1:

User 2:

As you can see, each user see's their own collections.
The problem occurs when one user adds an account to one of their own collections, and then another user tries to add the same account to one of their own collections. The second user will fail with validation errors. If you view the query that is sent to the database I believe it's because the exist rule is try to validate against all collections that the account belongs to and since this could be another user's collections it fails because of the modifyQueryUsing constraint.
For example, in the first screenshot above, User 1 had added this account to two collections. In the second screenshot, if User 2 tries to add that same account to one of their collections, they get the following:

The query that is sent to the database looks like this:
select
  count(distinct "id") as aggregate
from
  "collections"
where
  "id" in ('3', '5', '10')
  and "user_id" = '2'

When I believe it should look like this:
select
  count(distinct "id") as aggregate
from
  "collections"
where
  "id" in ('10')
  and "user_id" = '2'

The reason I have this exists rule constraint is because I don't want a user to be able to modify another user's collections like if they modified the ajax request somehow maliciously.
Expected behavior
Would expect that only the constrained data is validated.
Steps to reproduce

Clone reproduction repo, install and migrate (sqlite database).
Login as<EMAIL_ADDRESS>/ password.
Click the accounts resource.
Click the collections action on an account.
Assign at least one collection to the account.
Login as<EMAIL_ADDRESS>/ password.
Click the collections action on the same account in step 4.
Try to assign at least one collection to the account and observe the validation error.

Reproduction repository
https://github.com/ryanmortier/filament-issue-exists-rule/
Relevant log output
No response

I believe the issue is because the loadStateFromRelationshipsUsing() is not applying the modified query constraint. This is likely due to saveRelationshipsUsing() using sync rather than attach/detach.

Should be fixed by #12800


After save error Array to string conversion

After save error Array to string conversion(

Assuming you want to store the data from the editor.js component in a json or string based database column, you have to convert the data.
protected function mutateFormDataBeforeSave(array $data): array
    {
        $data['content'] = json_decode($data['content']);
        return $data;
    }

Add this to the Create-Class for your Filament Resource. Same goes for the Edit-Class and you have to do the reverse for the 'Edit' and 'View' class.

I had this issue - was trying to store the JSON data in a JSON field in MySQL.
Forgot to add the array cast to the Laravel model.
The following fixed this issue for me!
protected $casts = [
    'content' => 'array',
];

This is actually the better solution compared to mine, as I learned in the meantime


Extend the range of NumericUtil ranges beyond exabytes

An article here:  https://pradeepedwin.wordpress.com/mb-gb-tb-pb-eb-zb-yb-bb/
exabytes, zettabytes, yottabytes, brontobytes, etc.
The reasoning is (and we need to make sure our methods handle BigInteger, not just long) is that we explicitly want to handle big numbers...

Changed "@K" to do long name instead of short name also.


HTTP/HTTPS incompatibility

In setting up GET requests in, for example, line 9 in public/edit.js, making the request using http works on localhost, but fails on heroku:

Likewise, if you make the request using https it works on heroku but fails on localhost:

Is there anything that we can do about this? We could just have two different requests set up in our code, one http and one https, depending on which server is hosting the function, but that feels uncomfortable and hacky to me. So, is there a way that we can allow heroku to accept http or, probably better yet, allow localhost to accept https?

We're going to do some case analysis on the hostname and send the request accordingly. See, for example, the #submitbutton click function in admin.js.


how to disable cache?

Hi!
I love flask-sqlalchemy but was forced to use plan sqlalchemy sessions because of this issue:
Initing in my flask app as
db = SQLAlchemy(app)
When I use Model.query.filter_by(id=1).first() I got result, thats ok. But when another app changes DB and there is a change in the table (some rows was changed) - my request will still give me old row!
Am I doing it wrong?
Now I'm using alchemy like this
session = Session()
models = session.query(Model).filter_by(id=1).all()
session.close()

I can't reproduce your issue.  I have multiple instances of an app accessing the same database just fine.  Perhaps it is something in you database configuration.  See the SQLAlchemy docs on Setting Transaction Isolation Levels.

Closin'

Thank you!
I had and issue described here http://stackoverflow.com/questions/25024302/isolation-level-with-flask-sqlalchemy

facing the same issue


KAFKA-9848: Avoid triggering scheduled rebalance delay when task assignment fails but Connect workers remain in the group

In the first version of the incremental cooperative protocol, in the presence of a failed sync request by the leader, the assignor was designed to treat the unapplied assignments as lost and trigger a rebalance delay.
This commit applies optimizations in these cases to avoid the unnecessary activation of the rebalancing delay. First, if the worker that loses the sync group request or response is the leader, then it detects this failure by checking the what is the expected generation when it performs task assignments. If it's not the expected one, it resets its view of the previous assignment because it wasn't successfully applied and it doesn't represent a correct state. Furthermore, if the worker that has missed the assignment sync is an ordinary worker, then the leader is able to detect that there are lost assignments and instead of triggering a rebalance delay among the same members of the group, it treats the lost tasks as new tasks and reassigns them immediately. If the lost assignment included revocations that were not applied, the leader reapplies these revocations again.
Existing unit tests and integration tests are adapted to test the proposed optimizations.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Recent build history:
jdk8 and jdk14 green
jdk11 two on org.apache.kafka.streams.integration.QueryableStateIntegrationTest which is unrelated.
Adding another test and the expectation that generations increase across all the tests.

Latest build:
jdk8 and jdk11 green
jdk14 one unrelated failure at: kafka.api.PlaintextAdminIntegrationTest.testAlterReplicaLogDirs

In the latest build, all runs were successful. Adding a commit to improve log messages.

Thanks @rhauch. I've addressed your comments.

Thanks @rhauch. I liked the suggestion. Actually I now added containsAll to make sure that all the previous members remain, which means that the failure in the assignment was due to temporary network failure and not a node failure. This should help us avoid triggering unnecessary rebalance delays, even in the presence of new workers joining the group.

retest this please

Thanks for the reviews @rhauch !
2/3 builds were green here too and the 2 failures on JDK8 were unrelated.


refactor(extractCookies): addresses the incorrect usage of the raw() method

can you explain why this change is needed? There should be unit test coverage of your catch block, and ideally a regression test that demonstrates the bug, or at the very least, instructions in the PR description for manually reproducing it.

Thanks for the feedback @cajubelt. I have just noticed that my local typescript version is 5.0.2 and the supported typescript version is >=3.3.1 <4.5.0.
At first I wondered why it was not obvious that the code was breaking because the .raw method was not defined on headers, but now it is all clear.
I will close the PR as it is no longer necessary.

cool glad to hear @conquext


Add new preparation function, contain()

Is your feature request related to a problem? Please describe.
String 컬럼의 텍스트가 특정 문장을 포함하고 있는지 확인할 수 있는 함수가 필요함.
There's a request about function that can check if the String column contains a specific statement.
Describe the solution you'd like
Add new function contain(column_name, text), return true if the column is String type and the text contains specified statement
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.

All PRs merged. Issue closed.


executable via uv

wow
(--no-cache is just to showcase a fresh installation)

just works
I think we can remove PEX completely from the repo 👀

uv looks awesome! Let's keep pex for now as it's baked into the Docker image, maybe in future we can use uv in the image.


DRAFT: Add OpenShift Console Dynamic Plugin

Sorry this is huge. 😳 The bulk of the hugeness is from openshift/console-plugin-template. Here's what I did in this PR:

I cloned their template repo to ./console
Cleaned it up
Replaced template names with patterns-operator
Implemented a basic catalog UI with PatternFly
Updated Makefile to add new targets to build and push the console plugin

What I haven't done in this PR:

Touched any of the operator Go code (I have updates for the operator which will be in a separate PR - keeping them separate since this PR is already huge with all the template files)

DRAFT: Things I still need to do before merging

[ ] Provide instructions on how to validate plugin

This is not in any way complete. I was talking with @claudiol about he and others helping out. I'm getting this up there so that we aren't working out of my fork.


Better spec for room aliases

PRs: #1607
Documentation: https://github.com/matrix-org/matrix-doc/blob/human-id-rules/drafts/human-id-rules.rst

This is ultimately intended to fix #668

please take comments to #1598.

I've rolled the number to 1607 given this is the only remaining example of weird process artifacts.


[mlp] Update flash mint contracts to use ISwapRouter02 interface

coverage: 77.128%. remained the same when pulling c4f6939a85a973a9d2486b127084f745c6815ae8 on richard-update-for-latest-swap-adapter into 13aaa83f23f14708b22abe04ec215ce48abc0cf7 on master.

:tada: This PR is included in version 0.18.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Needs to be scoped] General single qubit parameterized gate compiler

Is your feature request related to a use case or problem? Please describe.
A general single qubit parameterized gate compiler was proposed as a compilation building block in #3239. This issue is to scope out what would such a compiler look like and discuss whether it'd a useful addition to Cirq.
P3 - I'm not really blocked by it, it is an idea I'd like to discuss / suggestion based on principle

After a quick discussion with Tanuj, the initial thought was to try and implement the following two conversions:

Parameterized X / Y / Z pow gates to parameterized PhasedXZGate gate.
Merging two parameterized PhasedXZGate gates into a single parameterized PhasedXZGate gate
(1) is fairly trivial, but I couldn't find a simple closed form solution for (2), in which case it may not make much sense to try to compile the parameterized gates into a single PhXZ before the parameters are resolved.

(2) boils down to finding a representation of a', b', c', in terms of a, b, c such that X^a Z^b X^c == Z^a' X^b' X^c', which in general is not so nice.

If it's possible to do analytically, let's do it. The result might end up looking very complicated but that's upto users using the analytical compiler.


Seg Fault on long replies

I am trying to use this as a llama.cpp replacement as it is a lot faster.  I did modify the backend args file (ktransformers/server/backend/args.py) as max_new_tokens isn't an option for the sever:
-    max_new_tokens: int = Field(500, description="Max new tokens per completion. For this example applies to all jobs")
+    max_new_tokens: int = Field(2040, description="Max new tokens per completion. For this example applies to all jobs")

to allow for longer responses as 500 tokens was causing a lot of my stuff to get cut off half way through.
It does generate some tokens (feels like about the 500 limit) and then hard crashes.  So maybe there is some other limit that I need to adjust?
I am using DeekSeek-V2.5 in Q4_K_M, I did also try it with WizardLM 8x22B and the same thing happens.
  I guess my chat was at just the right length where the longer max tokens would trigger that error.
For reference I doubled it and now when I try to run DeepSeek-V2.5 I get a out of memory crash, but on Wizard 8x22 its working great.
It looks like there are plans to address some of this soon, so I will close this issue.


Allow deserialization of classes with private/internal constructor

I'm trying to deserialize the class with private constructor and receiving NullReferenceException somewhere in ReadXML method. With changing access modifier to public the issue has gone.

thank you for reporting this bug.
I've never tried to serialize object with private constructor. I need to check how standard XMLSerializer works.

Alright, I have (finally LOL) ensured that this works as expected.  A new prerelease version of EXS should be out end of week for you to try.  I will update this thread when posted.  Here is the passing test that demonstrates this functionality:
[Fact]
		public void PrivateConstructor()
		{
			var configuration = new ExtendedConfiguration().Extend(AllConstructorsExtension.Default);
			var support = new SerializationSupport(configuration);
			var instance = Subject.Create("Hello World from Private Constructor (hopefully)!");
			var actual = support.Cycle(instance);
			Assert.Equal(instance.PropertyName, actual.PropertyName);
		}

		class Subject
		{
			public static Subject Create(string message) => new Subject { PropertyName = message };

			Subject() {}

			public string PropertyName { get; [UsedImplicitly] set; }
		}

I will be closing this issue for now.  Please feel free to reopen or open a new issue altogether if something does not work to your expectations.

FWIW, pre-release deployment for this feature can be found at these feeds:
https://www.myget.org/feed/wojtpl2/package/nuget/ExtendedXmlSerializer
https://www.nuget.org/packages/ExtendedXmlSerializer/2.0.0-alpha


Getting Started Notes

Tutorial was very easy to follow, but I jotted down some minor notes that might improve clarity. Thanks all!
burnp3_plus_testing_notes.docx

Thank you for the suggested improvements! We will take a look at incorporating these for an upcoming release of the software and documentation and let you know when they are ready.
With respect to your question about additional tutorials and sample datasets, we are planning to put out a video tutorial that guides a user through configuring a more realistic and complex landscape and will publish the accompanying dataset alongside the video. Stay tuned...


Feature request: No price source found, just as I want it

I got your addon to help me figure out ways to reach inspiration breakpoints without having to own the materials. It's great for that.
However, every time I log in it warns me no price source is found and suggests some addons I could get to fix that. I don't want to. I just want this little material shuffling feature. Can I be spared the warning?

Hm Ill see what I can do ^^

with 5.4+ you can now opt out of the reminder!


[question] using For inside Switch

Is it possible to use For inside Switch to create multiple Match from array?

Not as things are. Switch expects Match children and For creates dynamic children that are different. Switch is the only example of doing this sort of compound component that has specific expectations of its children. It is possible to create a component with this behavior I imagine. We might even be able to have For work here. But we need to change how Switch works to detect when it is getting passed a function instead of an array.

Thanks.

I'm just trying to determine how complicated it is. Given one layer is simple enough but N level of nested dynamic tags need to be resolved before reading any conditions. Like what if the the For has Shows or Switches in it. The final match might be inside another Match.
Is the use case trying to codify the switch as data and then have it render from that data? And I'm gathering the matches can change dynamically after initial render? Otherwise using a simple Array.prototype.map would be sufficient.

I am writing an app and there is routing section. I wanted to use For inside Switch to create Matches from routes array instead of hardcoding every Match myself.

I wanted to be as simple as possible like simple routing example from github page. I did not want to make a Router component. I wanted to use solid builtin features wherever possible. I am trying to understand the solid better by doing this app.

For sure. Something that might be worth looking at is the Dynamic component. https://github.com/ryansolid/solid/blob/master/documentation/rendering.md#dynamic
If the code is possible to be iterated with a For maybe it's possible to just be a single component that takes the data as props. Let me know if that makes sense. You basically pass in the routed component to the Component prop, all other props pass through to it.

Going to leave as is for now. Closing due to lack of activity.


Keepalive support

Does the client use TCP keepalives (socket option SO_KEEPALIVE)? or is there anyway to set socket option SO_KEEPALIVE?

@carbonfish This will be added in 7.x (starting at https://crates.io/crates/fred/7.0.0-rc.1).


Workflow yml file for PR

Issues · recodehive/awesome-github-profiles - Google Chrome - 18 October 2024 - Watch Video
Watch the above video
the below is the comment need to add..👇🏻
Thank you for creating this PR! 🎉 We'll look into it asap.

- [ ] Make sure on the right-hand side under reviewer you select @sanjay-kv or @HimangshuSharma01 , so review can be faster
- [ ] To appreciate your contribution I will provide free GitHub Profile review: Use Coupon: `recodehive` to get it free 👇🏻
- [ ] Get Free [Profile Review](https://topmate.io/sanjaykv/1135910/pay)
- [ ] Dont forget to star the repo ✨
- [ ] You can connect with me on LinkedIn to learn more about [Github](https://www.linkedin.com/in/sanjay-k-v/)

Your contributions are highly appreciated! 😊 Don't forgot to follow me @sanjay-kv
`More surprise when you raise PR`

Can I work on this issue @sanjay-kv

I can Contribute to this @sanjay-kv

can u record the creation part on the PR, so i can include in the video tutorials.


Support for multiple test summary Plists/destinations

Related to #4.
This adds:

support for overriding the path parameter via the Fastfile (https://github.com/KrauseFx/trainer/commit/0724404b5a3b7ffc580f88e72c8b7b08c7168e1b)
properties to the JUnit XML output that help distinguish run destinations
a package attribute based on the run destination's name + OS Version

It changes:

the way that TestSummaries.plist files are searched for. It uses a recursive path spec to find any files ending in _TestSummaries.plist. This avoids creating output based on the duplicative TestSummaries.plist file in the root of the result bundle.

Cool, thanks 👍 Do you think you can test this in production and ensure this doesn't break anything existing, and works with the new setup?

I can't guarantee my availability to test it in production but I'll try. @CraigLn is this something you can test?

Has any one tried this commit, needed this one as need to run multiple devices

Any advice on what's preventing this from being merged? This would be really valuable for us :-)

Any plans to merge this PR? It is 2 years old and I don't see why it is not in yet when everyone including me :) needs it. Time fly so, Xcode 11 supports test configurations which another test suite distinguish information needed to be added to JUnit.xml


Improve exceptions on dispose

the problem
We frequently see issues where the only stack trace we get is:
Some child test suite writers were not disposed.
System.InvalidOperationException
   at JetBrains.TeamCity.ServiceMessages.Write.Special.Impl.Writer.TeamCityTestSuiteBlock.DisposeImpl()
   at JetBrains.TeamCity.ServiceMessages.Write.Special.Impl.Writer.BaseDisposableWriter`1.Dispose()
   at JetBrains.TeamCity.ServiceMessages.Write.Special.Impl.TeamCityWriterImpl.Dispose()
   at Autofac.Core.Disposer.DisposeAsync(Boolean disposing)
   at Autofac.Core.Lifetime.LifetimeScope.DisposeAsync(Boolean disposing)
...

The message Some child test suite writers were not disposed. isn't very useful to diagnose the problem.
the proposal
Now, we keep a stack for the child suites and tests, so that when something goes wrong, we have more information to diagnose.

Hello @matt-richardson,
Thank you for the PR.
If I'm not mistaken, the code in TeamCityTestSuiteBlock allows only one child test suite or test to be open at any given time – this is enforced by the check in AssertNoChildOpened.  This means that there's actually no reason to keep two stacks for names – we might as well just add a string variable for the child suite name and another string variable for the child test name.
This currently isn't very evident from the code. If you don't mind, I'll do a little cleanup in another PR and I'll add the suite/test names to exception messages as you suggested.

Fixed in #36


Can't use style to export data using aoa_to_sheet

hello ,
I need generate an excel using my data to be like this :

it is possible to do this using aoa_to_sheet and use style to make color

Cell and text styling are currently features in our Pro builds and we do not know when/if they will be folded into the open source build.


Train on Custom Images

Thank you very much for sharing, and I want to train my own images but don't know how to annotate relations. Could you please tell me what tools to use or how to mark the relationships between objects? Thank you very much.

Dear Yubei,
Thank you for your question. The tool we use is simply a text annotation interface (supported by SenseTime Annotation Software, but it should be very simple that you can easily find elsewhere). We do some preprocessing on the image like here, i.e., put masks on the image with their tags (like person-0, umbrella-3). Then we ask the annotators to write down / correct relations, such as:
0 holding 3
Hope it helps.

Thank youfor your reply, it helps me a lot.


create builder fails with image not found when it exists

default-stack-id = "io.buildpacks.stacks.scott-trusty"
[[stacks]]
id = "io.buildpacks.stacks.scott-trusty"
build-images = ["ssisil/build:trusty2"]
run-images = ["ssisil/run:trusty2"]
[[stacks]]
id = "org.cloudfoundry.stacks.cflinuxfs3"
build-images = ["cfbuildpacks/cflinuxfs3-cnb-experimental:build"]
run-images = ["cfbuildpacks/cflinuxfs3-cnb-experimental:run"]
[[stacks]]
id = "io.buildpacks.stacks.bionic"
build-images = ["packs/build"]
run-images = ["packs/run"]

Sadly things just worked on my machine. Did I do anything different to you @ssisil  ?
$  pack create-builder newnpmcnb3 -b ./builder.toml
2018/10/10 08:18:16 Pulling builder base image  cfbuildpacks/cflinuxfs3-cnb-experimental:build

$  docker run -it newnpmcnb3 bash

#  find /buildpacks/
/buildpacks/
/buildpacks/order.toml
/buildpacks/org.cloudfoundry.buildpacks.npm
/buildpacks/org.cloudfoundry.buildpacks.npm/2.3.4
/buildpacks/org.cloudfoundry.buildpacks.npm/2.3.4/buildpack.toml
/buildpacks/org.cloudfoundry.buildpacks.npm/2.3.4/bin
/buildpacks/org.cloudfoundry.buildpacks.npm/2.3.4/bin/build
/buildpacks/org.cloudfoundry.buildpacks.npm/2.3.4/bin/detect
/buildpacks/org.cloudfoundry.buildpacks.nodejs
/buildpacks/org.cloudfoundry.buildpacks.nodejs/1.6.32
/buildpacks/org.cloudfoundry.buildpacks.nodejs/1.6.32/buildpack.toml
/buildpacks/org.cloudfoundry.buildpacks.nodejs/1.6.32/bin
/buildpacks/org.cloudfoundry.buildpacks.nodejs/1.6.32/bin/build
/buildpacks/org.cloudfoundry.buildpacks.nodejs/1.6.32/bin/detect

# cat /buildpacks/order.toml
[[groups]]

[[groups.buildpacks]]
id = "org.cloudfoundry.buildpacks.nodejs"
version = "1.6.32"

[[groups.buildpacks]]
id = "org.cloudfoundry.buildpacks.npm"
version = "2.3.4"

Contents of builder.toml
[[buildpacks]]
id = "org.cloudfoundry.buildpacks.nodejs"
uri = "file://nodejs"

[[buildpacks]]
id = "org.cloudfoundry.buildpacks.npm"
uri = "file://npm"

[[groups]]
buildpacks = [
  { id = "org.cloudfoundry.buildpacks.nodejs", version = "1.6.32" },
  { id = "org.cloudfoundry.buildpacks.npm", version = "2.3.4" },
]

I tried setting the id incorrectly inside the builder.toml buildpacks section, but that gave me an error
I then tried setting the id incorrectly inside groups/buildpacks ; that gave me a builder image with the buildpack in it, and an order.toml with the incorrect id. Thus this image would have failed to work at build time, but did copy the buildpack in (which I believe is the first thing that failed for you Scott)./
Thus I am still unsure

Let me re-test and see if I am still getting this. Its weird that I didnt see this error initially and then all of a sudden started seeing it. Makes me think something is wrong on my end

@dgodd - F


Select video from previous days

Thank you very much for this application that I'm happy to use right now.
I like the selection of video that propose videos of the day and next days but I would love to have the opportunity to choose video from previous days cause sometimes I need to cheat a bit to complete my year.
For now I have to deactivate the "experimental mode", go back to the day, open the gallery, find my video and then go back to the parameter and activate the experimental mode for the next days I'll process.

Yeah I do the same thing fairly regularly too


Change output from "sensor.channelname" to "sensor.twitchtv.channelname"

Everything works perfectly but how can I change the output sensors from "sensor.channelname" to "sensor.twitchtv_channelname"?

Hi, the component will output the name of the streamer as the entity id.
I think you can change it from inside Home Assistant by clicking 'developer tool'. There is a small guide here: https://www.home-assistant.io/docs/configuration/customizing-devices/
Also looks like this from inside HA:

Thats what I did for now. But renaming all of them might be cumbersome in the future. I had the same issue with the custom "discord_game" integration on HACS. That naming convention was later changed from "sensor.discordid" to "sensor.discorduser_discordid" which is handy when using automated fill lists etc.
Maybe a future improvement?

Ok, cool. I agree with you. The reason it's this way is because the original core component generated the entity ids in the same way. In hindsight, I should probably have changed it, but I didn't really think much about it.
Though, I'm not sure how much of a breaking change it will be to change it now.

Good timing. Just installed this component and was a bit annoyed by the same thing when configuring the lovelace card. Would be great if there was a (configurable/optional?) suffix. If "suffix" variable isn't set it could use sensor. and if it is set to "twitch_" it would be sensor.twitch_. Shouldn't break anything :)
Having a suffix would also greatly improve management of the cards, so you could use auto-entities or similar (matching on "sensor.twitch_*") to avoid having to update both the component config and the card where streamers are shown.
Thanks for the component btw!

Or rather, prefix. Not suffix.

... sensor.twitchtv_channelname would be awesome! :)

The issue was automatically closed by merging a PR into the master branch.
I created a new release https://github.com/Radioh/ha_twitch_helix/releases/tag/v.0.5.1
I've added "entity_prefix" as an optional config parameter. It will not override ids on already existing entities if you add it. It will only set it on new ones. Check it out and let me know if there is any issues. :)

Works like a charm! Thanks a lot. Already updated my integration ... :)

Works here as well, thanks!


Restructure Data Prepper plugins documentation

Removed content from Data Prepper plugin reference page and broke out into separate pages.
Signed-off-by: carolxob<EMAIL_ADDRESS>Description
Restructure Data Prepper plugins documentation to improve usability.
Issues Resolved
Closes #1542
Checklist

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

@dlvenable This is ready for tech review. The Table of Contents (TOC) requires extra attention - let me know if anything needs to be adjusted/added/removed. Thanks!

@dlvenable This is ready for tech review.


Link - Enhance Accessibility Unit Tests

Description
Split from #134.
It was discovered during #134 that a more proper way of testing the a11yValue override was available using Jest Matchers, but it appeared to require additional Jest configuration that was not already setup and our configuration didn't readily match up to the Jest guidance for adding Jest Matchers. Since it was discovered mostly after getting the accessibility tests to work somewhat correctly via brute force, this ticket was split off to handle the necessary Jest configuration changes to enable this more proper way of validating the accessibility (and other helpful additions to the standard data matching Jest offers).
Acceptance Criteria

[ ] Update Jest configuration to leverage the enhanced Jest Matchers
[ ] Fix any linting errors associated with new eslint extension
[ ] Update the a11y tests set of Link and Alert tests with the improved Jest Matcher for a11yValue
[ ] If possible, also improve the a11y-Label/Hint to actually read values instead of just checking prop values

Tried to add Jest matchers for Alert accessibility tests and found that the new eslint plugin would require changes to all of our unit tests. Adjusted this AC to account for that, renamed ticket, and bumped estimate to 8 points.
CC: @kellylein


add occurence_period to observation tables

this needs more looking into ...

sounds good .. do we always have endDate? or will this be inferred from
other dates in the data?
On Wed, Mar 8, 2023 at 4:46 PM Pip Liggins @.***> wrote:

I'm going to write an apply function for this for symptom observations- do
we want a duration (i.e. 14 days), or a period e.g. ISO date ranges specify
startDate/endDate (e.g. 2020-01-01/2020-02-05)?
—
Reply to this email directly, view it on GitHub
https://github.com/globaldothealth/isaric/issues/90#issuecomment-1460484516,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABW7SJGDAXM7RSGWS5PH3Z3W3CZWFANCNFSM6AAAAAAVL7DLCQ
.
You are receiving this because you were assigned.Message ID:
@.***>

If we are removing occurrence_period, then we should also add a duration_type = "block" or duration_type = "event" to indicate that the observation refers to a condition that is (i) present throughout the period (block), (ii) or something that occurred within the period, possibly multiple times. The default duration_type should be event.

My understanding from the meeting yesterday is that we wanted to keep something resembling 'occurrence_period' (although maybe not with that name) in the observations table. Maybe in line with Abhishek's comment above, we have an observation attribute called either 'duration' or 'occurrence_period' (whichever people feel best conveys what we're trying to achieve), which includes both a date range for the duration, and a type property of 'block' or 'event' as above - so
[[observation]]
occurrence_period = {duration=startDate/endDate, duration_type='event'}.
This will cover both the length of time we're interested in, and whether a person had that symptom the entire time, or at least once during the occurrence period.
I've created functions that can either give a date period, or number of days elapsed - we should choose which of the two are more appropriate here.


Add the tab-completion support of SERVICE_LEVEL statements

Fixes: #43
TODOs

[x]  - add test for enterprise in github action
[x] - add unit test for SLA

@eliransin want to take it for a test ride ?

@fruch I guess you're still waiting a review here...
@Lorak-mmk could you please review?
Who is the main maintainer of this repository?

@fruch I guess you're still waiting a review here...
@Lorak-mmk could you please review?
Who is the main maintainer of this repository?

I did review and I'm waiting for a response to my comment, I pinged two times.

Thanks, weird that your review appears as dismissed, but no tracking of why.

@fruch ?


Scala Hadoop Shred: maintain a cache of missing schemas

That way, we don't have to do an expensive resolution process on every single event which is referencing a non-existent schema

This is one of the most painful failure states we have currently...

Should this ticket move to iglu-scala-client? It seems like the best place to make the change is in the Resolver class itself.

Completely agree!


[ci:component:github.com/gardener/vpa-exporter:0.1.5->0.3.0]

How to categorize this PR?

/area monitoring
/kind enhancement
What this PR does / why we need it:
Update the vpa-exporter image from 0.1.5 to 0.3.0.
The path to the executable file is adjusted as well.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
/cc @wyb1
Release note:

Update vpa-exporter:0.1.5->0.3.0
Add `targetName` and `targetKind` labels
Added unit-tests and added a check for no targetRef.
Updated alpine image.
Added a new metric to export new VPA recommendations provided via an annotation.
Published docker images for VPA-Exporter are now multi-arch ready. They support `linux/amd64` and `linux/arm64`.
The `vpa-exporter` container now uses `distroless` instead of `alpine` as a base image.

/approve

The integration test fails here: https://github.com/gardener/gardener/blob/8f2b58bf8d16b1ee3079f68cdc10b66e9dee7918/test/e2e/shoot/internal/rotation/observability.go#L61
{Expected
    <int>: 503
to equal
    <int>: 200 failed /home/prow/go/src/github.com/gardener/gardener/test/e2e/shoot/internal/rotation/observability.go:61

/retest


Mediaset [ITA] Not Working

Unfortunately it looks like youtube-dl is not working with videos from Mediaset website in Italy.
URL: https://www.grandefratello.mediaset.it/video/ventinovesima-puntata_27071.shtml
Verbose report from youtube-dl
youtube-dl -v https://www.grandefratello.mediaset.it/video/ventinovesima-puntata_27071.shtml
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://www.grandefratello.mediaset.it/video/ventinovesima-puntata_27071.shtml']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Git HEAD: 96137bc19
[debug] Python version 3.10.1 (CPython) - macOS-12.1-arm64-arm-64bit
[debug] exe versions: none
[debug] Proxy map: {}
[generic] ventinovesima-puntata_27071: Requesting header
WARNING: Falling back on generic information extractor.
[generic] ventinovesima-puntata_27071: Downloading webpage
[generic] ventinovesima-puntata_27071: Extracting information
[Mediaset] F310293901002901: Downloading JSON metadata
[Mediaset] F310293901002901: Downloading MPEG4 SD SMIL data
[Mediaset] F310293901002901: Downloading MPEG4 HD SMIL data
ERROR: None of the available releases match the specified AssetType, ProtectionScheme, and/or Format preferences
Traceback (most recent call last):
File "/opt/homebrew/Cellar/youtube-dl/2021.12.17/libexec/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 815, in wrapper
return func(self, *args, **kwargs)
File "/opt/homebrew/Cellar/youtube-dl/2021.12.17/libexec/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 836, in __extract_info
ie_result = ie.extract(url)
File "/opt/homebrew/Cellar/youtube-dl/2021.12.17/libexec/lib/python3.10/site-packages/youtube_dl/extractor/common.py", line 534, in extract
ie_result = self._real_extract(url)
File "/opt/homebrew/Cellar/youtube-dl/2021.12.17/libexec/lib/python3.10/site-packages/youtube_dl/extractor/mediaset.py", line 157, in _real_extract
raise first_e
File "/opt/homebrew/Cellar/youtube-dl/2021.12.17/libexec/lib/python3.10/site-packages/youtube_dl/extractor/mediaset.py", line 142, in _real_extract
tp_formats, tp_subtitles = self._extract_theplatform_smil(
File "/opt/homebrew/Cellar/youtube-dl/2021.12.17/libexec/lib/python3.10/site-packages/youtube_dl/extractor/theplatform.py", line 51, in _extract_theplatform_smil
raise ExtractorError(
youtube_dl.utils.ExtractorError: None of the available releases match the specified AssetType, ProtectionScheme, and/or Format preferences

#19076, #27439, which have the same error message, are labeled DRM by the dev member.
Please try unchecking "Play DRM-controlled content" in Firefox (or in any other browser that has similar settings) and test if the video can be played.

It's a DRM related issue.


[feature request] Make Before, After, BeforeSuite, AfterSuite data driven

What are you trying to achieve?
Data driven hooks: Before After BeforeSuite AfterSuite
For example it would be nice to make use of something like this:
Data(datatable).Before((I, current) => {
	I.amOnPage('/');
        I.loginAs(current.user);
});

What do you get instead?
Nothing...
Details

CodeceptJS version: 2.0.1

Any chance we can expect this update soon?

To be honest this is a very strange feature and yeah, I'm not sure it can be released soon.
Why do you need that in hooks, you can still use this in tests

This would give an ability to shorten the body of multiple test cases inside single feature. Logging into an application is a basic prerequisite operation which requires multiple sets of data such as usernames and passwords depending on permissions granted to particular user. I would like to move "log in" step inside single Before hook so it is not necessary to use each time in all the test cases. Let me give you an example:
Now:
`Feature('Check admin permissions');
Before((I) => {
I.amOnPage('/');
});
Data(datatable).Scenario('TC 001 check something', (I, current) => {
I.loginAs(current.user);
// steps to perform
});
Data(datatable).Scenario('TC 002 check something', (I, current) => {
I.loginAs(current.user);
// steps to perform
});
Data(datatable).Scenario('TC 003 check something', (I, current) => {
I.loginAs(current.user);
// steps to perform
});
...`
My suggestion:
`Feature('Check admin permissions');
Data(datatable).Before((I, current) => {
I.amOnPage('/');
I.loginAs(current.user);
});
Scenario('TC 001 check something', (I) => {
// steps to perform
});
Scenario('TC 002 check something', (I) => {
// steps to perform
});
Scenario('TC 003 check something', (I) => {
// steps to perform
});
...`
This would give hundreds of other use cases in my opinion and would make the test code look more clean. Especially when one feature contains many testcases.


noice cmdline having inproper border

Hello there, cmdline with noice has border bg color of colorcolumn, instad of normal bg.

Does not happen with telescope

When switching to other themes works just fine. How do I fix/configure that?

UPD: changing bg_gutter in ui helped!
more specifically:


THIRD-PARTY-NOTICES should not appear in templates

THIRD-PARTY-NOTICES should not appear in the templates and should be updated (remove unnecessary licences)

It seems to have been added as part of https://github.com/aspnet/Identity/commit/bc5d4733f150f70784e8cd53ad97c9c83e10bca3


[Bug] all BE crash after execute some query

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
Doris 2.0.3
What's Wrong?
after execute query:
SELECT   count(*) FROM   dws_asset_domain_statistics_daily t1 INNER JOIN (     SELECT       account_id,       account_name,       ssp_id     FROM       dws_asset_domain_statistics_daily     WHERE       d_s = '2023-12-20'     GROUP BY       1,       2,       3   ) t2 ON (       t1.account_id <=> t2.account_id     AND t1.account_name = t2.account_name     AND t1.ssp_id = t2.ssp_id     ) WHERE   d_s = '2023-12-20'
all be crash. our create table :
CREATE TABLE dws_asset_domain_statistics_daily (   account_id int(11) NULL,   ssp_id int(11) NULL,   account_name varchar(500) NULL,   d_s date NOT NULL ) ENGINE = OLAP DUPLICATE KEY(account_id, ssp_id, account_name)  COMMENT 'OLAP'  PARTITION BY RANGE(d_s) (PARTITION p20231220 VALUES [('2023-12-20'), ('2023-12-21')))  DISTRIBUTED BY HASH(account_name) BUCKETS 9
insert data:
insert into dws_asset_domain_statistics_daily(ssp_id, d_s) values (45, '2023-12-20')
(when this table only has one record, just one be crash)
when I just delete one on clause, the query would not make be crash.
such as delete t1.account_id <=> t2.account_id
or delete t1.account_name = t2.account_name
or delete t1.ssp_id = t2.ssp_id.
be.out:

F0102 16:02:38.069783 80177 column.h:647] Column String is not a contiguous block of memory
*** Check failure stack trace: ***
@     0x563b63d38239  google::LogMessageFatal::~LogMessageFatal()
@     0x563b5ca3d17d  doris::vectorized::IColumn::get_raw_data()
@     0x563b5c394231  doris::RuntimePredicateWrapper::insert_batch()
@     0x563b5c389af3  doris::IRuntimeFilter::insert_batch()
@     0x563b5ef4ac4d  doris::VRuntimeFilterSlots::insert()
@     0x563b5ef49828  doris::vectorized::ProcessRuntimeFilterBuild<>::operator()()
@     0x563b5ef2ec03  (unknown)
@     0x563b5ee93ced  doris::vectorized::HashJoinNode::sink()
@     0x563b637bfe3e  doris::pipeline::StreamingOperator<>::sink()
@     0x563b637ecb64  doris::pipeline::PipelineTask::execute()
@     0x563b637f5593  doris::pipeline::TaskScheduler::_do_work()
@     0x563b5c5b990f  doris::ThreadPool::dispatch_thread()
@     0x563b5c5af88c  doris::Thread::supervise_thread()
@     0x7f6a47f17851  start_thread
@     0x7f6a488b267d  clone
@              (nil)  (unknown)
*** Query id: 3c9e8d26f2cb4d10-a4d07d7b9d7187a7 ***
*** tablet id: 0 ***
*** Aborted at<PHONE_NUMBER> (unix time) try "date -d @1704182558" if you are using GNU date ***
*** Current BE git commitID: Unknown ***
*** SIGABRT unknown detail explain (@0x1f4000137a5) received by PID 79781 (TID 80177 OR 0x7f68787f5700) from PID 79781; stack trace: ***
0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /home/work/linzhaosheng/doris_2.3/apache-doris-2.0.3-src/be/src/common/signal_handler.h:417
1# 0x00007F6A487FD920 in /lib64/libc.so.6
2# __GI_raise in /lib64/libc.so.6
3# abort in /lib64/libc.so.6
4# 0x0000563B63D3E219 in /home/work/doris/apache-doris-<IP_ADDRESS>-bin-x64/be/lib/doris_be
5# google::LogMessage::SendToLog() in /home/work/doris/apache-doris-<IP_ADDRESS>-bin-x64/be/lib/doris_be
6# google::LogMessage::Flush() in /home/work/doris/apache-doris-<IP_ADDRESS>-bin-x64/be/lib/doris_be
7# google::LogMessageFatal::~LogMessageFatal() in /home/work/doris/apache-doris-<IP_ADDRESS>-bin-x64/be/lib/doris_be
8# doris::vectorized::IColumn::get_raw_data() const at /home/work/linzhaosheng/doris_2.3/apache-doris-2.0.3-src/be/src/vec/columns/column.h:647
9# doris::RuntimePredicateWrapper::insert_batch(COWdoris::vectorized::IColumn::immutable_ptrdoris::vectorized::IColumn, std::vector<int, std::allocator > const&) at /home/work/linzhaosheng/doris_2.3/apache-doris-2.0.3-src/be/src/exprs/runtime_filter.cpp:592
10# doris::IRuntimeFilter::insert_batch(COWdoris::vectorized::IColumn::immutable_ptrdoris::vectorized::IColumn, std::vector<int, std::allocator > const&) at /home/work/linzhaosheng/doris_2.3/apache-doris-2.0.3-src/be/src/exprs/runtime_filter.cpp:1148
11# doris::VRuntimeFilterSlots::insert(std::unordered_map<doris::vectorized::Block const*, std::vector<int, std::allocator >, std::hash<doris::vectorized::Block const*>, std::equal_to<doris::vectorized::Block const*>, std::allocator<std::pair<doris::vectorized::Block const* const, std::vector<int, std::allocator > > > >&) at /home/work/linzhaosheng/doris_2.3/apache-doris-2.0.3-src/be/src/exprs/runtime_filter_slots.h:198
12# doris::vectorized::ProcessRuntimeFilterBuild<doris::vectorized::SerializedHashTableContextdoris::vectorized::RowRefList >::operator()(doris::RuntimeState*, doris::vectorized::SerializedHashTableContextdoris::vectorized::RowRefList&) at /home/work/linzhaosheng/doris_2.3/apache-doris-2.0.3-src/be/src/vec/exec/join/vhash_join_node.cpp:304
13# _ZNSt8__detail9__variant17__gen_vtable_implINS0_12_Multi_arrayIPFNS0_21__deduce_visit_resultIN5doris6StatusEEEONS4_10vectorized8OverloadIJZNS7_12HashJoinNode4sinkEPNS4_12RuntimeStateEPNS7_5BlockEbE3$_0ZNS9_4sinkESB_SD_bE3$1EEERSt7variantIJSt9monostateNS7_26SerializedHashTableContextINS7_10RowRefListEEENS7_27PrimaryTypeHashTableContextIhSL_EENSN_ItSL_EENSN_IjSL_EENSN_ImSL_EENSN_INS7_7UInt128ESL_EENSN_INS7_7UInt256ESL_EENS7_24FixedKeyHashTableContextImLb1ESL_EENSW_ImLb0ESL_EENSW_ISS_Lb1ESL_EENSW_ISS_Lb0ESL_EENSW_ISU_Lb1ESL_EENSW_ISU_Lb0ESL_EENSK_INS7_18RowRefListWithFlagEEENSN_IhS13_EENSN_ItS13_EENSN_IjS13_EENSN_ImS13_EENSN_ISS_S13_EENSN_ISU_S13_EENSW_ImLb1ES13_EENSW_ImLb0ES13_EENSW_ISS_Lb1ES13_EENSW_ISS_Lb0ES13_EENSW_ISU_Lb1ES13_EENSW_ISU_Lb0ES13_EENSK_INS7_19RowRefListWithFlagsEEENSN_IhS1H_EENSN_ItS1H_EENSN_IjS1H_EENSN_ImS1H_EENSN_ISS_S1H_EENSN_ISU_S1H_EENSW_ImLb1ES1H_EENSW_ImLb0ES1H_EENSW_ISS_Lb1ES1H_EENSW_ISS_Lb0ES1H_EENSW_ISU_Lb1ES1H_EENSW_ISU_Lb0ES1H_EEEEEJEEESt16integer_sequenceImJLm1EEEE14__visit_invokeESH_S1W at /home/work/linzhaosheng/tools/ldb_toolchain_gen_bin/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/variant:1013
14# doris::vectorized::HashJoinNode::sink(doris::RuntimeState*, doris::vectorized::Block*, bool) at /home/work/linzhaosheng/doris_2.3/apache-doris-2.0.3-src/be/src/vec/exec/join/vhash_join_node.cpp:967
15# doris::pipeline::StreamingOperatordoris::pipeline::HashJoinBuildSinkBuilder::sink(doris::RuntimeState*, doris::vectorized::Block*, doris::pipeline::SourceState) at /home/work/linzhaosheng/doris_2.3/apache-doris-2.0.3-src/be/src/pipeline/exec/operator.h:347
16# doris::pipeline::PipelineTask::execute(bool*) at /home/work/linzhaosheng/doris_2.3/apache-doris-2.0.3-src/be/src/pipeline/pipeline_task.cpp:266
17# doris::pipeline::TaskScheduler::_do_work(unsigned long) at /home/work/linzhaosheng/doris_2.3/apache-doris-2.0.3-src/be/src/pipeline/task_scheduler.cpp:267
18# doris::ThreadPool::dispatch_thread() in /home/work/doris/apache-doris-<IP_ADDRESS>-bin-x64/be/lib/doris_be
19# doris::Thread::supervise_thread(void*) at /home/work/linzhaosheng/doris_2.3/apache-doris-2.0.3-src/be/src/util/thread.cpp:499
20# start_thread in /lib64/libpthread.so.0
21# clone in /lib64/libc.so.6

What You Expected?
be not crash
How to Reproduce?
No response
Anything Else?
No response
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

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

is there  "Bad cast from type" in your error log

is there "Bad cast from type" in your error log

I have encountered many times of BE crash caused by error like bad cast type. some have been fixed.

this is a new case about bad cast type. maybe it is relative to <=>

This is a bug, will fix in 204 or 205


Sync cursor position

TeXStudio offers the options to sync the cursor position between both (source/pdf) documents. You can choose if you only want it in one direction or in both.
I would love to see such a feaute in this plugin, any plans to do this?

Um, you mean SyncTeX?


create tensor from array (Tensor::of_blob)

        let dat = [[1, 2, 3], [1, 2, 3]];
        let pt = &dat as *const _ as *const u8;
        let us = unsafe {
            Tensor::of_blob(
                pt,
                &[2, 3],
                &[1, 1],
                Kind::Int,
                tch::Device::cuda_if_available(),
            )
        };

this prints " 1  2  3\n 2  3  1\n[ CPUIntType{2,3} ]" and looks not quite right.
BTw,is this the only method to create tensors of any shape by of_blob?

of_blob is unsafe and should be avoided as much as possible (its main use case is when running code as a Python extension and exchanging tensors between the Python and the Rust side).
Using of_slice followed by a reshape is likely to be closer to what you want here. Overall I would suggest having a look at the tensor tests as well as the examples/ directory to find about this kind of thing.

Thanks!


Broaden Cytomining Ecosystem landscape analysis with further data

This PR adds further data and changes some of the metric gathering from GitHub to help limit use (or time duration of API calls). I've limited the project metric gathering from GitHub temporarily to the first few projects to enable quick feedback as the projects dataset is much larger now. I plan to follow up with another PR which focuses on visualizations, where I'll remove this limitation.
Thanks in advance for your feedback!

Closing this without merge and will defer these changes to visualizations additions in another PR.


Native Windows support for Widevine and screen capture prevention with September update - detection with probeSupport

Have you read the Tutorials?
yes
Have you read the FAQ and checked for duplicate open issues?
yes
What version of Shaka Player are you using?
3.1.x, 3.2.x
Please ask your question
After one of the Windows 10 updates in September (I'm not sure which one exactly) there is a very important change in a native support of screen capture prevention. Now videos encrypted with Widevine cannot be captured with Chrome or Firefox - screenshot is just a black frame. Before it used to work like this only with Edge and Playready.
For me this is crucial. I can finally deliver HD video on Chrome because screen recording with popular software is not that easy anymore.
I cannot find any official information about this change and fix.  Does anybody know what exactly Microsoft did in September? Do they provide a native Widevine decryption module?
And the most important: can I detect with shaka.Player.probeSupport() (or another way) if the screen capture is prevented by Windows nativly?

I cannot find any official information about this change and fix. Does anybody know what exactly Microsoft did in September? Do they provide a native Widevine decryption module?

I don't know about this.  I suggest you contact Widevine about this.

And the most important: can I detect with shaka.Player.probeSupport() (or another way) if the screen capture is prevented by Windows nativly?

Unfortunately not.  The browser doesn't provide us with any information about this in JavaScript.


[Improvement] In the SparkBatchProcessBuilder, call super.clusterManager() when batchConf does not have spark.master

Code of Conduct

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

Search before asking

[X] I have searched in the issues and found no similar issues.

What would you like to be improved?
currently, if batchConf does not have spark.master, find master conf from defaultMaster:
https://github.com/apache/kyuubi/blob/f420238f4f171bab9a04860c5cf7f6b2181621ec/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkBatchProcessBuilder.scala#L80
But defaultMaster finds config from the file directly, it passes spark configurations from the kyuubi-defaults.conf.
How should we improve?
if we just call super.clusterManager() instead of defaultMaster, we can search it from current session config and then if missing, find master from the spark-defaults.conf file.
Are you willing to submit PR?

[X] Yes. I would be willing to submit a PR with guidance from the Kyuubi community to improve.
[ ] No. I cannot submit a PR at this time.

Look reasonable, please go ahead to send PR to fix it.


add synchronous pull ability

I have been using this in prod for now 3 months. Works pretty well. But now we are running into scaling issues.
We would like to implement syncronous pull functionlity in our workers.
by giving the max number of messages we are pulling at one time. Here is a gcp documentation link to describe what we are looking for. https://cloud.google.com/pubsub/docs/pull#synchronous_pull
How long would it take to implement this functionality. Would it require a big refactor? I can have my team look into it.

Hi, thanks for using this package!
This package supports push subscription for using on Cloud Run. however, I think I will be able to support pull functionlity.
I will try to do tomorrow.

I will able to implement like this.
const { v1 } = require('@google-cloud/pubsub');

@Controller()
export class CustomController {

    constructor(private readonly executor: CloudRunPubSubWorkerService) { }

    @Post()
    public async trigger() {
        // Creates a client; cache this for further use.
        const subClient = new v1.SubscriberClient();
        const formattedSubscription = subClient.subscriptionPath(
            projectId,
            subscriptionName
        );

        // The maximum number of messages returned for this request.
        // Pub/Sub may return fewer than the number specified.
        const request = {
            subscription: formattedSubscription,
            maxMessages: 10,
        };

        // The subscriber pulls a specified number of messages.
        const [response] = await subClient.pull(request);

        // Process the messages.
        const ackIds = [];
        for (const message of response.receivedMessages) {
            // same code: https://github.com/anchan828/nest-cloud-run-pubsub/blob/master/packages/worker/src/worker.controller.ts#L31-L75
            await this.executor.submit(message.message);
            ackIds.push(message.ackId);
        }

        // Acknowledge all of the messages. You could also ackknowledge
        // these individually, but this is more efficient.
        const ackRequest = {
            subscription: formattedSubscription,
            ackIds: ackIds,
        };
        await subClient.acknowledge(ackRequest);
    }
}

@brianschardt Hi, the latest package version<EMAIL_ADDRESS>has supported pull subscription.
Please read README
export class PullSubscriptionWorker {
  constructor(private readonly workerService: CloudRunPubSubWorkerService) {}

  /**
   * See: https://cloud.google.com/pubsub/docs/pull#synchronous_pull
   */
  public async setUpSynchronousPull() {
    const subClient = new v1.SubscriberClient();
    const formattedSubscription = subClient.subscriptionPath("test", "pull-subscription");
    const request = {
      maxMessages: 10,
      subscription: formattedSubscription,
    };

    const [response] = await subClient.pull(request);

    const ackIds: string[] = [];
    for (const message of response.receivedMessages || []) {
      if (!message.message) {
        continue;
      }

      await this.workerService.execute(message.message);
      if (message.ackId) {
        ackIds.push(message.ackId);
      }
    }

    const ackRequest = {
      ackIds: ackIds,
      subscription: formattedSubscription,
    };

    await subClient.acknowledge(ackRequest);

    Logger.log(`Done: ${ackIds.join(", ")}`, "Pull Subscription");
  }
}


Not showing correct emojis when using sprite sheets

Hi thank you for developing this, it's really useful and I've been using it for a while without any problems, but I noticed the other day that sprites aren't lining up correctly anymore for some reason.
When using the following:
US FLAG: :us: and hello :smile: world :flag-ca:
it outputs this:

I can't figure out what has changed or what I'm doing wrong. I've pretty much taken it back to the basics as outlined in the docs and the CSS is taken from the demo example from this repo, please could anyone help?
I've created a CodePen example here maybe will cast some light on anything I'm doing wrong.
Many thanks

Are you using the correct version of the spritesheet from the emoji-data project? The latest version of js-emoji is built using v7.0.2: https://github.com/iamcal/emoji-data/tree/v7.0.2

That's it! Thank for the quick response - I should have been using from the CDN<EMAIL_ADDRESS>


use dnn to find faces in picture and get better result of locations

through using this project to find faces in picture,i find it is not meet my requirement,so to meet my requirement, i find a better way to find faces;so to meet someone who has the same situation as me,
i decide to contribute it to our project;I hope to pass the review,thank you!

This is a cool example fo OpenCV, but it's not really related to this library.


Specify sources for checkstyle

to avoid checking on generated code

How come the first commit makes checkstyle fail while mvn checkstyle:check succeeds right now on the master branch. And how come checkstyle fails when running the release plugin?

@dflemstr any idea about the above quesitons?


is gaze direction estimation actually supported?

Based on the title of the repo, and the docs intro I got an impression that it's possible to do gaze direction estimation. But it seems only head position is supported, that is if I keep my head still and only move my eyes - no changes will be noticed.

Hi @avloss
Yes you are right, for the moment the gaze estimation is still not supported. We are working on it. As you can imagine is quite challenging to have a good gaze estimation, but hopefully we will release the code soon. For the moment only head pose estimation is implemented. In some conditions the focus of attention can be estimated using only the head pose (for example when the eyes are occluded).
Stay tuned! Massimiliano

Thank you for your detailed and prompt answer!


sync price every minute and backoff if err

separates price syncing from balance syncing, sets the price fetch interval to a minute, backs off if it gets errors, and tries to get price on boot even if we have zero balance (so the first receive can be priced in fiat)
seems to be working in my local testing. my apologies to coingecko for all the spam

fixed the backoff reset if you want to re-review

Seems to work for me when I was getting some 403's


Don't misuse constructor names for CellBuffer

Better to have different names for the constructors, since these don't always return the type (it may be wrapped in tuples/dicts)

Codecov Report

Merging #6 (f13b799) into main (8a42890) will increase coverage by 0.64%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main       #6      +/-   ##
==========================================
+ Coverage   92.97%   93.61%   +0.64%
==========================================
  Files           8        8
  Lines         242      235       -7
==========================================
- Hits          225      220       -5
+ Misses         17       15       -2

Impacted Files
Coverage Δ

src/FerriteAssembly.jl
100.00% <ø> (ø)

src/CellBuffer.jl
91.66% <100.00%> (+0.36%)
:arrow_up:

src/autodiff.jl
98.59% <100.00%> (+0.06%)
:arrow_up:

src/utils.jl
57.14% <0.00%> (-2.86%)
:arrow_down:

src/scaling.jl
94.73% <0.00%> (-0.51%)
:arrow_down:

src/assembly.jl
100.00% <0.00%> (+3.57%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Adds new logserver outputs: stdout.containers and stdout.pantavisor

With this 2 new outputs, the stdout options are the following:

stdout: shows everything by stdout: kernel messages, containers logs and pantavisor logs
stdout.containers: shows kernel messages and containers log
stdout.pantavisor: shows kernel messages and pantavisor log

Looks good to me. Remember to update docs in https://docs.pantahub.com/storage/#logs and https://docs.pantahub.com/pantavisor-configuration/#pantavisorconfig with the new info


Translation + Var Changes.

I’ll take a look at this when I get home.

I’ll take a look at this when I get home.

Thanks.


[Bug]: Librechat doesn't wait until Ollama has loaded model

What happened?
When starting a conversation with a model served via Ollama, it sometimes happens the prompt stops prematurely with an ETIMEDOUT error. After resending the prompt, it is answered correctly, but only because the model has been loaded by then. With larger models (like Command R Plus), it takes several retries.
Steps to Reproduce

Start a chat with an Ollama-served model
Prompt the model
Send the prompt
See the general error message appear

What browsers are you seeing the problem on?
Safari
Relevant log output
Librechat error-log:
{"cause":{"code":"ETIMEDOUT","errno":"ETIMEDOUT","message":"request to http://host.docker.internal:11434/v1/chat/completions failed, reason: read ETIMEDOUT","type":"system"},"level":"error","message":"[handleAbortError] AI response error; aborting request: Connection error.","stack":"Error: Connection error.\n    at OpenAI.makeRequest (/app/api/node_modules/openai/core.js:292:19)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async ChatCompletionStream._createChatCompletion (/app/api/node_modules/openai/lib/ChatCompletionStream.js:53:24)\n    at async ChatCompletionStream._runChatCompletion (/app/api/node_modules/openai/lib/AbstractChatCompletionRunner.js:314:16)"}

Librechat debug-log:
2024-07-12T05:36:03.543Z debug: [OpenAIClient] chatCompletion
{
  baseURL: "http://host.docker.internal:11434/v1",
    modelOptions.model: "gemma-2-27b-it-Q8_0_L.gguf:latest",
    modelOptions.temperature: 0.7,
    modelOptions.top_p: 1,
    modelOptions.presence_penalty: 0,
    modelOptions.frequency_penalty: 0,
    modelOptions.stop: undefined,
    modelOptions.max_tokens: undefined,
    modelOptions.user: "668d8e6941ec54b9987a6bcc",
    modelOptions.stream: true,
    // 2 message(s)
    modelOptions.messages: [{"role":"system","name":"instructions","content":"Instructions:\nAntwoord uitsluitend in het Nederla... [truncated],{"role":"user","content":"Dit is een test."}],
}
2024-07-12T05:36:03.548Z debug: Making request to http://host.docker.internal:11434/v1/chat/completions
2024-07-12T05:36:15.288Z debug: Making request to http://host.docker.internal:11434/v1/chat/completions
2024-07-12T05:36:27.455Z debug: Making request to http://host.docker.internal:11434/v1/chat/completions
2024-07-12T05:36:38.743Z warn: [OpenAIClient.chatCompletion][stream] API error
2024-07-12T05:36:38.743Z error: [handleAbortError] AI response error; aborting request: Connection error.
2024-07-12T05:36:38.747Z debug: [AskController] Request closed
2024-07-12T06:27:35.786Z debug: [AskController]

Ollama-server log:
level=WARN source=server.go:570 msg="client connection closed before server finished loading, aborting load"
level=ERROR source=sched.go:480 msg="error loading llama server" error="timed out waiting for llama runner to start: context canceled"

Screenshots
No response
Code of Conduct

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

I tested a bit more. Even when the model is loaded, but prompted with a large prompt, a timeout occurs. I think that the timeout should be removed when using Ollama, and only present an error when Ollama does.

@danny-avila Did you have a chance to look into this issue? Would be great if timeouts for custom endpoints can be changed and/or disabled completely. Thanks!

You can try this:

Increase OLLAMA_LOAD_TIMEOUT.

source: https://github.com/ollama/ollama/issues/8006#issuecomment-2527493597
There is no timeout on LC side, unless you have a reverse proxy sitting in front of your client connections (like NGINX, or Traefik).
Those services have a 60 second default timeout.
I may add some simple UI for Ollama loading

I've probably found the cause it's the openai client, it has it's own internal timeout with a algorithm to decide how many seconds before stopping and making a new request, the after 3 attempts it gives up.
const sleepSeconds = Math.min(initialRetryDelay * Math.pow(2, numRetries), maxRetryDelay);
This does not give ollama enough time to load the model hence the api error.
even librechat logs shows the behavior it waits 12 seconds before trying again for 3 times then give the error
2024-12-20T09:56:34.835Z debug: Making request to http://---:11434/v1/chat/completions
2024-12-20T09:56:34.836Z debug: [saveConvo] api/app/clients/BaseClient.js - saveMessageToDatabase #saveConvo
2024-12-20T09:56:46.602Z debug: Making request to http://---:11434/v1/chat/completions
2024-12-20T09:56:58.820Z debug: Making request to http://---:11434/v1/chat/completions
2024-12-20T09:57:10.123Z warn: [OpenAIClient.chatCompletion][stream] API error
2024-12-20T09:57:10.124Z error: [handleAbortError] AI response error; aborting request: Connection error.
2024-12-20T09:57:10.126Z debug: [AskController] Request closed

on ollama i get this message each time
time=2024-12-20T09:56:58.106Z level=WARN source=server.go:562 msg="client connection closed before server finished loading, aborting load"
I have no proxy between ollama and librechat, they are just on different machines ollama is on my server and the librechat container is currently on my desktop.
Hope this helps
K.


[cleanup] Fix Params & Add Help

Fixed parameter handling by improving globbing to handle unsupported parameters more effectively.
Added a comprehensive help message to provide users with guidance on script usage.

 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.


ModuleNotFoundError: No module named 'passlib.handlers.phpass'

Error:
Traceback (most recent call last): File "C:\Users\STEELH~1\Desktop\pthon\CALLOF~1\BOT2~1.DIS\bot2.py", line 26, in <module> File "C:\Users\STEELH~1\Desktop\pthon\CALLOF~1\BOT2~1.DIS\passlib\registry.py", line 43, in __getattr__ File "C:\Users\STEELH~1\Desktop\pthon\CALLOF~1\BOT2~1.DIS\passlib\registry.py", line 352, in get_crypt_handler ModuleNotFoundError: No module named 'passlib.handlers.phpass'
This was how I ran nuitka:

py -m nuitka --standalone bot2.py --enable-plugin=tk-inter

python -m nuitka --version

1.5.7
Commercial: None
Python: 3.10.8 (tags/v3.10.8:aaaf517, Oct 11 2022, 16:50:30) [MSC v.1933 64 bit (AMD64)]
Flavor: CPython Official
Executable: C:\Python\python.exe
OS: Windows
Arch: x86_64
WindowsRelease: 10
Version C compiler: ~\AppData\Local\Nuitka\Nuitka\Cache\downloads\gcc\x86_64\11.3.0-14.0.3-10.0.0-msvcrt-r3\mingw64\bin\gcc.exe (gcc).

How did you install Nuitka and Python

Pip, no virtualenv. Python I don't recall since its been years but I just downloaded it from the python website and installed it normally as far as I remember

Alll modules I'm importing
from pyautogui import *
import pyautogui
import time
import keyboard
import numpy as np
import random
import win32api, win32con, win32gui
from PIL import Image, ImageGrab
from pytesseract import *
import tkinter as tk
from tkinter import ttk, Toplevel, StringVar
from tkinter.scrolledtext import ScrolledText
import tkinter.messagebox as tm
from tkinter.ttk import *
import cv2
from functools import partial
from threading import Timer, Thread
import sys
import asyncio
from pynput.mouse import Button, Controller
from pywinauto import Desktop
import numpy
import imageio
import ctypes
from passlib.hash import phpass
import mysql
import mysql.connector
from tkinter import *
import webbrowser
from tinydb import TinyDB, Query

I also tried doing the compiling "hello world" and see if any error pops up but no errors.

The more interesting case would be a minimal reproducer of the issue you are reporting.

The more interesting case would be a minimal reproducer of the issue you are reporting.

I'm not too sure what you mean. My program is quite large, all I really did was install Nuitka with pip, read all the different options and try compiling said program with the following command:

py -m nuitka --standalone bot2.py --enable-plugin=tk-inter
And when trying to run the executable that's the error that pops up (Module not found)

If that's your contribution, that's fair enough, but it renders the report useless.


Implement camera cache utility class

Fixes #848
This adds a new Utility class that allows the use a cached reference to the main camera via CameraCache.main. Additionally, a method to refresh the reference is provided with CameraCache.Refresh(camera). On the first call where the cached camera is null, Refresh(Camera.main) is called to initialize. Should I add this to documentation somewhere? What do you think of the names?
I moved MathUtils.GetHorizontalFieldOfViewRadians and MathUtils.IsInFov to a new CameraExtensions since they were both relying on and using Camera.main. Both Methods are not marked as obsolete and use the new extension with the cached camera instead. There was another method in Utils.MoveObjectInFrontOfUser that also uses the camera but I didn't move that one into Camera because I thought it didn't fit as well. But maybe camera.MoveObjectInFront might not be so bad.
Most scripts were simple replacements from Camera.main to CameraCache.main where I also added a local variable in some cases where it's used more than once.
2 Scripts cache the reference to the camera once on start: ScaleByDistance, MoveWithObject. Not sure how to deal with those. Maybe do it like the GazeManager that checks for the GazeTransform on every update?
Lastly GestureInteractiveData  does this:
 protected Camera MainCamera { get { return Camera.main; } }

I changed it to use CameraCache but wasn't comfortable to just completely remove it and use local variables where it's used.

@Zod-,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

Should I still change the local variable caches or is it ok?

I think it's okay, not a big deal. I'll leave that up to you.

This PR is giving me errors and appears to have broken GazeManager:

@keveleigh, same here. Workaround I found is assigning the gaze transform manually.  Use the camera prefab you've got in your scene.

I'm not getting any errors.  How are you guys testing?

@StephenHodgson Sweet, thanks for the workaround!
@jessemcculloch I pulled master, loaded in Unity 2017.1.0f3, opened the InputTapTest scene, and hit the Play button.

For some reason it doesn't seem to like GazeTransform = GazeTransform ?? CameraCache.Main.transform
Writing the full statement somehow works:
            if (GazeTransform == null)
            {
                GazeTransform = CameraCache.Main.transform;
            }
            else
            {
                GazeTransform = GazeTransform;
            }

Sometimes null coalescing doesn't work for components in Unity for some reason. It's hit or miss.

@Zod- I was just writing up the same finding :) Unity overrides == for GameObjects, which doesn't appear to play nicely with ??. From that blog post:

It behaves inconsistently with the ?? operator, which also does a null check, but that one does a pure c# null check, and cannot be bypassed to call our custom null check.

Sorry about that I've fixed it in #864


fix kernel chaos panic

Signed-off-by: yeya24<EMAIL_ADDRESS>What problem does this PR solve?
Fixes #535
Return error when failed to get pid.

Codecov Report

Merging #537 into master will decrease coverage by 5.35%.
The diff coverage is 36.49%.

@@            Coverage Diff             @@
##           master     #537      +/-   ##
==========================================
- Coverage   61.39%   56.03%   -5.36%
==========================================
  Files          64       66       +2
  Lines        4069     4256     +187
==========================================
- Hits         2498     2385     -113
- Misses       1383     1700     +317
+ Partials      188      171      -17

Impacted Files
Coverage Δ

api/v1alpha1/kernelchaos_types.go
13.84% <0.00%> (+9.40%)
:arrow_up:

api/v1alpha1/timechaos_types.go
17.14% <0.00%> (+7.14%)
:arrow_up:

controllers/kernelchaos_controller.go
0.00% <0.00%> (ø)

controllers/podchaos/types.go
65.95% <0.00%> (ø)

controllers/stresschaos_controller.go
0.00% <0.00%> (ø)

pkg/chaosdaemon/netem_linux.go
26.66% <0.00%> (ø)

pkg/chaosdaemon/netlink_linux.go
0.00% <ø> (ø)

pkg/chaosdaemon/stress_server_linux.go
0.00% <0.00%> (ø)

pkg/utils/chaosdaemon.go
51.21% <ø> (ø)

pkg/webhook/config/config.go
17.14% <0.00%> (-72.86%)
:arrow_down:

... and 45 more

Continue to review full report at Codecov.

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

/merge


add reporterKind attribute to accesslog and tcpaccesslog

Since both the source and the destination sidecar proxies report on each request, we have two almost identical access entries in the logs. We need to distinguish between the two entries in the logs, context.reporter.kind is the way to do it. I propose to add reporterKind attribute to the default accesslog and tcpaccesslog log entries.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: vadimeisenbergibm
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: gyliu513
Assign the PR to them by writing /assign @gyliu513 in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: mandarjog, vadimeisenbergibm
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS [mandarjog]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Omit the uri when nft is burned

According to the doc, the uri should be omitted if nft has been burned.
https://xrpl.org/nft_info.html#nft_info

I would double check before merging. This would be a breaking change and the doc is not necessarily up to date, as previously there has been a change to the URI encoding format.

The document needs to be updated. #1021


Battery life during deep sleep and HA integration.

My bird buddy has now been going into deep sleep during the night, as it is designed to do.
Thanks to this integration, I can see the battery life during that time, and I am basically seeing no change in behavior compared to normal operation. Status timeline shows purple as ready, and light blue as sleeping. Time periods for the two graphs are the same.

I am wondering if this integration is excessively polling (even if it is every 5 min) during the night, and reducing the battery life. Or do we think the Bird Buddy app polls at the same rate regardless? I am trying to figure out how to test this.
Maybe we can restrict polling based on sunrise/sunset of the feeder location (like how the feeder works), or restrict polling for a certain time period following the first deep sleep status message.

Really? I definitely see a difference in my battery usage, since they turned on deep sleep overnight. In my graphs you can see a very clear change of trend starting Jan 5-6, when they enabled sleeping:

I am very nearly certain that us polling the GraphQL API does not do anything to wake the feeder. I say that because the API responses are pretty fast, and if it had to wait for a response from the feeder, it would be much slower and more erratic. Also if it were keeping it from sleeping, then it would not remain in deep sleep state overnight, but it does.
I believe the only thing that would cause it to wake up and prevent it from sleeping, would be if we instructed it to enter streaming mode, which even when you do that from the app, it can take up to 2 minutes before the streaming actually starts. It has that potential delay, because it just sets a flag on the server side, and waits for the feeder to check in and see the flag is set, before the feeder actually starts streaming the camera feed. If hitting the API alone would wake the feeder, then it wouldn't have that long of a delay before starting the stream.

Huh. Ok. Well your device and data seem to act how I would expect. Maybe I need to reset, or reboot my bird buddy. I will try that out.

From the earlier parts of the 30+ day maroon graph, you can see that I used to have to charge it every 2-4 days. But this week it lasted from Jan 4-11, just about doubling the battery life.
Also see these shots from Jan 3-6. I had started experimenting with putting it off-grid, which actually did nothing for preserving battery. The next day I started seeing deep sleep state, and that actually did have a noticeable impact:

Another thing to consider might be the placement of your feeder -- for example, the support site mentions things like a waving flag near the FOV of the camera, or if your feeder is hanging, it might be moving if it's windy. Now, that article might be outdated since the change to enable sleep mode, since there's no reason it should wake up from a flag in the frame. But just something to consider.
I think your idea of trying to power cycle it could be a good first step, and also make sure you're on the latest firmware (1.1.0).
If you do suspect the integration still, you can try disabling the integration in HA for a day, or even a few hours, and then see if the battery trend looks any different. Of course you wouldn't see the graph during that time, but you'll be able to see the trend from before and after. If the graph looks like it would connect on the same trend, then we can rule out the integration causing it.

@cbrollin any update here? Were you able to try a test with the integration disabled? Or did you try a soft reset?

I tried a power cycle, and that seemed to fix the problem. I am seeing the appropriate behavior now.