[DS-3487] Implement Simple Hierarchy Traversal

In today's REST meeting, I raised a question about how/when to initialize community and collection relationships.   I created this PR to draw attention to this question.
What is the proper way to trigger the initialization of the subcommunity and collection relationships for a parent community?
Question

What request will trigger a community to initialize its child community/collection relationships?
When examining a CommunityRest object, how can you distinguish an empty child list from an uninitialized child list?

Looking at https://jira.duraspace.org/browse/DS-3533, the suggestion appears to be to pass the projection to the converter.  I will create an alternative that makes use of that field

Closing this PR in favor of an approach that uses projection.


what is the problem please

What are your system specs? And have you downloaded your manufacturer's video drivers?

No response, assumed fixed. Reopen if you have more info/still have the issue.

it still wont work

What are your system specs? And have you downloaded your manufacturer's video drivers?


Doesn't encode English

Using the library on https://mothereff.in/utf-8
When I type in Hello World!, I receive the utf-8 representation of it, as \x48\x65\x6C\x6C\x6F\x20\x57\x6F\x72\x6C\x64\x21
However, when I use it locally on node, running
let value = utf8.encode('Hello World!');
console.log(value); // Hello World!

Am I doing something wrong?

Well, those two strings are the same!
'\x48\x65\x6C\x6C\x6F\x20\x57\x6F\x72\x6C\x64\x21' === 'Hello World!';
// → true

If you want to get the output like in the online tool, you have to wrap it in jsesc.


make profile streams a single column layout

Currently the profile page streams are divided into two columns. This causes some problems in desktop as well as in mobile view. Additionally the two column layout doesn't seem to provide any benefits to the user experience.
Mobile view:

The two-column view of posts on mobile devices makes the presentation too small and cluttered.

Labels like "Post" or "Can Do" hide parts of the user name on posts.

Example picture: https://drive.google.com/file/d/1r8cZg-UmE9FuOf7SM5ntc0gBgCKtWxCm/view?usp=sharing
Desktop and mobile view:

Labels like "Post" or "Can Do", on posts in the left column, occasionally cover elements of the post. If you mouse over such a post, the element will burst through the label.

Example picture: https://drive.google.com/file/d/1XtzAlD-GSRp0W4nYiNGJa3sv4MNIUbRR/view?usp=sharing
A possible solution to all of these problems is, at least in my opinion, to get rid of the second column and make all profile streams (contributions, commented, shouted) a single column layout.

In Nitro its already fixed

It probably is @appinteractive
There don't seem to be any labels marking the postings as "Post" or "Can Do". Is this because it's a very early version of Nitro or aren't labels coming back?

@oliverzet yeah it’s because we only have posts at the moment. So the Ticket can be closed?

Sure it can be reopened when needed. A staging of the new system will be deployed the next days.


The name of the content should be displayed in Cast receiver when paused

Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
v2.5.4 and master
Can you reproduce the issue with our latest release version?
Yes
Can you reproduce the issue with the latest code from master?
Yes
Are you using the demo app or your own custom app?
Demo
What browser and OS are you using?
ChromeOS, Chrome Linux, Chromecast
What are the manifest and license server URIs?
Any
What did you do?
Launch test content and cast to a Chromecast device.  Pause the video.
What did you expect to happen?
Cast UI requirements say that you must identify the content when paused.
What actually happened?
There's no indication of that on-screen in our demo receiver app.
Ideally, we would provide a UI element for this that the receiver app could trivially configure.  The asset name and/or icon would be received through appDataCallback and be fed to the UI somehow.  This would minimize the amount of work an application would have to do to conform to the Cast UI guidelines.

@joeyparrish I'm not sure we want to support this, since we want to do https://github.com/shaka-project/shaka-player/issues/4214 in the future

Yes, obsolete now.  Thanks!


TAJO-1918: Text (de)serialization should be fixed for some types

Fix getBytes to getTextBytes or use proper charset.

Thanks for your contribution
Could you add some tests?

+1
I verified 'mvn clean install’ and the test failure is not related to this patch.


Part 3 Deliverables 08 : Sprint Planning and Reviews

Maintain a record of what user stories are planned for each weekly sprint at its start, including who is to work on them. For each intermediate week, in the lab, have a sprint review with your TA mentor and all team members present to review the completed user stories.

wiki meetings page has sprint (out-of-lab) meetings


Java error whilst decompressing an APK file.

ApkTool version 2.0.0rc3
Windows 10
Apk comes from Google Play Store.
Log:
log.txt
How to reproduce:
I'm trying to decode the YouTube APK. Upon running the script, it will successfully decompress the resource table, and the manifest before failing while decoding a "attr value".
This APK cannot be redistributed, but it is the stock YouTube app.
I have tried various versions of ApkTool, none of them can get past this step.

 Figured it out. I'm genuinely sorry, but I can't figure out how to delete my post.

All good, glad you figured it out. Closing.


Improve PWA-related analytics

We should improve our analytics:

[ ] Track usages of add to home screen
[ ] Track launches from the home screen
[ ] Distinguish between offline/offline views (offline views are tracked, but I'm not sure if we can currently distinguish between the two in GA)
[ ] Publish article about how this all works

#246 will enable us to check launches from home screen on Google Analytics.

One more thing that I would like to track is cached pageviews. What do you think? We can then check how effective the caching strategy is and how future changes will affect.

#250 tracks usages of A2H.


Incompatibility with projects using pydantic 1.x

When adding dbt2pdf to a project that uses an "old" version of pydantic (< 2.0), poetry cannot resolve dependencies.
$ poetry add dbt2pdf
Using version ^0.0.1 for dbt2pdf

Updating dependencies
Resolving dependencies... (1.8s)

    Because no versions of dbt2pdf match >0.0.1,<0.0.2
 and dbt2pdf (0.0.1) depends on pydantic (>=2.8.2,<3.0.0), dbt2pdf (>=0.0.1,<0.0.2) requires pydantic (>=2.8.2,<3.0.0).
    Because metricflow (0.206.0) depends on pydantic (>=1.10.0,<1.11.0)
 and no versions of metricflow match >0.206.0,<0.207.0, metricflow (>=0.206.0,<0.207.0) requires pydantic (>=1.10.0,<1.11.0).
(1) Thus, dbt2pdf (>=0.0.1,<0.0.2) is incompatible with metricflow (>=0.206.0,<0.207.0).

This should be fixed in v0.0.4. @fontclos, please check and close if everything works as expected.

Works like a charm 🎉


FeatureRequest: shorter autoshutdown timeout

as of now the shortest I can make it is one day, which is not how I really like it.
on vanilla kobo I have suspend in 15 minutes, and that I can replicate in nm, and poweroff in 2 hours, which is too little for nm.
is there a way to have that?

Also wrong repo ;).
c.f., https://www.mobileread.com/forums/showthread.php?t=356479

i'm so sorry! I was pretty sure I was in the koreader repo! my apologies! same goes for the other issue!


amplify pull fails if .aws/credentials has [sam]

Before opening, please confirm:

[X] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

How did you install the Amplify CLI?
using curl on 2021-07-06
If applicable, what version of Node.js are you using?
v14.16.0
Amplify CLI Version
5.1.0
What operating system are you using?
Mac
Amplify Categories
Not applicable
Amplify Commands
pull
Describe the bug
% amplify pull ....
Opening link: https://us-east-2.admin.amplifyapp.com/admin/..../verify/
⠏ Continue in browser to log in…
2021-07-06T23:12:49.713Z - error: uncaughtException: Failed to receive expected authentication tokens. Error: [TypeError: Cannot redefine property: sam]
...
stack=[Error: Failed to receive expected authentication tokens. Error: [TypeError: Cannot redefine property: sam],     at /snapshot/node_modules/amplify-provider-awscloudformation/lib/utils/admin-login-server.js:100:15,     at processTicksAndRejections (internal/process/task_queues.js:97:5)]

Expected behavior
Expected to get:
Successfully received Amplify Admin tokens.

Reproduction steps

create section named "sam" in global aws credentials config file
amplify pull

GraphQL schema(s)

# Put schemas below this line

Log output

# Put your logs below this line

Additional information
No response

Hey @dilaver :wave: thanks for raising this! I was not able to reproduce this with the steps provided on the packaged binary (installed using curl) and with only sam defined in the global AWS credentials file. Is the username in Admin UI named sam? Do you also experience this issue with the npm distribution?

Hey @dilaver :wave: thanks for raising this! I was not able to reproduce this with the steps provided on the packaged binary (installed using curl) and with only sam defined in the global AWS credentials file. Is the username in Admin UI named sam? Do you also experience this issue with the npm distribution?

Hi @dilaver, can you also let us know what browser you are using to authenticate with?

Closing issue, @dilaver if you are still experiencing this issue please reply back to this thread and we can re-open to investigate further! 🙂


Setting a new Preset

"Set Preset" is missing as an option in the overflow menus for favorites and playlists.
The option is also missing from the overflow menus in extensions such as Spotty and Radio Paradise.

Have you configured Material to show presets? It's off by default. The 'Save as preset' menu item is only applicable if Material is configured to show the presets. It is also only shown where the 'Add to favorites' is displayed - but not for local music items (eg. artists, albums, playlists). Perhaps I should add it for playlists?
Just tried, and it seems to be working for me.

Ah, yes - I understand. Yes, I would suggest adding "Set Preset" to playlists too.
I am not sure how I got confused. I thought it was missing from favorites in addition to playlists, but I see it now!


Make concierge post release reminders to #dev Slack channel

This PR makes the slack bot post release reminders to the general #dev channel instead of directly to individuals that way everyone is aware when the release is happening and who's leading it.
This required using the userId instead of the name so the user gets notified (this is what link_names: true does, see https://api.slack.com/methods/chat.postMessage#arg_link_names)
I also needed to use three curly brackets in the handlebars template to allow the special characters < in the message since the syntax is <@userId>.

Thanks for the pull request @OmarShehata!

:heavy_check_mark: Signed CLA found.
:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

:sparkles: :sparkles: :sparkles:I'm the Cesium Concierge and I'm here to test things. :sparkles: :sparkles: :sparkles:

I've tested this locally, going to deploy so we can test it works as expected with tomorrow morning's release.

Thanks again for your contribution @OmarShehata!
No one has commented on this pull request in 30 days. Maintainers, can you review, merge or close to keep things tidy?
I'm going to re-bump this in 30 days. If you'd like me to stop, just comment with @cesium-concierge stop. If you want me to start again, just delete the comment.

:sparkles: :sparkles: :sparkles:I'm the Cesium Concierge and I'm here to test things. :sparkles: :sparkles: :sparkles:

@OmarShehata can this be merged? Concierge sent a release reminder message to #dev this morning.

Oh, yeah, I thought I had merged it when I deployed it last month. Thanks for the bump Sean.


Certificates are still not supported?

Per this document only secrets are supported but I was able to successfully map a certificate as well from KeyVault. Is it supported now or it just works but not supported?

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

ID: 4827aa99-ae62-bd63-6f2f-a87a4065ed27
Version Independent ID: c9e461ee-7f42-3503-9460-18fa3a807bbb
Content: Variable groups for Azure Pipelines and TFS - Azure Pipelines
Content Source: docs/pipelines/library/variable-groups.md
Product: devops
Technology: devops-cicd
GitHub Login: @RoopeshNair
Microsoft Alias: ronai

Since certificates are internally stored as secrets, it works. We have plans to support Certificates as first class on our backlog - however not a priority as we have workaround.


add docs for custom transforms

@juliohm please take a look at the docs.

Codecov Report

Merging #182 (8980593) into master (a0e4284) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 8980593 differs from pull request most recent head 89a77a4. Consider uploading reports for the commit 89a77a4 to get more accurate results

@@           Coverage Diff           @@
##           master     #182   +/-   ##
=======================================
  Coverage   91.39%   91.39%
=======================================
  Files          29       29
  Lines         941      941
=======================================
  Hits          860      860
  Misses         81       81


Mention in RFC that defaults should not be empty

The title suggests that the requirement is a SHOULD. Is there any reason not to make this a MUST? @marians
I'm thinking of something like this:
"If a property specifies a default via the default keyword, then the default MUST not be an empty value ("").
Also, have we already talked about what we mean by "empty value"? Anything other than ""?

We can also try MUST.
The definition of empty differs by type.

Boolean: false
String: ""
Integer: 0
Number: 0 or everthing that's equal (0.0).
Array: []
Object: {}

Done with:
https://github.com/giantswarm/rfc/pull/55/commits/d345df7fe535f059519fdb3ccc85b8fbabf6c3f9
https://github.com/giantswarm/rfc/pull/55/commits/3ee3e0b2ff1fdfa975233e1f7e13e5274df224ae


sliceutils.go: update a code comment

Codecov Report

Merging #15 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #15   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          10     10
  Lines         224    224
=====================================
  Hits          224    224

Impacted Files
Coverage Δ

sliceutils.go
100% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Implement virtual keyboard

refs #56

This has a couple of TODOs I'll take care of once #101 is merged.

This should be a view/component of its own and there are some TODOs.

Ready for review again. Things got a lot cleaner after turning the virtual keyboard into a view with a component.


Removing the Deprecated lines in the code

Describe the bug
A clear and concise description of what the bug is.
To Reproduce

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

If applicable:

add screenshots
add logcat output

Technical information

Device: [e.g. Nexus 7 (2013)]
OS: [e.g. LineageOS 15.1]
OpenTracks version: [e.g. v3.2.4]
OpenTracks commit id (only for nightly builds): [e.g. 4b333bb]

I worked on this issue in the file name as TackstoppedActivity.java


Chunk key encoding

There are a few issues with the encoding of chunk (and shard) keys that I'd like to raise.
With the current v3 spec, a chunk at position (x, y, z) is encoded as cx/y/z by default.  The same naming convention is also used for shards under the sharding extension.
The only customization currently supported is via the chunk_grid/separator metadata value.  The current specification doesn't describe any requirements on that field; it just provides a few examples.
At the very least, we should properly specify that field, and should constrain it to either "/" or "." as in the zarr v2 specificatio.
As discussed in the context of the zarr v2 dimension_separator field, allowing arbitrary separators can lead to ambiguities and there aren't any known use cases.
However, there are a few other issues with this encoding:
In many cases, the underlying store will be ordered and support range queries on keys, meaning listing all the keys lexicographically >= a start key and lexicographically < an end key.  For example, S3, GCS, and most ordered database tables.  More sophisticated stores may support additional operations, like efficiently querying the total number of bytes stored within a key range, without enumerating all of the keys.  If we choose the encoding of zarr chunks as keys appropriately, we can take advantage of this operation to efficiently determine whether a given subregion of the array contains any data (or possibly how much data).
When processing a large array that is sparsely written (i.e. not all chunks are present), this type of query allows us to efficiently skip empty regions of the array.
Unfortunately, the current key encoding in the zarr v3 spec is not optimal for use with range queries:

Lexicographical order does not match numeric order: "c10" is lexicographically less than "c9"
While we support both C and F order for encoding individual chunks, the key encoding always corresponds (aside from point 1) to C order.  In most cases, it would probably be desirable for the key encoding to match the chunk encoding, but in general the user should be able to choose any order.

Regarding point 1, I think there was a comment on ZEP 1 to use zero padding when encoding chunk keys, but I'm having trouble finding it.  The drawback to zero padding is that we have to choose a fixed amount of zero padding, which may not be sufficient if we resize the array.  We could always use the maximum possible amount of zero padding (assuming array bounds are limited to 64-bit integer) but then the keys may be annoyingly long.  The advantage to zero padding is that it remains extremely readable.
There are variable-length encodings of numbers where lexicographical order matches numeric order.  For example, such a scheme is used by UTF-8.  A simpler alternative might be to prefix each component with the number of digits, in base 16.  E.g. instead of "c10" and "c9" we would have "210" and "19".
It is indeed fairly straightforward to define extensions that change the key encoding, so arguably we could defer this issue until later.  However, the current key encoding in the spec is not optimal for anything, except perhaps human readability, so it may be worthwhile to improve it even if we defer some key encoding improvements (e.g. morton order) to extensions.

The only customization currently supported is via the chunk_grid/separator metadata value. The current specification doesn't describe any requirements on that field; it just provides a few examples.
At the very least, we should properly specify that field, and should constrain it to either "/" or "." as in the zarr v2 specificatio.
As discussed in the context of the zarr v2 dimension_separator field, allowing arbitrary separators can lead to ambiguities and there aren't any known use cases.

Good point, let's do this!

It is indeed fairly straightforward to define extensions that change the key encoding, so arguably we could defer this issue until later. However, the current key encoding in the spec is not optimal for anything, except perhaps human readability, so it may be worthwhile to improve it even if we defer some key encoding improvements (e.g. morton order) to extensions.

I'd rather leave this as an extension for now, mainly to go forward with v3 soon. However, if there was a PR to change this and there's large agreement, I'm not opossed to such a such a change (I think the argument and feature are valid and useful!), I'm just worried about slowing down a finalized v3 further.

Regarding point 1, I think there was a comment on ZEP 1 to use zero padding when encoding chunk keys, but I'm having trouble finding it.

You're probably referring to isse #64?

Yes, agreed.

I have been thinking a bit more about this feature.  While I don't want to add any additional functionality to v3.0, I think it might be worth changing the metadata representation a bit:
Currently we have array metadata of the form:
{"chunk_grid": {"name": "regular", "configuration": {"chunk_shape": [100, 100], "separator": "/"}}, ...}

I'm proposing that we instead have:
{"chunk_grid": {"name": "regular", "configuration": {"chunk_shape": [100, 100]}}, "chunk_key_encoding": {"name": "simple", "configuration": {"separator": "/"}}, ...}

This change decouple the chunk grid definition from the encoding of chunk keys, which I think makes sense for the following reasons:

We expect to have at least two chunk grids: the regular chunk grid, and the rectilinear chunk grid proposed in the (draft) zep 3.
As I noted in the initial comment above, for efficiency reasons it is important to support alternative chunk key encodings so that the lexicographical ordering of the keys is more meaningful.  Any such alternative chunk key encoding would be equally applicable to both the regular chunk grid and to the rectilinear chunk grid.  The existing "separator" option is of course also equally applicable to both regular and rectilinear chunk grids.
When using sharding, individual chunks no longer have a meaningful chunk key.  Instead we need to assign keys to shards.  The existing sharding proposal just takes the separator parameter from the chunk grid and uses it for the shard keys as well.  That works, but it is in my view somewhat confusing to reuse a parameter like that.

I believe separating the chunk key encoding from the chunk grid specification makes the metadata more logical and easier to understand.
An alternative variant to this proposal would be to make the chunk_key_encoding a property of the chunk_grid rather than a top-level property.  When using sharding, chunk_key_encoding would not be specified as part of the chunk_grid and would instead be specified as part of the sharding configuration.  That might logically make slightly more sense, though I prefer to just keep chunk_key_encoding as a top-level metadata property.
A possible objection is that chunk_key_encoding could be handled as a storage transformer.  That is true, and also applies to the existing separator option.  However, in order to take advantage of the efficiency gains, we would need the storage transformer interface implementation-wise to be even more elaborate.  And I don't think there is any advantage to the composability that making it a storage transformer would allow.

I believe separating the chunk key encoding from the chunk grid specification makes the metadata more logical and easier to understand.

Good idea! I was wondering if we should also make the c prefix optional. This would allow to just add metadata to v2 datasets to make them v3 compatible without moving chunk data.
Sth. like
"chunk_key_encoding": {
  "name": "simple",
  "configuration": {
    "separator": "/",
    "prefix": "c"
  }
}

where prefix can be "c" or null.
Not sure what the name would be, I'd rather use default or decimal than simple.

I am on board with this!

Proposal from the current ZEP call:
"chunk_key_encoding": {
  "name": "v2",
  "configuration": {
    "separator": "/",
  }
}

"chunk_key_encoding": {
  "name": "default",
  "configuration": {
    "separator": "/",
  }
}


Break each replacement out of the update-content file and provide a system for writing more replacements

We've used this repo at 6 River Systems to migrate our default branches to main which has been great! Thank you so much @mheap for doing the heavy lifting here with this script!
We added a replacement for circleci, if there is no circleci file in the repo then nothing happens.
We also changed how replacements happen, and made an extensible system for adding new replacements.
I've also done a bunch of work writing bash scripts to automatically update local git repos on development machines, that has been done in our internal tooling but if there is interest I can share some of the code and the lessons I've learned here as well

Hey @tonygaetani, thanks for this, and sorry it's taken so long to be reviewed.
There are a few small changes I'd like to make as there are changes in this PR (such as removing the default old value) that need reverting. However, I'm aware that this is coming from your main branch. With that in mind, I'll merge this PR in to another branch, make the changes and tag a release with circleci support later today


Python3.11 requires a conflicting version of numpy

ERROR: Cannot install chromadb==0.1.0, chromadb==0.2.0, chromadb==0.3.0, chromadb==0.3.1 and chromadb==0.3.2 because these package versions have conflicting dependencies.

The conflict is caused by:
    chromadb 0.3.2 depends on numpy~=1.21.6
    chromadb 0.3.1 depends on numpy~=1.21.6
    chromadb 0.3.0 depends on numpy~=1.21.6
    chromadb 0.2.0 depends on numpy~=1.21.6
    chromadb 0.1.0 depends on numpy~=1.21.6

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

(python3.11 insists on numpy > 1.21.6)

Please see #163 - we depend on pytorch which is not supported by 3.11. Please try using <3.10.

Closing as a dupe.


Implement corrective fixes to whitebind functionality with test support [UPD]

[NOTE:  This supercedes initial PR for reasons of clean commit]
@maciejzaleski Please review the following for functional correctness and style
Have interpreted the following where the first endpoint is a network I/F the node is listening on and the second arises from a user specified whitebind
<IP_ADDRESS> == <IP_ADDRESS>
<IP_ADDRESS>:16178 != <IP_ADDRESS>:16178
<IP_ADDRESS>:16178 != <IP_ADDRESS>:44556
<IP_ADDRESS> == <IP_ADDRESS>
Test support included.

Also as noted on PR #2715 you Should use CanBeMappedTo method to compare addresses. in NetworkPeerServer.cs

From discussion with @thefazzer the expected config values where

Bind to all local interfaces and whitelist all of them

port=16178
whitebind=16178

Bind only to loopback address and whitelist it
Try to connect to the node using your LAN IP address; it should fail regardless of IBD status

bind=<IP_ADDRESS>:16178
whitebind=16178

Bind only to all address and whitelist only loopback address
This is the most useful example I would think

bind=16178
whitebind=<IP_ADDRESS>:16178

however the node config does not allow such entries
bind=16178
whitebind=16178

The whole ip must be specified.
This means the method CanBeMappedTo can be simplified and only try to compare ip match and not also by local ip and by port.

@thefazzer thats a good question do we actually assume  IPV4: <IP_ADDRESS>:16178 == <IP_ADDRESS>:16178


Add support for react 0.14

Oops, forgot to merge this than duplicated the work. Thanks all the same :-)


Cors error on contribute submission

When submitting a response on the contribute page, the following error is shown in the console. Likely related to Azure as mentioned, as in #11
Access to fetch at 'https://script.google.com/macros/s/...' from origin 'https://kindly.unicef.io' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

Ah, this has nothing to do with Azure. This is related to Google App Scripts. It is likely that @nathanfletcher has redeployed an App Script changing permissions. We encountered this error in the past.

@sabinevidal, @nathanfletcher can you provide an update on this? If no longer relevant, I advise to close it.

@lacabra Seems to have resolved since I was granted more permissions on GA Scripts.


Enhancements to Playground for Newcomers

As I try new queries in the Playground, I stumble on things... A few thoughts:

I wish there was better feedback for the "no pipeline" state than the red squiggly underline. It feels disconcerting that an empty page already has an "error". As a newcomer, I have the mental state, 'Uh oh. What am I supposed to type...?" And this state of anxiety remains if I type a comment (starting with #) or either of the two most common legal keywords (next point).
Perhaps the left-hand pane should report the syntactic state of the PRQL query being built, while the right-hand pane indicates the "no pipeline" state. That way, a blank page (or several lines of comments) would indicate: "No SQL generated" on the right.

I wish there was better feedback when starting a valid query. Starting with the empty query and typing the following gives these errors:

let - "Unknown name let"
from - "expected pipeline that resolves to a table..."

Names of output tabs: Maybe the first tab could be "PRQL Output" (or "SQL Output") and the second could be "Chinook Output"? And the third and fourth be could be "PL Output" and "RQ Output"?

I like how Playground defaults to showing a real PRQL query and the results from the chinook database. And how typing additional PRQL commands affects the results. I also like how clearing out the PRQL query blanks the right-hand pane.
BUT...  when I type a valid PRQL (say, from foo), the right-hand pane stays blank. I think the gesture of clearing out the PRQL pane should switch to the PRQL Output tab.

Thanks!

Further incentive to implement the fourth item above (clearing query pane should switch to SQL output tab)...
I was trying out one of the new Showcase queries. In the Playground, I cleared the query pane and pasted in the Showcase query. I was mystified that it caused an an error message. It "looked broken" to me until I remembered that I had to click the SQL Output tab.

Yes, that's https://github.com/PRQL/prql/issues/1779


KMM project merge reports

Kover generates the report for androidApp and shared modules.
Is there a way for Kover to merge those two reports into one and locate it in the top-level build folder?

Hi,
if you are using version 0.5.1, please read about merged reports in the Kover.

For version 0.6.0-Beta see this section.

All works. Thanks


Enforce minimum ledger version

Purpose
Add the functionality to enforce a minimum version for the app on the ledger device.
Changes
Adds an "outdated" state for the ledger, which asks the user to update the application, and blocks the usage of it.
+ some minor refactoring in ledgerObserverImpl.ts .
Checklist

[x] My code follows the style of this project.
[x] The code compiles without warnings.
[x] I have performed a self-review of the changes.
[x] I have documented my code, in particular the intent of the
hard-to-understand areas.
[] (If necessary) I have updated the CHANGELOG.

Should we maybe add a status displaying "Wallet outdated" where it normally says "Wallet connected"?

I actually had an outdated wallet (which I didn't know), and I was a little confused why suddenly the ledger icons weren't displaying, and it didn't say "Wallet connected" anymore, even though I did as I normally did (connecting the wallet, inputting pin, opening conc. app.)

Good idea, I tried adding it.


X style fixes

ensure custom-style rules are all available to elements
ensure elements do not receive improper x-scope styling due to incorrect scope cache hit

LGTM


SSO/SAML - Option to disable default login and auto redirect to IdP for authentication

What kind of request is this (question/bug/enhancement/feature request):
enhancement
Request:
Rancher SSO/SAML setting should include option to disable default login and auto redirect to IdP for authentication.
Include /login page (local login) as manual override in case IdP is not working. This might be protected by IP source list.
Business Case:
Security compliance often requires to disable local login and redirect all logins to specific IdP.
Also when SSO/SAML is configured there is no need for another login screen. The user should be able to login seamlessly to the application/service without local login.
See picture attached for example how SSO/SAML options are implemented in Jira SSO with Miniorange.

gz#12096
gz#14541

Related https://github.com/rancher/rancher/issues/19196

has there been any thoughts on this?

This is a great improvement, and I am surprised it doesn't already exist in Rancher when it is so common in other tools my team works with. Please consider prioritising this.


Unicorn content update requires IISRESET

We are having a problem which is hard to track down. On a clean instance of Sitecore we warm the site and use Unicorn to deploy content.
If we hit the site whilst the deployment is happening and with a large number of items, we find that not all items appear in the master database. If we use the Sitecore admin page to clear caches or even manually publish they still don't appear.
The only resolution seems to be an IISRESET. After this all items appear in both master and web. This issue appears to be intermittent, or might be that it works if the site isn't accessed whilst running.
We are using Unicorn 3.1.4 with Sitecore 8.1 rev. 151003.

Are you using transparent sync?

No not using transparent sync.We are using powershell to deploy content. It's hard to reproduce. Locally it works. On an Azure box the issue is happening consistently.

...and I'm guessing you know just how much fun it is to debug on Azure :)
I can't say I've seen this issue, and while I totally believe you that it occurred, without a reproduction scenario I've not got much to go on. Anything in the Sitecore logs? Maybe try disabling the Unicorn data provider, if it's loaded in Azure, and see if that makes any difference?

If you find a reproduction for this, please reopen this issue or a new one. For now however, I'm going to close it. With luck, some of the fixes in 3.1.5 will be the cause :)

Seems to be resolved in recent fixes.

This issue seems to have come back. Maybe it's because we are installing more content than previously. It still seems to be intermittent.
After installing content via Unicorn it's sometimes not visible in the Sitecore tree until an IISRESET. We are currently using 3.2.0, but also experiencing on 3.1.5-beta0.


[Installation]: pip install -e .

Your current environment
PyTorch version: 2.3.1+cu121
Is debug build: False
CUDA used to build PyTorch: 12.1
ROCM used to build PyTorch: N/A

OS: Ubuntu 24.04 LTS (x86_64)
GCC version: (Ubuntu 13.2.0-23ubuntu4) 13.2.0
Clang version: Could not collect
CMake version: Could not collect
Libc version: glibc-2.39

Python version: 3.12.3 (main, Apr 10 2024, 05:33:47) [GCC 13.2.0] (64-bit runtime)
Python platform: Linux-6.8.0-36-generic-x86_64-with-glibc2.39
Is CUDA available: True
CUDA runtime version: 12.5.82
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration: GPU 0: NVIDIA GeForce RTX 3090
Nvidia driver version: 555.42.06
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True

CPU:
Architecture:                         x86_64
CPU op-mode(s):                       32-bit, 64-bit
Address sizes:                        39 bits physical, 48 bits virtual
Byte Order:                           Little Endian
CPU(s):                               16
On-line CPU(s) list:                  0-15
Vendor ID:                            GenuineIntel
Model name:                           Intel(R) Core(TM) i5-14400F
CPU family:                           6
Model:                                183
Thread(s) per core:                   2
Core(s) per socket:                   10
Socket(s):                            1
Stepping:                             1
CPU(s) scaling MHz:                   59%
CPU max MHz:                          4700.0000
CPU min MHz:                          800.0000
BogoMIPS:                             4992.00
Flags:                                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect user_shstk avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities
Virtualization:                       VT-x
L1d cache:                            416 KiB (10 instances)
L1i cache:                            448 KiB (10 instances)
L2 cache:                             9.5 MiB (7 instances)
L3 cache:                             20 MiB (1 instance)
NUMA node(s):                         1
NUMA node0 CPU(s):                    0-15
Vulnerability Gather data sampling:   Not affected
Vulnerability Itlb multihit:          Not affected
Vulnerability L1tf:                   Not affected
Vulnerability Mds:                    Not affected
Vulnerability Meltdown:               Not affected
Vulnerability Mmio stale data:        Not affected
Vulnerability Reg file data sampling: Mitigation; Clear Register File
Vulnerability Retbleed:               Not affected
Vulnerability Spec rstack overflow:   Not affected
Vulnerability Spec store bypass:      Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:             Mitigation; Enhanced / Automatic IBRS; IBPB conditional; RSB filling; PBRSB-eIBRS SW sequence; BHI BHI_DIS_S
Vulnerability Srbds:                  Not affected
Vulnerability Tsx async abort:        Not affected

Versions of relevant libraries:
[pip3] numpy==1.26.4
[pip3] nvidia-nccl-cu12==2.20.5
[pip3] torch==2.3.1
[pip3] transformers==4.42.3
[conda] Could not collect
ROCM Version: Could not collect
Neuron SDK Version: N/A
vLLM Version: N/A
vLLM Build Flags:
CUDA Archs: Not Set; ROCm: Disabled; Neuron: Disabled
GPU Topology:
GPU0    CPU Affinity    NUMA Affinity   GPU NUMA ID
GPU0     X      0-15    0               N/A

Legend:

  X    = Self
  SYS  = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
  NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
  PHB  = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
  PXB  = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
  PIX  = Connection traversing at most a single PCIe bridge
  NV#  = Connection traversing a bonded set of # NVLinks

How you are installing vllm
pip install -e .

Using pip 24.0 from /home/feedloop/.venv/lib/python3.12/site-packages/pip (python 3.12)
Obtaining file:///home/feedloop/vllm
Running command pip subprocess to install build dependencies
Collecting cmake>=3.21
Using cached cmake-3.30.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.1 kB)
Collecting ninja
Using cached ninja-<IP_ADDRESS>-py2.py3-none-manylinux1_x86_64.manylinux_2_5_x86_64.whl.metadata (5.3 kB)
Collecting packaging
Using cached packaging-24.1-py3-none-any.whl.metadata (3.2 kB)
Collecting setuptools>=49.4.0
Using cached setuptools-70.2.0-py3-none-any.whl.metadata (5.8 kB)
Collecting torch==2.3.0
Using cached torch-2.3.0-cp312-cp312-manylinux1_x86_64.whl.metadata (26 kB)
Collecting wheel
Using cached wheel-0.43.0-py3-none-any.whl.metadata (2.2 kB)
Collecting filelock (from torch==2.3.0)
Using cached filelock-3.15.4-py3-none-any.whl.metadata (2.9 kB)
Collecting typing-extensions>=4.8.0 (from torch==2.3.0)
Using cached typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
Collecting sympy (from torch==2.3.0)
Using cached sympy-1.12.1-py3-none-any.whl.metadata (12 kB)
Collecting networkx (from torch==2.3.0)
Using cached networkx-3.3-py3-none-any.whl.metadata (5.1 kB)
Collecting jinja2 (from torch==2.3.0)
Using cached jinja2-3.1.4-py3-none-any.whl.metadata (2.6 kB)
Collecting fsspec (from torch==2.3.0)
Using cached fsspec-2024.6.1-py3-none-any.whl.metadata (11 kB)
Collecting nvidia-cuda-nvrtc-cu12==12.1.105 (from torch==2.3.0)
Using cached nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cuda-runtime-cu12==12.1.105 (from torch==2.3.0)
Using cached nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cuda-cupti-cu12==12.1.105 (from torch==2.3.0)
Using cached nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cudnn-cu12==<IP_ADDRESS> (from torch==2.3.0)
Using cached nvidia_cudnn_cu12-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cublas-cu12==<IP_ADDRESS> (from torch==2.3.0)
Using cached nvidia_cublas_cu12-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cufft-cu12==<IP_ADDRESS> (from torch==2.3.0)
Using cached nvidia_cufft_cu12-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-curand-cu12==<IP_ADDRESS> (from torch==2.3.0)
Using cached nvidia_curand_cu12-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)
Collecting nvidia-cusolver-cu12==<IP_ADDRESS> (from torch==2.3.0)
Using cached nvidia_cusolver_cu12-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-cusparse-cu12==<IP_ADDRESS> (from torch==2.3.0)
Using cached nvidia_cusparse_cu12-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)
Collecting nvidia-nccl-cu12==2.20.5 (from torch==2.3.0)
Using cached nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)
Collecting nvidia-nvtx-cu12==12.1.105 (from torch==2.3.0)
Using cached nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.7 kB)
Collecting nvidia-nvjitlink-cu12 (from nvidia-cusolver-cu12==<IP_ADDRESS>->torch==2.3.0)
Using cached nvidia_nvjitlink_cu12-12.5.82-py3-none-manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting MarkupSafe>=2.0 (from jinja2->torch==2.3.0)
Using cached MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.0 kB)
Collecting mpmath<1.4.0,>=1.1.0 (from sympy->torch==2.3.0)
Using cached mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)
Using cached torch-2.3.0-cp312-cp312-manylinux1_x86_64.whl (779.1 MB)
Using cached nvidia_cublas_cu12-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl (410.6 MB)
Using cached nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (14.1 MB)
Using cached nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (23.7 MB)
Using cached nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (823 kB)
Using cached nvidia_cudnn_cu12-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl (731.7 MB)
Using cached nvidia_cufft_cu12-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl (121.6 MB)
Using cached nvidia_curand_cu12-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl (56.5 MB)
Using cached nvidia_cusolver_cu12-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl (124.2 MB)
Using cached nvidia_cusparse_cu12-<IP_ADDRESS>-py3-none-manylinux1_x86_64.whl (196.0 MB)
Using cached nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl (176.2 MB)
Using cached nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (99 kB)
Using cached cmake-3.30.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26.9 MB)
Using cached ninja-<IP_ADDRESS>-py2.py3-none-manylinux1_x86_64.manylinux_2_5_x86_64.whl (307 kB)
Using cached packaging-24.1-py3-none-any.whl (53 kB)
Using cached setuptools-70.2.0-py3-none-any.whl (930 kB)
Using cached wheel-0.43.0-py3-none-any.whl (65 kB)
Using cached typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Using cached filelock-3.15.4-py3-none-any.whl (16 kB)
Using cached fsspec-2024.6.1-py3-none-any.whl (177 kB)
Using cached jinja2-3.1.4-py3-none-any.whl (133 kB)
Using cached networkx-3.3-py3-none-any.whl (1.7 MB)
Using cached sympy-1.12.1-py3-none-any.whl (5.7 MB)
Using cached MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (28 kB)
Using cached mpmath-1.3.0-py3-none-any.whl (536 kB)
Using cached nvidia_nvjitlink_cu12-12.5.82-py3-none-manylinux2014_x86_64.whl (21.3 MB)
Installing collected packages: ninja, mpmath, wheel, typing-extensions, sympy, setuptools, packaging, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, networkx, MarkupSafe, fsspec, filelock, cmake, nvidia-cusparse-cu12, nvidia-cudnn-cu12, jinja2, nvidia-cusolver-cu12, torch
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
datasets 2.20.0 requires fsspec[http]<=2024.5.0,>=2023.1.0, but you have fsspec 2024.6.1 which is incompatible.
Successfully installed MarkupSafe-2.1.5 cmake-3.30.0 filelock-3.15.4 fsspec-2024.6.1 jinja2-3.1.4 mpmath-1.3.0 networkx-3.3 ninja-<IP_ADDRESS> nvidia-cublas-cu12-<IP_ADDRESS> nvidia-cuda-cupti-cu12-12.1.105 nvidia-cuda-nvrtc-cu12-12.1.105 nvidia-cuda-runtime-cu12-12.1.105 nvidia-cudnn-cu12-<IP_ADDRESS> nvidia-cufft-cu12-<IP_ADDRESS> nvidia-curand-cu12-<IP_ADDRESS> nvidia-cusolver-cu12-<IP_ADDRESS> nvidia-cusparse-cu12-<IP_ADDRESS> nvidia-nccl-cu12-2.20.5 nvidia-nvjitlink-cu12-12.5.82 nvidia-nvtx-cu12-12.1.105 packaging-24.1 setuptools-70.2.0 sympy-1.12.1 torch-2.3.0 typing-extensions-4.12.2 wheel-0.43.0
Installing build dependencies ... done
Running command Checking if build backend supports build_editable
Checking if build backend supports build_editable ... done
Running command Getting requirements to build editable
running egg_info
writing vllm.egg-info/PKG-INFO
writing dependency_links to vllm.egg-info/dependency_links.txt
writing requirements to vllm.egg-info/requires.txt
writing top-level names to vllm.egg-info/top_level.txt
reading manifest file 'vllm.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'vllm.egg-info/SOURCES.txt'
Getting requirements to build editable ... done
Running command Preparing editable metadata (pyproject.toml)
running dist_info
creating /tmp/pip-modern-metadata-8ill7kn7/vllm.egg-info
writing /tmp/pip-modern-metadata-8ill7kn7/vllm.egg-info/PKG-INFO
writing dependency_links to /tmp/pip-modern-metadata-8ill7kn7/vllm.egg-info/dependency_links.txt
writing requirements to /tmp/pip-modern-metadata-8ill7kn7/vllm.egg-info/requires.txt
writing top-level names to /tmp/pip-modern-metadata-8ill7kn7/vllm.egg-info/top_level.txt
writing manifest file '/tmp/pip-modern-metadata-8ill7kn7/vllm.egg-info/SOURCES.txt'
reading manifest file '/tmp/pip-modern-metadata-8ill7kn7/vllm.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file '/tmp/pip-modern-metadata-8ill7kn7/vllm.egg-info/SOURCES.txt'
creating '/tmp/pip-modern-metadata-8ill7kn7/vllm-0.5.1+cu125.dist-info'
Preparing editable metadata (pyproject.toml) ... done
Collecting cmake>=3.21 (from vllm==0.5.1+cu125)
Obtaining dependency information for cmake>=3.21 from https://files.pythonhosted.org/packages/f9/2e/4f04db5517547aea3cf7dc59c4fef66b2b0e647792babd913b956aa95ceb/cmake-3.30.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
Using cached cmake-3.30.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.1 kB)
Collecting ninja (from vllm==0.5.1+cu125)
Obtaining dependency information for ninja from https://files.pythonhosted.org/packages/6d/92/8d7aebd4430ab5ff65df2bfee6d5745f95c004284db2d8ca76dcbfd9de47/ninja-<IP_ADDRESS>-py2.py3-none-manylinux1_x86_64.manylinux_2_5_x86_64.whl.metadata
Using cached ninja-<IP_ADDRESS>-py2.py3-none-manylinux1_x86_64.manylinux_2_5_x86_64.whl.metadata (5.3 kB)
Requirement already satisfied: psutil in /home/feedloop/.venv/lib/python3.12/site-packages (from vllm==0.5.1+cu125) (6.0.0)
Collecting sentencepiece (from vllm==0.5.1+cu125)
Obtaining dependency information for sentencepiece from https://files.pythonhosted.org/packages/4f/d2/18246f43ca730bb81918f87b7e886531eda32d835811ad9f4657c54eee35/sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
Using cached sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (7.7 kB)
Requirement already satisfied: numpy<2.0.0 in /home/feedloop/.venv/lib/python3.12/site-packages (from vllm==0.5.1+cu125) (1.26.4)
Requirement already satisfied: requests in /home/feedloop/.venv/lib/python3.12/site-packages (from vllm==0.5.1+cu125) (2.32.3)
Requirement already satisfied: tqdm in /home/feedloop/.venv/lib/python3.12/site-packages (from vllm==0.5.1+cu125) (4.66.4)
Collecting py-cpuinfo (from vllm==0.5.1+cu125)
Obtaining dependency information for py-cpuinfo from https://files.pythonhosted.org/packages/e0/a9/023730ba63db1e494a271cb018dcd361bd2c917ba7004c3e49d5daf795a2/py_cpuinfo-9.0.0-py3-none-any.whl.metadata
Using cached py_cpuinfo-9.0.0-py3-none-any.whl.metadata (794 bytes)
Requirement already satisfied: transformers>=4.42.0 in /home/feedloop/.venv/lib/python3.12/site-packages (from vllm==0.5.1+cu125) (4.42.3)
Requirement already satisfied: tokenizers>=0.19.1 in /home/feedloop/.venv/lib/python3.12/site-packages (from vllm==0.5.1+cu125) (0.19.1)
Requirement already satisfied: fastapi in /home/feedloop/.venv/lib/python3.12/site-packages (from vllm==0.5.1+cu125) (0.111.0)
Requirement already satisfied: aiohttp in /home/feedloop/.venv/lib/python3.12/site-packages (from vllm==0.5.1+cu125) (3.9.5)
Collecting openai (from vllm==0.5.1+cu125)
Obtaining dependency information for openai from https://files.pythonhosted.org/packages/82/60/2ab971a017357bab653035df8ff6e6e625e1d70a8e2e03faed34741750f1/openai-1.35.10-py3-none-any.whl.metadata
Using cached openai-1.35.10-py3-none-any.whl.metadata (21 kB)
Requirement already satisfied: uvicorn[standard] in /home/feedloop/.venv/lib/python3.12/site-packages (from vllm==0.5.1+cu125) (0.30.1)
Requirement already satisfied: pydantic>=2.0 in /home/feedloop/.venv/lib/python3.12/site-packages (from vllm==0.5.1+cu125) (2.8.2)
Collecting pillow (from vllm==0.5.1+cu125)
Obtaining dependency information for pillow from https://files.pythonhosted.org/packages/55/77/40daddf677897a923d5d33329acd52a2144d54a9644f2a5422c028c6bf2d/pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl.metadata
Using cached pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl.metadata (9.2 kB)
Collecting prometheus-client>=0.18.0 (from vllm==0.5.1+cu125)
Obtaining dependency information for prometheus-client>=0.18.0 from https://files.pythonhosted.org/packages/c7/98/745b810d822103adca2df8decd4c0bbe839ba7ad3511af3f0d09692fc0f0/prometheus_client-0.20.0-py3-none-any.whl.metadata
Using cached prometheus_client-0.20.0-py3-none-any.whl.metadata (1.8 kB)
Collecting prometheus-fastapi-instrumentator>=7.0.0 (from vllm==0.5.1+cu125)
Obtaining dependency information for prometheus-fastapi-instrumentator>=7.0.0 from https://files.pythonhosted.org/packages/59/66/2e93a8f56adb51ede41d0ef5f4f0277522acc4adc87937f5457b7b5692a8/prometheus_fastapi_instrumentator-7.0.0-py3-none-any.whl.metadata
Using cached prometheus_fastapi_instrumentator-7.0.0-py3-none-any.whl.metadata (13 kB)
Collecting tiktoken>=0.6.0 (from vllm==0.5.1+cu125)
Obtaining dependency information for tiktoken>=0.6.0 from https://files.pythonhosted.org/packages/50/81/1842a22f15586072280364c2ab1e40835adaf64e42fe80e52aff921ee021/tiktoken-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
Using cached tiktoken-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)
Collecting lm-format-enforcer==0.10.1 (from vllm==0.5.1+cu125)
Obtaining dependency information for lm-format-enforcer==0.10.1 from https://files.pythonhosted.org/packages/2d/fd/e21d1f0608da7696746c5d4cdf2f944d714daf63a97def416e0f3c154f98/lm_format_enforcer-0.10.1-py3-none-any.whl.metadata
Using cached lm_format_enforcer-0.10.1-py3-none-any.whl.metadata (16 kB)
Collecting outlines>=0.0.43 (from vllm==0.5.1+cu125)
Obtaining dependency information for outlines>=0.0.43 from https://files.pythonhosted.org/packages/fd/2c/1ce85b81b2f6835720db1fda9f2d4439a69458b119d2ad5fcf7cae573923/outlines-0.0.46-py3-none-any.whl.metadata
Using cached outlines-0.0.46-py3-none-any.whl.metadata (15 kB)
Requirement already satisfied: typing-extensions in /home/feedloop/.venv/lib/python3.12/site-packages (from vllm==0.5.1+cu125) (4.12.2)
Requirement already satisfied: filelock>=3.10.4 in /home/feedloop/.venv/lib/python3.12/site-packages (from vllm==0.5.1+cu125) (3.15.4)
Collecting ray>=2.9 (from vllm==0.5.1+cu125)
Obtaining dependency information for ray>=2.9 from https://files.pythonhosted.org/packages/59/67/29b36cb8f22fc7420637ea30c9881d5dac0e020ee7a2ff57025a05ffc26c/ray-2.31.0-cp312-cp312-manylinux2014_x86_64.whl.metadata
Using cached ray-2.31.0-cp312-cp312-manylinux2014_x86_64.whl.metadata (13 kB)
Collecting nvidia-ml-py (from vllm==0.5.1+cu125)
Obtaining dependency information for nvidia-ml-py from https://files.pythonhosted.org/packages/50/13/fcc6b604dea9782d69e675b1481af16e9a02c44d1d43819af209b0a1e6bb/nvidia_ml_py-12.555.43-py3-none-any.whl.metadata
Using cached nvidia_ml_py-12.555.43-py3-none-any.whl.metadata (8.6 kB)
Collecting torch==2.3.0 (from vllm==0.5.1+cu125)
Obtaining dependency information for torch==2.3.0 from https://files.pythonhosted.org/packages/51/03/1abad10990c76bee3703857b1617563b241f87d297ee466dbad922b0c308/torch-2.3.0-cp312-cp312-manylinux1_x86_64.whl.metadata
Using cached torch-2.3.0-cp312-cp312-manylinux1_x86_64.whl.metadata (26 kB)
Collecting torchvision==0.18.0 (from vllm==0.5.1+cu125)
Obtaining dependency information for torchvision==0.18.0 from https://files.pythonhosted.org/packages/6d/fe/729256fec03403b0bfdc229d4350936e29020d618f1740009c6a4f995b06/torchvision-0.18.0-cp312-cp312-manylinux1_x86_64.whl.metadata
Using cached torchvision-0.18.0-cp312-cp312-manylinux1_x86_64.whl.metadata (6.6 kB)
Collecting xformers==0.0.26.post1 (from vllm==0.5.1+cu125)
Using cached xformers-0.0.26.post1.tar.gz (4.1 MB)
Running command pip subprocess to install build dependencies
Collecting setuptools>=40.8.0
Using cached setuptools-70.2.0-py3-none-any.whl.metadata (5.8 kB)
Using cached setuptools-70.2.0-py3-none-any.whl (930 kB)
Installing collected packages: setuptools
Successfully installed setuptools-70.2.0
Installing build dependencies ... done
Running command Getting requirements to build wheel
Traceback (most recent call last):
File "/home/feedloop/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in
main()
File "/home/feedloop/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/feedloop/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
return hook(config_settings)
^^^^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-fqjbnf17/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 327, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=[])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-fqjbnf17/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 297, in _get_build_requires
self.run_setup()
File "/tmp/pip-build-env-fqjbnf17/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 497, in run_setup
super().run_setup(setup_script=setup_script)
File "/tmp/pip-build-env-fqjbnf17/overlay/lib/python3.12/site-packages/setuptools/build_meta.py", line 313, in run_setup
exec(code, locals())
File "", line 23, in
ModuleNotFoundError: No module named 'torch'
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
full command: /home/feedloop/.venv/bin/python3 /home/feedloop/.venv/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py get_requires_for_build_wheel /tmp/tmpjdzp7bsh
cwd: /tmp/pip-install-j_w5fu6j/xformers_a410e59a64e44f4680a66d17fd87f8a9
Getting requirements to build wheel ... error
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.

Seeing this as well..

+1， the same as me

Anyone solved this issue?

Any updates on this?


False alarm for “Found fs.readFile with non literal argument at index 0”?

Originally asked at https://stackoverflow.com/questions/63262683/how-to-fix-found-fs-readfile-with-non-literal-argument-at-index-0
Copy to here:

I am trying to add eslint-plugin-security in a TypeScript project. However, for these codes
import { promises as fsp } from 'fs';
import fs from 'fs';
import path from 'path';

const index = await fsp.readFile(path.resolve(__dirname, './index.html'), 'utf-8');
const key = fs.readFileSync(path.join(__dirname, './ssl.key'));
await fsp.writeFile(path.resolve(__dirname, './sitemap.xml'), sitemap);

I got many these ESLint warnings:

warning Found fs.readFile with non literal argument at index 0   security/detect-non-literal-fs-filename
warning Found fs.readFileSync with non literal argument at index 0  security/detect-non-literal-fs-filename
warning Found fs.writeFile with non literal argument at index 0  security/detect-non-literal-fs-filename

I found the document about this ESLint error at https://github.com/nodesecurity/eslint-plugin-security#detect-non-literal-fs-filename
But I still have no idea how to fix it. Any guide will be helpful! Thanks

UPDATE:
Found out as long as using passing the path returned by path.join or path.resolve will show this ESLint issue.
If I change to absolute path, the ESLint issue is gone. However, this loose the benefit of the relative path by path.join or path.resolve.
fs.readFileSync('/Users/me/project/ssl.key');

Looking for an alternative / better way if exists.

Same for fs.link and fs.exists

Any fix for this?

Any update on this?

I think your example could be treated as a false alarm.
But the rule works as expected. It basically reports all variables usage in a file path argument.
This should be a valid warning only if the variables used are holding some user input but eslint can't do much better with code static analysis.
As showned in the README.md, this plugin might raise a lot of false positive.
This is why the call fs.readFileSync('/Users/me/project/ssl.key'); is not reported. But you should definitely stick to using the path package.
If you are sure that no user input can reach your fs method calls, you should disable the rule for the offending line with :
/* eslint-disable-next-line security/detect-non-literal-fs-filename -- Safe as no value holds user input */
const index = await fsp.readFile(path.resolve(__dirname, './index.html'), 'utf-8');


Compiler Error CS0266

Type of issue
Code doesn't work
Description
[Enter feedback here]
Compiler Error CS0266
Page URL
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/cs0029?f1url=%3FappId%3Droslyn%26k%3Dk(CS0029)
Content source URL
https://github.com/dotnet/docs/blob/main/docs/csharp/language-reference/compiler-messages/cs0029.md
Document Version Independent Id
06488d45-19ec-f12c-0cbb-82c9bf133bb0
Article author
BillWagner

hi @jibrilsano495
The two errors you reference would indicate that you're trying to assign variables of two different types. Without more details, it's hard to make suggestions.
The best way to get this resolved is to post a specific question on our Q & A.


subclass yytextattachment

I am trying to implement the following sample code in swift version but I got some problems. Is it possible to do it in swift?
https://github.com/ibireme/YYKit/blob/master/Demo/YYKitDemo/WBStatusLayout.m#L67-L93

I don't know, but I think it's a question about Swift language, not about this library.


Fix setting a priority on Rule and stardize parsing priority from input

Summary

Fixes a bug where setting Rule.Priority from JSON input was not working, causing rule execution order not to be respected
Tries to standardize parsing priority from arguments for Rule and Condition, while preserving its defaults (1 and 0 respectively)
Given the package doesn't have a testing strategy in place yet, this PR introduces very simple/non-opinionated tests for these change
Introduce a pseudo-generic InvalidRule error and specific Priority errors/codes (missing, invalid type and invalid value)

Hey @nimbit-software 👋
Here's the bug and fix I was talking about, please let me know if this makes sense or if I got it wrong.
As I mentioned, I'm new to Go (started using it like a month ago), so please let me know if I'm breaking any Go best practices here, looking forward to use this as a learning experience too 😄
As mentioned on the description, I introduced some very simple tests and new errors, again, happy to change it if you want to go on a different direction.

I made some big changes for stronger tying when defining the rule. If you want ill make a PR and add you as a reviewer and you can take a look.
Im gonna try to work on the way the facts are handles so that we can have strongly typed objects.
Still trying to figure out the best way to do it.  I also noticed while testing that i wasnt able to define any and all on the top level only starting level two. I think i fixed that but still working on some tests.


OCL VPP mosaic/flip/rotate implementation

ocl: flip and rotate transform

support flip horizontal and vertical and rotate clockwise of 90, 180 and 270 degrees.

ocl: implement mosaic filter

apply mosaic filter using local average of blocks.
API update to 0.1.3.

example: enable mosaic and transform

enable mosaic and transform to example blend, and add command arguments to select different tests

ocl: install ocl kernels to datadir

Test command:
$ ./blend -o --ot 128 -m --ms 32 --flip 1 --rotate 270 some.h264

update patches according to review comments.

Finish update. Please review.

+1

merged as f8de055a25ee79bf71e5e54e871b6c4ce3a2349c.


Local spec failures when testing against a release

I get the following errors when testing against the release with npm run test -- --failTaskOnError --release:
Chrome <IP_ADDRESS> (Windows 10): Executed 13953 of 14021 (skipped 68) SUCCESS (2 mins 46.355 secs / 2 mins 31.914 secs)
Chrome <IP_ADDRESS> (Windows 10): Executed 12334 of 14021 (8 FAILED) (skipped 64) (0 secs / 1 min 33.741 secs)
TOTAL: 8 FAILED, 26279 SUCCESS

1) Syncs time when looping
     Core/VideoSynchronizer
     Error: Timeout - function did not complete within 5000ms
    at poller (Specs/pollToPromise.js:26:11 <- Build/Specs/SpecList.js:3278:11)

2) Syncs time when not looping
     Core/VideoSynchronizer
     Error: Timeout - function did not complete within 5000ms
    at poller (Specs/pollToPromise.js:26:11 <- Build/Specs/SpecList.js:3278:11)

3) pickPosition
     Scene/Scene
     TypeError: Failed to execute 'shaderSource' on 'WebGL2RenderingContext': parameter 1 is not of type 'WebGLShader'.
    at GLe (Build/Cesium/Cesium.js:884:65692)
    at Xq (Build/Cesium/Cesium.js:887:1409)
    at zA (Build/Cesium/Cesium.js:887:1361)
    at ep._bind (Build/Cesium/Cesium.js:887:2210)
    at b$e (Build/Cesium/Cesium.js:8328:41437)
    at Ld.draw (Build/Cesium/Cesium.js:8328:42272)
    at QL.execute (Build/Cesium/Cesium.js:884:36492)
    at If.executeCopyColor (Build/Cesium/Cesium.js:11452:5318)
    at Yi.resolveFramebuffers (Build/Cesium/Cesium.js:12496:34610)
    at Zht (Build/Cesium/Cesium.js:12496:37463)

4) pickPosition in CV
     Scene/Scene
     TypeError: Failed to execute 'shaderSource' on 'WebGL2RenderingContext': parameter 1 is not of type 'WebGLShader'.
    at GLe (Build/Cesium/Cesium.js:884:65692)
    at Xq (Build/Cesium/Cesium.js:887:1409)
    at zA (Build/Cesium/Cesium.js:887:1361)
    at ep._bind (Build/Cesium/Cesium.js:887:2210)
    at b$e (Build/Cesium/Cesium.js:8328:41437)
    at Ld.draw (Build/Cesium/Cesium.js:8328:42272)
    at QL.execute (Build/Cesium/Cesium.js:884:36492)
    at If.executeCopyColor (Build/Cesium/Cesium.js:11452:5318)
    at Yi.resolveFramebuffers (Build/Cesium/Cesium.js:12496:34610)
    at Zht (Build/Cesium/Cesium.js:12496:37463)

5) pickPosition in 2D
     Scene/Scene
     RangeError: Invalid array length
    at ylt (Build/Cesium/Cesium.js:11703:9176)
    at wk.createPotentiallyVisibleSet (Build/Cesium/Cesium.js:11703:11474)
    at sg (Build/Cesium/Cesium.js:12496:28470)
    at yht (Build/Cesium/Cesium.js:12496:28015)
    at Yi.updateAndExecuteCommands (Build/Cesium/Cesium.js:12496:25759)
    at Zht (Build/Cesium/Cesium.js:12496:37431)
    at TT (Build/Cesium/Cesium.js:12496:37629)
    at Yi.render (Build/Cesium/Cesium.js:12496:38622)
    at renderAndReadPixels (Specs/addDefaultMatchers.js:736:11 <- Build/Specs/karma-main.js:612:11)
    at compare (Specs/addDefaultMatchers.js:307:30 <- Build/Specs/karma-main.js:292:30)

6) pickPosition returns undefined when useDepthPicking is false
     Scene/Scene
     RangeError: Invalid array length
    at ylt (Build/Cesium/Cesium.js:11703:9176)
    at wk.createPotentiallyVisibleSet (Build/Cesium/Cesium.js:11703:11474)
    at sg (Build/Cesium/Cesium.js:12496:28470)
    at Yi.updateAndExecuteCommands (Build/Cesium/Cesium.js:12496:25729)
    at Zht (Build/Cesium/Cesium.js:12496:37431)
    at TT (Build/Cesium/Cesium.js:12496:37629)
    at Yi.render (Build/Cesium/Cesium.js:12496:38622)
    at renderAndReadPixels (Specs/addDefaultMatchers.js:736:11 <- Build/Specs/karma-main.js:612:11)
    at compare (Specs/addDefaultMatchers.js:307:30 <- Build/Specs/karma-main.js:292:30)
    at <Jasmine>

7) pickPosition picks translucent geometry when pickTranslucentDepth is true
     Scene/Scene
     RangeError: Invalid array length
    at ylt (Build/Cesium/Cesium.js:11703:9176)
    at wk.createPotentiallyVisibleSet (Build/Cesium/Cesium.js:11703:11474)
    at sg (Build/Cesium/Cesium.js:12496:28470)
    at Yi.updateAndExecuteCommands (Build/Cesium/Cesium.js:12496:25729)
    at Zht (Build/Cesium/Cesium.js:12496:37431)
    at TT (Build/Cesium/Cesium.js:12496:37629)
    at Yi.render (Build/Cesium/Cesium.js:12496:38622)
    at renderAndReadPixels (Specs/addDefaultMatchers.js:736:11 <- Build/Specs/karma-main.js:612:11)
    at compare (Specs/addDefaultMatchers.js:307:30 <- Build/Specs/karma-main.js:292:30)
    at <Jasmine>

8) pickPosition caches results per frame
     Scene/Scene
     TypeError: Failed to execute 'shaderSource' on 'WebGL2RenderingContext': parameter 1 is not of type 'WebGLShader'.
    at GLe (Build/Cesium/Cesium.js:884:65692)
    at Xq (Build/Cesium/Cesium.js:887:1409)
    at zA (Build/Cesium/Cesium.js:887:1361)
    at ep._bind (Build/Cesium/Cesium.js:887:2210)
    at b$e (Build/Cesium/Cesium.js:8328:41437)
    at Ld.draw (Build/Cesium/Cesium.js:8328:42272)
    at QL.execute (Build/Cesium/Cesium.js:884:36492)
    at If.executeCopyColor (Build/Cesium/Cesium.js:11452:5318)
    at Yi.resolveFramebuffers (Build/Cesium/Cesium.js:12496:34610)
    at Zht (Build/Cesium/Cesium.js:12496:37463)

TOTAL: 8 FAILED, 26279 SUCCESS
[11:12:17] 'test' errored after 2.93 min
[11:12:17] Error: 1
    at formatError (/home/jhembd/CesiumGS/cesium/node_modules/gulp-cli/lib/versioned/^4.0.0/format-error.js:21:10)
    at Gulp.<anonymous> (/home/jhembd/CesiumGS/cesium/node_modules/gulp-cli/lib/versioned/^4.0.0/log/events.js:33:15)
    at Gulp.emit (node:events:525:35)
    at Gulp.emit (node:domain:489:12)
    at Object.error (/home/jhembd/CesiumGS/cesium/node_modules/undertaker/lib/helpers/createExtensions.js:61:10)
    at handler (/home/jhembd/CesiumGS/cesium/node_modules/now-and-later/lib/map.js:50:14)
    at f (/home/jhembd/CesiumGS/cesium/node_modules/once/once.js:25:25)
    at f (/home/jhembd/CesiumGS/cesium/node_modules/once/once.js:25:25)
    at tryCatch (/home/jhembd/CesiumGS/cesium/node_modules/async-done/index.js:24:15)
    at done (/home/jhembd/CesiumGS/cesium/node_modules/async-done/index.js:40:12)

This is only when testing locally against the release. A basic npm test runs through with no errors, and CI passes.

I'm intermittently seeing the same failures for Scene/Scene. It's with a different error stack, though that could be due to release vs dev. I will post the error stack when I run into it again.
Potentially a race condition with another test?

@ggetz are these the error stacks you were seeing? I'm getting them again for the same tests
Chrome <IP_ADDRESS> (Linux x86_64): Executed 107 of 14044 (6 FAILED) (skipped 13937) (8.259 secs / 6.773 secs)
TOTAL: 6 FAILED, 101 SUCCESS

1) pickPosition
     Scene/Scene
     DeveloperError: normalized result is not a number
error properties: undefined: undefined
    at new DeveloperError (packages/engine/Source/Core/DeveloperError.js:39:11 <- Build/CesiumUnminified/Cesium.js:10465:13)
    at Cartesian3.normalize (packages/engine/Source/Core/Cartesian3.js:450:11 <- Build/CesiumUnminified/Cesium.js:11123:13)
    at Ellipsoid.geodeticSurfaceNormal (packages/engine/Source/Core/Ellipsoid.js:379:21 <- Build/CesiumUnminified/Cesium.js:18832:31)
    at Object.resultat [as eastNorthUpToFixedFrame] (packages/engine/Source/Core/Transforms.js:200:19 <- Build/CesiumUnminified/Cesium.js:28205:21)
    at setView3D (packages/engine/Source/Scene/Camera.js:1240:37 <- Build/CesiumUnminified/Cesium.js:201383:47)
    at Camera.setView (packages/engine/Source/Scene/Camera.js:1493:5 <- Build/CesiumUnminified/Cesium.js:201551:7)
    at UserContext.<anonymous> (packages/engine/Specs/Scene/SceneSpec.js:890:20 <- Build/Specs/SpecList.js:215291:21)
    at <Jasmine>

2) pickPosition in CV
     Scene/Scene
     DeveloperError: normalized result is not a number
error properties: undefined: undefined
    at new DeveloperError (packages/engine/Source/Core/DeveloperError.js:39:11 <- Build/CesiumUnminified/Cesium.js:10465:13)
    at Cartesian3.normalize (packages/engine/Source/Core/Cartesian3.js:450:11 <- Build/CesiumUnminified/Cesium.js:11123:13)
    at PerspectiveOffCenterFrustum.computeCullingVolume (packages/engine/Source/Core/PerspectiveOffCenterFrustum.js:253:14 <- Build/CesiumUnminified/Cesium.js:63045:24)
    at PerspectiveFrustum.computeCullingVolume (packages/engine/Source/Core/PerspectiveFrustum.js:312:33 <- Build/CesiumUnminified/Cesium.js:63357:35)
    at Scene4.updateFrameState (packages/engine/Source/Scene/Scene.js:1882:45 <- Build/CesiumUnminified/Cesium.js:218653:47)
    at render (packages/engine/Source/Scene/Scene.js:3729:9 <- Build/CesiumUnminified/Cesium.js:219954:11)
    at tryAndCatchError (packages/engine/Source/Scene/Scene.js:3797:5 <- Build/CesiumUnminified/Cesium.js:220007:7)
    at Scene4.render (packages/engine/Source/Scene/Scene.js:3887:5 <- Build/CesiumUnminified/Cesium.js:220059:7)
    at renderAndReadPixels (Specs/addDefaultMatchers.js:736:11 <- Build/Specs/karma-main.js:612:11)
    at compare (Specs/addDefaultMatchers.js:307:30 <- Build/Specs/karma-main.js:292:30)
     DeveloperError: normalized result is not a number
error properties: undefined: undefined
    at new DeveloperError (packages/engine/Source/Core/DeveloperError.js:39:11 <- Build/CesiumUnminified/Cesium.js:10465:13)
    at Cartesian3.normalize (packages/engine/Source/Core/Cartesian3.js:450:11 <- Build/CesiumUnminified/Cesium.js:11123:13)
    at Ellipsoid.geodeticSurfaceNormalCartographic (packages/engine/Source/Core/Ellipsoid.js:355:21 <- Build/CesiumUnminified/Cesium.js:18818:31)
    at Ellipsoid.cartographicToCartesian (packages/engine/Source/Core/Ellipsoid.js:401:8 <- Build/CesiumUnminified/Cesium.js:18839:10)
    at getColumbusViewTo3DCamera (packages/engine/Source/Scene/SceneTransitioner.js:381:13 <- Build/CesiumUnminified/Cesium.js:213488:15)
    at SceneTransitioner.morphTo3D (packages/engine/Source/Scene/SceneTransitioner.js:270:18 <- Build/CesiumUnminified/Cesium.js:213410:20)
    at Scene4.morphTo3D (packages/engine/Source/Scene/Scene.js:4412:22 <- Build/CesiumUnminified/Cesium.js:220216:24)
    at UserContext.<anonymous> (packages/engine/Specs/Scene/SceneSpec.js:86:13 <- Build/Specs/SpecList.js:214634:14)
    at <Jasmine>

3) pickPosition in 2D
     Scene/Scene
     DeveloperError: normalized result is not a number
error properties: undefined: undefined
    at new DeveloperError (packages/engine/Source/Core/DeveloperError.js:39:11 <- Build/CesiumUnminified/Cesium.js:10465:13)
    at Cartesian3.normalize (packages/engine/Source/Core/Cartesian3.js:450:11 <- Build/CesiumUnminified/Cesium.js:11123:13)
    at Ellipsoid.geodeticSurfaceNormal (packages/engine/Source/Core/Ellipsoid.js:379:21 <- Build/CesiumUnminified/Cesium.js:18832:31)
    at Ellipsoid.cartesianToCartographic (packages/engine/Source/Core/Ellipsoid.js:472:18 <- Build/CesiumUnminified/Cesium.js:18870:20)
    at updateMembers (packages/engine/Source/Scene/Camera.js:703:67 <- Build/CesiumUnminified/Cesium.js:200948:69)
    at Camera.get (packages/engine/Source/Scene/Camera.js:907:7 <- Build/CesiumUnminified/Cesium.js:201116:9)
    at updateCameraDeltas (packages/engine/Source/Scene/Camera.js:339:14 <- Build/CesiumUnminified/Cesium.js:200662:16)
    at Camera._updateCameraChanged (packages/engine/Source/Scene/Camera.js:375:3 <- Build/CesiumUnminified/Cesium.js:200684:5)
    at Scene4.initializeFrame (packages/engine/Source/Scene/Scene.js:3666:15 <- Build/CesiumUnminified/Cesium.js:219906:17)
    at renderAndReadPixels (Specs/addDefaultMatchers.js:735:11 <- Build/Specs/karma-main.js:611:11)

4) pickPosition returns undefined when useDepthPicking is false
     Scene/Scene
     DeveloperError: normalized result is not a number
error properties: undefined: undefined
    at new DeveloperError (packages/engine/Source/Core/DeveloperError.js:39:11 <- Build/CesiumUnminified/Cesium.js:10465:13)
    at Cartesian3.normalize (packages/engine/Source/Core/Cartesian3.js:450:11 <- Build/CesiumUnminified/Cesium.js:11123:13)
    at Ellipsoid.geodeticSurfaceNormal (packages/engine/Source/Core/Ellipsoid.js:379:21 <- Build/CesiumUnminified/Cesium.js:18832:31)
    at Ellipsoid.cartesianToCartographic (packages/engine/Source/Core/Ellipsoid.js:472:18 <- Build/CesiumUnminified/Cesium.js:18870:20)
    at updateMembers (packages/engine/Source/Scene/Camera.js:703:67 <- Build/CesiumUnminified/Cesium.js:200948:69)
    at Camera.get (packages/engine/Source/Scene/Camera.js:893:7 <- Build/CesiumUnminified/Cesium.js:201103:9)
    at getGlobeHeight (packages/engine/Source/Scene/Scene.js:3606:31 <- Build/CesiumUnminified/Cesium.js:219867:34)
    at Scene4.initializeFrame (packages/engine/Source/Scene/Scene.js:3656:23 <- Build/CesiumUnminified/Cesium.js:219898:25)
    at renderAndReadPixels (Specs/addDefaultMatchers.js:735:11 <- Build/Specs/karma-main.js:611:11)
    at compare (Specs/addDefaultMatchers.js:307:30 <- Build/Specs/karma-main.js:292:30)

5) pickPosition picks translucent geometry when pickTranslucentDepth is true
     Scene/Scene
     DeveloperError: normalized result is not a number
error properties: undefined: undefined
    at new DeveloperError (packages/engine/Source/Core/DeveloperError.js:39:11 <- Build/CesiumUnminified/Cesium.js:10465:13)
    at Cartesian3.normalize (packages/engine/Source/Core/Cartesian3.js:450:11 <- Build/CesiumUnminified/Cesium.js:11123:13)
    at Ellipsoid.geodeticSurfaceNormal (packages/engine/Source/Core/Ellipsoid.js:379:21 <- Build/CesiumUnminified/Cesium.js:18832:31)
    at Ellipsoid.cartesianToCartographic (packages/engine/Source/Core/Ellipsoid.js:472:18 <- Build/CesiumUnminified/Cesium.js:18870:20)
    at updateMembers (packages/engine/Source/Scene/Camera.js:703:67 <- Build/CesiumUnminified/Cesium.js:200948:69)
    at Camera.get (packages/engine/Source/Scene/Camera.js:893:7 <- Build/CesiumUnminified/Cesium.js:201103:9)
    at getGlobeHeight (packages/engine/Source/Scene/Scene.js:3606:31 <- Build/CesiumUnminified/Cesium.js:219867:34)
    at Scene4.initializeFrame (packages/engine/Source/Scene/Scene.js:3656:23 <- Build/CesiumUnminified/Cesium.js:219898:25)
    at renderAndReadPixels (Specs/addDefaultMatchers.js:735:11 <- Build/Specs/karma-main.js:611:11)
    at compare (Specs/addDefaultMatchers.js:307:30 <- Build/Specs/karma-main.js:292:30)

6) pickPosition caches results per frame
     Scene/Scene
     DeveloperError: normalized result is not a number
error properties: undefined: undefined
    at new DeveloperError (packages/engine/Source/Core/DeveloperError.js:39:11 <- Build/CesiumUnminified/Cesium.js:10465:13)
    at Cartesian3.normalize (packages/engine/Source/Core/Cartesian3.js:450:11 <- Build/CesiumUnminified/Cesium.js:11123:13)
    at Ellipsoid.geodeticSurfaceNormal (packages/engine/Source/Core/Ellipsoid.js:379:21 <- Build/CesiumUnminified/Cesium.js:18832:31)
    at Ellipsoid.cartesianToCartographic (packages/engine/Source/Core/Ellipsoid.js:472:18 <- Build/CesiumUnminified/Cesium.js:18870:20)
    at updateMembers (packages/engine/Source/Scene/Camera.js:703:67 <- Build/CesiumUnminified/Cesium.js:200948:69)
    at Camera.get (packages/engine/Source/Scene/Camera.js:893:7 <- Build/CesiumUnminified/Cesium.js:201103:9)
    at getGlobeHeight (packages/engine/Source/Scene/Scene.js:3606:31 <- Build/CesiumUnminified/Cesium.js:219867:34)
    at Scene4.initializeFrame (packages/engine/Source/Scene/Scene.js:3656:23 <- Build/CesiumUnminified/Cesium.js:219898:25)
    at renderAndReadPixels (Specs/addDefaultMatchers.js:735:11 <- Build/Specs/karma-main.js:611:11)
    at compare (Specs/addDefaultMatchers.js:307:30 <- Build/Specs/karma-main.js:292:30)

TOTAL: 6 FAILED, 101 SUCCESS

I also have had a local spec failure (that also failed in CI but only once). It also uses npm run test --release but with other options (e.g. headless Chrome). I opened https://github.com/CesiumGS/cesium/issues/11733 since the error was quite a bit different.

@ptrgags Yes, this is a different error.

A few observations on these errors:

Each failed spec passes if run individually as a focused test.
When running the whole SceneSpec suite, several lost context warnings appear in the console: WARNING: Too many active WebGL contexts. Oldest context will be lost.
The suite declares a global scene in beforeAll. Many of the specs, however, construct and destroy their own scene.
The problematic specs are using the global scene, and fail after a lost context warning.

I think the lost contexts are the problem. In afterEach we are updating the aspect ratio as follows:
      camera.frustum.aspectRatio =
        scene.drawingBufferWidth / scene.drawingBufferHeight;

After a lost context, scene.drawingBufferHeight === 0, so camera.frustum.aspectRatio === NaN. This causes problems in the individual specs when they call camera.setView.


External Badge Contract

I'm working on this myself, but thought I'd open an issue in case someone can solve faster than myself. We need to call external contract mint functions on "Approve" of user submissions (in challenge-review). A test contract is deployed.
https://polygonscan.com/address/0x093f2785b8eded6b00fe7a8b2a8aa9197f291147
Anyway, I'll be trying to resolve this myself in the meantime!

Hey @simplemachine92 thanks for this!
I'm working on a couple of issues rn. Once I finish, I can help you with this one IYW.


MTU size request

Hi there it's me again,
I'm trying to receive data from a notify characteristic, it works perfectly but I only receive 20 bytes when I'm supposed to get 50.
After some research I found that it may be the MTU size :
https://stackoverflow.com/questions/69905359/reading-more-than-20-bytes-in-android-ble
https://punchthrough.com/maximizing-ble-throughput-part-2-use-larger-att-mtu-2/
https://developer.android.com/reference/android/bluetooth/BluetoothGatt.html#requestMtu(int)
It may be my device but I would be sure it's not other thing, so I would like to call requestMtu() but don't have any idea how to do that with your library...
If you have any idea :)
Thanks again!

Hello there, thank you for this feature request.
I will study the possibility of adding this in the library in the near future.
Is this only for reading? Or is it required for writing too?

Nice, only for reading

v1.8.2 ships with this :)

v1.8.2 is out, it includes this.
Thanks @valexi7


New issue, just happened (days ago) for line 454, file "Service", project "OAuth2"

Hi, I did multiple checks before raising this issue here.
I'm using domain wide delegation for your wonderful code in OAuth.
Just days ago, I run into an error for v38 of your library.
Error: Access not granted or expired. (line 454, file "Service", project "OAuth2").
So what I checked is the Service Account used, has been working 2 years straight.
I re-added all the scope on Admin Console
Additionally I've re-enabled the API Library on Google Cloud Console
I even when to an extend to create a new Google Cloud Console project and redo all the steps above.
Still the issue occurs.  I saw that you made some changes 20 hours ago, may I have you to run a quick test on domain wide delegation on any items. E.g. I've tried Gmail, Calendar and Drive. All API calls give me the same error.
Somehow, for older version of your libraries it is also impacted.
Thanks again for the wonderful job you had done.

Dear all, we can close this.
I've no idea what has been fixed, most likely a Google End issues.


mkjson: init at 0.4.0

Description of changes
Adds a derivation for mkjson. This program is written in Haskell but is not on Hackage, but I find it quite useful. I could not find any normative documentation for how to handle non-Hackage haskell packages, so I imitated the ones I could find.
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I mean that hierarchy is cursed either way …
I guess the haskell/misc folder is more for Haskell specific stuff, so it seems not to fit.
I guess in truth I would prefer all non-hackage-packages to live in the same subfolder. Seeing that all other packages are supposed to move to pkgs/by-name, we ideally hat something like pkgs/haskell/by-name.
But at this point this tool seems similar to jq? So maybe development/tools?

Fair enough; I have moved it to development/tools/mkjson. I agree that the by-name scheme is more sensible, but it doesn't exist for Haskell packages at the moment.

doesn't exist for Haskell packages at the moment

Does mkjson have to be in haskellPackages, though? Seems like we could just have a top level binding for it.

Perhaps not, but I can't figure out the required plumbing for getting access to all the haskellPackages dependencies it has. I would not mind adding it to all-packages.nix, if that's all it takes.

doesn't exist for Haskell packages at the moment

Does mkjson have to be in haskellPackages, though? Seems like we could just have a top level binding for it.

Fun point. I kinda thought that’s how we do it. e.g. nix-output-monitor is packaged this way and I guess that doesn’t actually make sense.
@athas It would actually be quite easy to change. Remove the change in non-hackage-packages.nix. And add a
mkjson = haskell.lib.justStaticExecutables (haskellPackages.callPackage ... {});
line to all-packages.nix.

Hah, there is actually precedent for doing this for a Haskell package.
See: https://github.com/NixOS/nixpkgs/tree/master/pkgs/by-name/ni/nixfmt-rfc-style (you can probably get away with making the package.nix a bit simpler and you don’t need the date.txt and the update.sh)
or https://github.com/NixOS/nixpkgs/tree/master/pkgs/by-name/ln/lngen, which is a bit to simple for my taste, and probably more handwork, but also an option.

Alright, I have done that. I agree that it feels like the right choice. The fact that it is written in Haskell is just an implementation detail; it should not be part of the package name.

Yeah, sorry, @athas, as I am also learning this as we go, but I just wanted to remark the same as sterni.
The minimal solution would be a file containing:
{ haskell, haskellPackages }: haskell.lib.justStaticExecutables (haskellPackages.callPackage .. {})

The only reason that the CI is not screaming at you because you are adding a file to the deprecated all-packages.nix is that it does not know what justStaticExecutables is.

Alright, I have done that. I like this solution. It also makes it very obvious how to override the package to build manpages etc (for packages that have this, which mkjson doesn't).

But you dropped the justStaticExecutables now. I would recommend adding that back.

Strange, I wonder how that happened.

Okay, hopefully last thing from me: You should add this to the tested set of the haskell-updates branch now, because otherwise we won’t notice when we break it. (I thought of this when you opened the PR, but while it was in non-hackage-packages the CI would have picked it up automatically.)
The list is here: https://github.com/NixOS/nixpkgs/blob/50e70209312d189d0bf992efb0b271367d9dd7d1/pkgs/top-level/release-haskell.nix#L265

I think I did it correctly, but I don't know enough about Hydra to say for sure.

I suggest documenting this procedure somewhere (no idea where). It's really not a lot of work once you know what to do, but if you look at the existing infrastructure, it looks very Hackage-centric. I can imagine there's a good number of Haskell applications that are not on Hackage because they are not really intended to be libraries.


Return response when using captureFunc and captureAsyncFunc

Hi guys,
I have created this PR in order to get the function result when capturing functions and async functions.
Let me know if this make sense to you.
Cheers,
Aldo
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Hi aldex32,
Thanks for the PR. Can you tell me a bit about the use case of this change? This would also require an edit to the API documentation/readme in respect to the functions behavior.
Thanks!
Sandra

Hi @awssandra ,
the use case would be when the user needs to trace a function which returns a value.
For instance I would like sub segment by wrapping an external library which does an http call and returns a result.
const getInfo = () => externalLibrary.getInfo();
const response = await AWSXRay.captureAsyncFunc('getInfo', getInfo, AWSXRay.getSegment())

If that makes sense for you then I can modify the API documentation.
Let me know,
Aldo

Hi @awssandra,
I didn't hear anymore from you. Do you agree with this PR?

@aldex32, your async example won't work as expected. You'd have to wrap the external function to close the segment:
const getInfo = segment => externalLibrary
  .getInfo()
  .then(res => {
    segment.close();
    return res;
  })
  .catch(e => {
    segment.close(e);
    throw e;
  });

Hi @williamhoyle,
I think you are right, but you don't need to close the segment in the catch, since it will be eventually closed by captureAsyncFunc(). So it should be something like this:
const getInfo = async (segment) => {
  const result = await externalLibrary.getInfo();

  segment.close();

  return result;
}

const response = await AWSXRay.captureAsyncFunc('getInfo', getInfo, AWSXRay.getSegment());

@aldex32 eventually, but not with the correct timestamp.
This is a good  PR without the async stuff. captureFunc can return a result without  side affects,  captureAsyncFunc not so much.
Just back the async stuff out and I think you've got a shot.

Hi @williamhoyle , what do you mean by there are side effects on captureAsyncFun? It looks to me the timestamp is accurate on both success and exception.

Hi @williamhoyle , what do you mean by there are side effects on captureAsyncFun? It looks to me the timestamp is accurate on both success and exception.

Sorry, my comment was poorly worded. I was referring to @aldex32's example, not the current implementation of captureAsyncFun.

Thank you for your contribution. I have merged the change to master.

Thanks for merging it!


Add a few functions & POSIX error codes to Windows API

This change adds a few simple additional functions to the windows apis, as well as some additional error codes.
Tests and style pass, as per contributing guidelines.

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @gnzlbg (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

ucrt\errno.h does have those error constants, and notably they are different than the WSA constants of the same name. For example EADDRINUSE from ucrt has a value of 100 but EADDRINUSE from winsock2 has a value of 10048. Obviously a massive footgun but it is what it is.
time and _lseeki64 are both from ucrt as well. Notably however time is actually an inline wrapper around _time64. The signatures look correct otherwise.

Inside winsock.h, they say to not use EADDRINUSE and to use WSAEADDRINUSE due to the conflict for socket related errors.
/*

Windows Sockets errors redefined as regular Berkeley error constants.
These are commented out in Windows NT to avoid conflicts with errno.h.
Use the WSA constants instead.
*/
#if 0
#define EWOULDBLOCK  WSAEWOULDBLOCK
......

I think we should probably use the errno constants as that is what windows uses, and have the WSA constants be separate or in the win32 library? I wonder if we should add a comment to that effect, similar to the windows comment.

In my most recent commit I updated the time funtion to link to _time64 (as time is just a wrapper around that anyways). It also seems that the gnu toolchain uses a different (probably outdated) version of errno.h that doesn't contain EOTHER, so I have moved that specific constant to the msvc-specific file.

@bors: r+

:hourglass: Testing commit 3ecdafbde86fc01cd3f37c9327497ed0da8ab743 with merge fe7ccff8981ea0ec113cc9e4cb2180f8b5d381a9...

:sunny: Test successful - checks-cirrus-freebsd-10, checks-cirrus-freebsd-11, checks-cirrus-freebsd-12, status-azure
Approved by: gnzlbg
Pushing fe7ccff8981ea0ec113cc9e4cb2180f8b5d381a9 to master...


Add nuget packages to exported DLL files

I have tested this with 2 types of project. 1 that is uncompiled and 1 that has been compiled to a dll. When I try to add to the uncompiled project, it works and I can run it. However in the folder with dll, as it can't detect any project, it refuses to download the nuget package. Is there anyway to circumvent this? Thank you very much!
dotnet add package AWSSDK.Core
Could not find any project in `/root/Desktop/OSPJ/netcoreapp2.2/`.

Error:
  An assembly specified in the application dependencies manifest (OSPJ New.deps.json) was not found:
    package: 'AWSSDK.Core', version: '<IP_ADDRESS>'
    path: 'lib/netstandard2.0/AWSSDK.Core.dll'

@livarcocc @nguerrera is this something you guys can help with? Or should we send it to someone else?

The add package command is for editing project files. It modifies the project by adding a package reference to it.
This behavior seems entirely by design.

@Kool-Koder Can you provide more info about what you are trying to accomplish
How did you get the second error? Is this when trying to run app call "OSPJ New"? How was that app published and deployed?

Hi, sorry for the late reply. I published using Visual Studio 2019, and set the configuration to release. I believe what is happening is the 3rd party NUGET packages such as AWS is not being exported together with the project and as such this error is happening. Thank you for your help.

Can you provide a complete set of repro steps?
What does the csproj file look like?
Which menu options exactly did you use in VS 2019 to publish?
How did you get the app files get to /root/Desktop/OSPJ/netcoreapp2.2 on what I presume is a different Linux machine or container?

In case this is what you tried, for .NET Core 2.x, you cannot simply build and copy the bin\ folder to another machine. Build will only copy enough files to develop on the current machine. You need to use Publish to copy all the NuGet dependencies.

Closing due to +2 weeks of inactivity. @Kool-Koder ping us if you can provide answers for @nguerrera 's questions. We'll be happy to continue helping you.


invalid 100% faulty sector error

If you have an Agent that is attempting to borrow, it seems that the error message when they try to borrow too much is wrong - it shows invalid faulty sectors
heres an agent with faulty sectors now 0xEC5527D5E04A6B2641ec15E89f43AED22098f7ba
if you simulate a borrow call that fails, the cli shows faulty sector error, when it should show the right error

Here's what glif agent info shows:
$ glif agent info

BASIC INFO

Agent 0x Addr                         0xEC5527D5E04A6B2641ec15E89f43AED22098f7ba
Agent f4 Addr                         f410f5rkspvpajjvsmqpmcxuj6q5o2iqjr552tky7uey
Agent f0 Addr                         f03005567
Agent GLIF ID                         113
Agent Owner                           0xfF000000000000000000000000000000002ddc6e
Agent Operator                        0x0439f8219c7f60e17A4072526D0231A19a760F97
Agent ADO Requester                   0x0439f8219c7f60e17A4072526D0231A19a760F97
Agent Miners                          5
Version                               1 ✅

ECON INFO

Borrow now                            66485.222867057 FIL
Max borrow<PHONE_NUMBER>53627 FIL

Liquidation value<PHONE_NUMBER>35711 FIL
Recovery rate                         85.090%

Total borrowed                        67404.221944927 FIL
You current owe                       2.067909206 FIL
Current borrow APR                    15.000%
Your weekly payment<PHONE_NUMBER>80 FIL
Quota                                 2500000.000 FIL

Liquid FIL<PHONE_NUMBER>0 FIL
Total FIL<PHONE_NUMBER>2174 FIL
Equity<PHONE_NUMBER>7681 FIL
Expected weekly earnings              1540.64566633 FIL
Debt-to-liquidation-value (LTV)       32.965% (must stay below 80%)
Debt-to-equity (DTE)                  38.564% (must stay below 200%)
Debt-to-income (DTI)                  12.586% (must stay below 25%)

HEALTH

Status unhealthy 🔴
WARNING: Your Agent has one or more miners with faulty sectors - recover your sectors as soon as possible
Faulty sector ratio: 1.73%
Faulty sector ratio limit: 0.1%

Agent's administrator                 0x0000000000000000000000000000000000000000
Agent in default                      false

Actual faulty sectors:
$ glif agent miners list
Agent's miners:
Miner f01937995 - 69639.193583501 FIL
Miner f01947770 - 68849.504112456 FIL
Miner f03019624 - 56433.622946257 FIL
Miner f03024798 - 44670.467621938 FIL
Miner f03045966 - 2307.611302863 FIL

Total balance:<PHONE_NUMBER>67016

$ for m in f01937995 f01947770 f03019624 f03024798 f03045966; do echo $m $(./lotus-shed miner faults $m | sed -E 's/(faulty sectors:|no faults)//' | wc -w); done
f01937995 0
f01947770 0
f03019624 4393
f03024798 5440
f03045966 1334

I can't test a borrow with that agent because I don't have the requester key.
But if I try borrowing a ridiculous amount with agent 112 (mine):
$ glif agent borrow 1000000
Borrowing 1e+06 FIL from the infinity-pool into agent 0x4180644623721523Db0D20E1158e2FCbC5b297C3
\2024/04/11 18:51:51 Agent fault ratio is above the limit: 100% (limit is 0.1%). Recover your sectors to complete the action

So I can reproduce.

The message is coming via the ADO, which uses go-pools to compute the agent data with the new funds added to the available balance.
There is a comment:
        } else if (new(big.Int).Div(numerator, data.CollateralValue)).Cmp(constants.MAX_LTV) > 0 {
		// if the LTV (loan to liquidation value) is greater than the max LTV, we report faulty sectors in order to trigger a liquidation
		// this is a bit of a workaround until the liquidation value buffer is built-in to the contracts directly
		data.FaultySectors = aggMinerStats.LiveSectors
	}

This workaround is intentionally reporting all sectors as faulty to prevent the borrow. It is confusing because this is being reported on the command line, and the user doesn't know about the workaround.
https://github.com/glifio/go-pools/blob/0eeb3b4e1498024d0d0bd46ead2f9e9bbebcff85/econ/econ.go#L58