An idea: reading restrict-http-upgrade-path-prefix strings from a file - a simple approach to enable short lived tokens with long lived server instances

Hi there,
This is a brilliant project. Thank you for your work. I wonder if you'd welcome a feature?
I would like to add the following functionality to the server:
I would like the server to be able read from a file when a client connects
The file would be a list of strings - I suggest a simple json list
The file path to be specified by --restrict-http-upgrade-path-prefix-file
On client connection:
1 - compare the string provided in the URL by the client against that provided by --restrict-http-upgrade-path-prefix (as today).
2- if not present then compare the string provided by the client against the strings in the file provided at  --restrict-http-upgrade-path-prefix-file. On a match, allow the client connection to continue. if no match found then don't allow the client connection to continue.
This allows a higher layer 'ticketing' system to create 'short lived' authentication strings and keep wstunnel server instances long-lived. I think this would allow a simple if crude way to provide a time-based 'valid-for' window to be able to pass a client a --http-upgrade-path-prefix string which need not be known to the server at server launch.
Would you be interested in a PR implementing this feature? I'm very happy to do the coding for it if you'd like!

Thanks for proposing your contribution🙏
I think it will be a bit too much for wstunnel to implement. I would assume people willing to do that would install a real reverse proxy in front of wstunnel to be free to do whatever they need%want


Add (partial) train+eval model template nb

changes

adds a partial model training+evaluation template notebook for pdp schools, with TODOs marked for where future work is needed
fixes a bug in a modeling util function

context

Trying to extend the template school-agnostic pipeline further, from end to end.
questions

Any objections to committing this in partial form, for future dev work?

Hey @nm3224 , thanks for taking a look, but just want to clarify expectations / process around PRs:

if you're not tagged as a reviewer (or haven't otherwise been requested), don't feel any obligation to review! in fact, it's probably better to leave it to the reviewers, since they may have context that you don't have.
when submitting reviews, please leave the actual merging (or closing) of the PR to the person who submitted it. there may be dependencies between PRs or other cleanup work that they need to take care of first.
finally, "closing" a PR doesn't merge, it just sends the code you've reviewed into the dustbin of history.


[Remote Store] Optimize segments metadata upload

Description
Currently in afterRefresh method of RemoteStoreRefreshListener, we upload metadata file even if the local and remote store has not difference in segment files. We need to skip the upload if there are no differences in segment files on local and remote store. With this PR, we are not creating / uploading the metadata file if there are no differences in the segments files in local primary store and remote store.
Related Issues
Resolves #7443
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

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

Please add tests.

What are the chances of hitting this problem ? can we use didRefresh to find out if we need to trigger syncSegments at all ?

Currently I have been able to reproduce this for flush. Seeing if there are more cases when this can happen.  Yes, I think we can use didRefresh for triggering syncSegments. We should trigger only if didRefresh is true.

Post merge main branch build failed.


feat(button): add isLoading prop

✨Button - add isLoading prop
TASK:  #192
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Only
[ ] Refactor

Description, Motivation and Context
Add a isLoading prop in Button component
Screenshots - Animations

Codecov Report

Merging #275 (6354ad0) into main (06b6f7c) will increase coverage by 0.00%.
The diff coverage is 90.90%.

@@           Coverage Diff           @@
##             main     #275   +/-   ##
=======================================
  Coverage   75.66%   75.67%
=======================================
  Files         140      140
  Lines        2268     2273    +5
  Branches      676      675    -1
=======================================
+ Hits         1716     1720    +4
- Misses        548      549    +1
  Partials        4        4

Impacted Files
Coverage Δ

packages/react/src/button/button.tsx
94.44% <90.90%> (-2.33%)
:arrow_down:

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 06b6f7c...6354ad0. Read the comment docs.

Hey @DaniAcu any update on this? 🙌🏻

Why not just loading? I think it's more consistent with other props. It's not isDisabled, isClickable, etc.


Use all valid routes during blinded path construction

Fixes #9076
MaxNumPaths restriction moved from FindBlindedPaths to BuildBlindedPaymentPaths this way we can interact  through all possibly routes.
If the reviewers agreed to this approach we will have to modify the TestFindBlindedPathsWithMC because it is considering that MaxNumPaths retriction is applied on FindBlindedPaths function.

This seems like the simpler solution to implement. Since we’re already querying all routes in FindBlindedPaths, it makes sense to just return them. However, it might be worthwhile to introduce a hard constant cap during the pathfinding process to prevent the array size from growing exponentially. Currently, the algorithm explores all possible paths within the given constraints. Instead, we could stop after finding, say, 100 routes in total, and then apply filtering to select the MaxNumPaths in BuildBlindedPaymentPaths, as proposed in this PR.

This seems like the simpler solution to implement. Since we’re already querying all routes in FindBlindedPaths, it makes sense to just return them. However, it might be worthwhile to introduce a hard constant cap during the pathfinding process to prevent the array size from growing exponentially. Currently, the algorithm explores all possible paths within the given constraints. Instead, we could stop after finding, say, 100 routes in total, and then apply filtering to select the MaxNumPaths in BuildBlindedPaymentPaths, as proposed in this PR.
Probably the constraints of the Min/Max Hop number prevents these high numbers for routes but I think having a cap is kind of a sanity check.

Before the proposed changes we are querying all routes,  sorting the routes based on probability and them capping them based on MaxNumPaths before returning from FindBlindedPaths. After the changes we are capping them just one step later  after  FindBlindedPaths return them to BuildBlindedPaymentPaths. The hard constant cap should be introduced after the sorting! I might be wrong, but it seems that we are getting too little introducing it!

The hard constant cap should be introduced after the sorting! I might be wrong, but it seems that we are getting too little introducing it!

I think we need to do way more when creating the path rather than creating the path and later checking the probability this does not seem efficient. I think we should build the path in the first place based on probability not just running a depth first search on all available paths. But I am not sure how difficult that might be because we went with the rescurison approach.

The hard constant cap should be introduced after the sorting! I might be wrong, but it seems that we are getting too little introducing it!

I think we need to do way more when creating the path rather than creating the path and later checking the probability this does not seem efficient. I think we should build the path in the first place based on probability not just running a depth first search on all available paths. But I am not sure how difficult that might be because we went with the recursive approach.

I think we might compute the total probability and sort the path list during the creation of it (into processNodeForBlindedPath), but I'm not sure it's worth it. What do you think?

yes let's keep it as is and focus only on the underlying issue.

@ziggie1984: review reminder

unit-test fail !


Replace TaskExecutor with Box

Attempt at https://github.com/paradigmxyz/reth/issues/11037

Tried changing NodeBuilder and hit the limitation mentioned in https://github.com/paradigmxyz/reth/issues/11037#issuecomment-2361062440
no method named `spawn_with_graceful_shutdown_signal` found for struct `Box<dyn TaskSpawner>` in the current scope
method not found in `Box<dyn TaskSpawner>`rustc[Click for full compiler diagnostic](rust-analyzer-diagnostics-view:/diagnostic%20message%20%5B2%5D?2#file%3A%2F%2F%2FUsers%2Festensen%2FDeveloper%2Freth%2Fcrates%2Fnode%2Fmetrics%2Fsrc%2Fserver.rs)


Add summary to new evaluator cli

Here's what it looks like:
icicle: Facts
icicle: -----
icicle: default:injury = 12 facts
icicle: total          = 12 facts
icicle: throughput     = 5403 facts/s
icicle:
icicle: Entities
icicle: --------
icicle: total          = 3 entities
icicle: throughput     = 1351 entities/s
icicle:
icicle: Output
icicle: ------
icicle: total          = 3 rows
icicle: throughput     = 1351 rows/s

! @amosr @tranma

it's shiny
👍


Cluster stuck in "Updating" state forever when trying to restore from Snapshot.

Rancher server version - build from master - 776b0e457
Steps to reproduce the problem:
Create a 3 node (all roles) cluster with K8s version - 1.15.10
Deploy few workloads.
Take a snapshot - S1.
Upgrade K8s version of the cluster to - 1.16.7 and also set service_node_port_range: 30000-32000 for kube-api server in `edit as yaml".
Deploy few workloads.
Restore Snapshot with "all" option.
Cluster gets to "Updating" state and gets stuck in this state forever with following error message:
Cluster must have at least one etcd plane host: failed to connect to the following etcd host(s) [<ip>]; Cluster must have at least one etcd plane host: failed to connect to the following etcd host(s) [<ip>]

@luthermonson Can you confirm that this has nothing to do with the new restore logic, but the actual "upgrade" logic for a cluster?

This might be related: https://github.com/rancher/rancher/issues/25647

@deniseschannon all my chagnes are doing is storing information about the cluster and passing it to RKE and triggering a restore. I don't really know much about this, if you want me to look into it let me know but i'd be starting from zero.

Thanks @luthermonson. This looks related to "upgrade" logic which would be @mrajashree and @kinarashah

Closing in favor of https://github.com/rancher/rancher/issues/25637 as the error message is the same.


Create cuda.vim

Added maker for cuda: nvcc.

Please also add it to the list of makers in the README.

Done.

Thanks!


uint8 array support

This PR adds code to v8go to convert []uint8 array from javascript to golang and back,
and also an Isolate method to allow throwing javascript exceptions from golang callbacks.
Test case resides in file array_test.go.

There is some great code here; but I'm unsure about this API as it's not following the V8 API (in hindsight I think this is also true for BigInt and maybe some of the other simple types)
I would like to see the API reflect the inheritance structure that exits in the V8 API eg: https://v8.github.io/api/head/classv8_1_1Uint8Array.html
Similar to how we deal with Object and Function, Array and ArrayBuffers should follow suit.
Once that API is in place we can add convenance methods between the Go world and the V8 world.
Although there is an overhead, I would avoid shared memory for the slices as it can be hard for callers to free allocated memory; we want the public API to be as Go friendly as possible.

This is just wonderful PR! Cant wait to have this merged. 👍

@teuget btw I did messed around with changes. Seems to me that v8go.NewObject doesnt work elsewhere except in the context of NewFunctionTemplate.
try this:
ctx, err := v8go.NewContext()
require.NoError(t, err)
v8go.NewObject(ctx)

but seems that c->Enter(); and c->Exit(); does the job for NewObject as well.

Richard,
Great to hear that Enter/Exit fixes the issue. That was also the first
thing I was going to try when I got the chance.
Thanks,
Tom
On Tue, 6 Jul 2021 at 14:06, Richard Hutta @.***> wrote:

but seems that c->Enter(); and c->Exit(); does the job for NewObject as
well.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rogchap/v8go/pull/143#issuecomment-874702852, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACFKA4726JWGAU5P74J2NCTTWLWVXANCNFSM46JJSGVA
.

@sharmaashish13 @teuget are you still on this? I think this is a great addition and would make this library so much better. I actually need workarounds for this as of now and this being finished would be a charm! ❤

@sharmaashish13 @teuget I agree. I'd also dig String arrays.

+1 in wanting to see this get merged


save IP address

Is your feature request related to a problem? Please describe.
every time I want to get a log using

smartthings edge:drivers:logcat

there is a prompt

Enter hub IP address with optionally appended port number:

Describe the solution you'd like
it would be great if the app can save this information after a first input. The majority of users have only one hub and the IP address is rather constant.
Describe alternatives you've considered
as an alternative, there could be a key for
edge:drivers:logcat -IP <IP_ADDRESS>

@veonua Thanks for reaching out. The logcat command does accept a flag --hub-address to specify the IP address as seen in the help output of the command or in our reference here. We've found this is handy when combined with shell command history to save it for future runs as you mention.
We are also planning to add automatic hub discovery to this command in a future release so that the local hub can be resolved without explicit input.


TextPresenter is rendered before TemplateBinding of SelectionEnd to TextBox is updated when invoking SelectAll just after updating visibility

Describe the bug
From what I can tell, it seems like the TemplateBinding used to bind a TextBox's SelectionEnd property to the TextPresenter's SelectionEnd property does not get updated quickly enough when the TextBox's SelectionEnd changes, and as a result, the TextPresenter is rendered with a previous value.
To Reproduce
Set a TextBox's IsVisible property to true (when it was previously false), then set the Text to anything, then Focus() it and then invoke SelectAll(). It will select an amount of characters equal to I assume the length of the Text before IsVisible was set to false
Expected behavior
It should select the exact number of chars
Avalonia version
11.2.999-cibuild0048720-alpha
OS
Windows
Additional context
Here is a debug screenshot, the evaluator says the TextBox's selection end is 9, but the TextPresenter's is 5

Workaround:
textBox.Focus();
textBox.SelectAll();

TextPresenter? presenter = textBox.FindDescendantOfType<TextPresenter>(false);
if (presenter != null) {
    presenter.CoerceValue(TextPresenter.SelectionStartProperty);
    presenter.CoerceValue(TextPresenter.SelectionEndProperty);
}

You are assuming text is also synced in time. I guess the TextPresenter still holds the old value. It was never a good idea to sync state via bindings.


jointsOrder and jointSet have different sizes

When running main.py with Demo data I have used in Moco (model and mot files), I get the following error in the log files before it even starts the optimization process:
  File "osimtocppexe.py", line 81, in <module>
  File "utilities.py", line 548, in writeCppFile
AssertionError: jointsOrder and jointSet have different sizes
[77812] Failed to execute script 'osimtocppexe' due to unhandled exception!

Do you have any idea how to solve this?
I would have liked to debug it myself, but I don't really know how python files are handled within Matlab. Changes to the Utilities.py file do not seem to take effect.

So I investigated it a little more, and this issue happens when the model dll does not exist (osim2dll.m, line 39):
~isfile(fullfile(S.misc.subject_path,S.misc.external_function))
I'm suprised jointsOrder and jointSet have different sizes, since:

I defined jointsOrder in main.m: S.Cpp2Dll.jointsOrder = {'ground_pelvis', 'hip_r','walker_knee_r','patellofemoral_r','ankle_r','subtalar_r','mtp_r','hip_l','walker_knee_l','patellofemoral_l','ankle_l','subtalar_l','mtp_l','back','acromial_r','elbow_r','radioulnar_r','radius_hand_r','acromial_l','elbow_l','radioulnar_l','radius_hand_l'};
And checking jointSet in Python OpenSim ([j.getName() for j in inModel.getJointSet()]) also gives the exact same strings.

Thanks in advance, any help would be much appreciated!

Looks like your error occurred inside the OpenSimAD submodule.

When running main.py with Demo data I have used in Moco (model and mot files), I get the following error in the log files before it even starts the optimization process:

A slightly adapted (and scaled) version of the model you use is included as example with OpenSimAD, so you could start from that one.
OpenSimAD cannot handle coupling constraints for the inverse dynamics. Since that model uses those for the patellofemoral joint, that joint and the patella are ignore for the inverse dynamics.

I defined jointsOrder in main.m: S.Cpp2Dll.jointsOrder = {'ground_pelvis', 'hip_r','walker_knee_r','patellofemoral_r','ankle_r','subtalar_r','mtp_r','hip_l','walker_knee_l','patellofemoral_l','ankle_l','subtalar_l','mtp_l','back','acromial_r','elbow_r','radioulnar_r','radius_hand_r','acromial_l','elbow_l','radioulnar_l','radius_hand_l'};

You could try:

Also define S.Cpp2Dll.coordinatesOrder, and make sure that the order is consistent with the joint order.
Leave out the patellofemoral joints and coordinates.

I would have liked to debug it myself, but I don't really know how python files are handled within Matlab. Changes to the Utilities.py file do not seem to take effect.

Handling python files in matlab requires some extra work, so we use compiled python files. You can find them in the folder you selected for S.Cpp2Dll.PathCpp2Dll_Exe.


error Could not find the following native modules:

Got it.But,

' react-native start --reset-cache ' doesn't work

Actually,it doesn't work.けど、いい勉強になった、ありがたい


Get configure values

It is possible to configure certain aspects of uvgRTP using the configure_ctx()-function in media_stream, but there is no way to programmatically query these values for the user. A new function should be added for this task.
The first though for the name is configure_value(), but I'm open to other suggestion. I guess the traditional way to name these are set_conf_value and get_conf_value, which could also be done, just make the current function call one of those and remove it from documentation.

Implemented by 655294e


Equality of Int8Array

Is your feature request related to a problem? Please describe. A clear and
concise description of what the problem is. Ex. I'm always frustrated when [...]
equal(new Int8Array(), new Int8Array()) // true

:tada: This issue has been resolved in version 1.4.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 1.4.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Alert messages covering the tab bar is just a bad idea

I've been trying to switch to VS Code for a while, but one single annoyance makes me stop using it: any kind of error or informational message covers the tab bar, making me unable to do anything unless I dismiss it.  This could be a plugin announcing a new feature, or a plugin announcing that there is a warning.  For example, Unity projects always announce warnings when they build, so for every build, the tabs hide behind a message.
One possible solution: an icon appears in the status bar when errors appear. Clicking on it shows them. Clicking outside hides them.

For those who want to know the shortcut to close them it's "shift+esc"!

+1 this is kind of driving me batty! It is an underwhelming UX element because it doesn't add much help e.g. hyperlink over to build output, as well as it just sort of sticking around in my face.
Another hack fix suggestion: allow the status bar to expand to 2 lines, with the error message being reported in there on its own line. (Thus not as an overlay, as something that expands and reduces the size of the other panels that are all tiled-laid-out together in the window.)
(Thanks for all your great work. I desperately want F# to be able to rule the world, so I really want VSCode to go gangbusters. :-)

alerts/message bar/ popups whatever you guys are calling it... make it configurable:
messages.enable = true/false
messages.showAs = [Popover|StatusBarIconPopover|DebugLogEntry]
messages.statusBarIndicator = true/false

Closing as dup of https://github.com/Microsoft/vscode/issues/1135


DOC:  Enhance README with Troubleshooting Section

What's wrong with the existing documentation
The current README lacks a troubleshooting section that addresses common bugs users may encounter. Adding this section would enhance user experience by providing guidance on resolving issues like search functionality and filter malfunctions.
Suggested Additions:

Troubleshooting Section:
Let's enhance the README by adding a Troubleshooting section. This will help users quickly find solutions to common issues they might encounter while using the application. It would be great to list some common problems along with their solutions. Additionally, we can mention any known limitations of the application to set clear expectations.

Visual Aids:
Incorporating relevant screenshots will greatly improve the clarity of our documentation. These visuals can help users understand the context better and navigate the application more effectively. Let’s make sure to include screenshots that highlight key features or showcase issues.

Add ScreenShots
No response
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

I’d love to take on this task! Could you please assign me to this issue?
Thank you!

I want to work on it. Can you please assign it to me?
And please add gssoc-ext label


Pytest Timezone Warning Fixed

While running tox -e py36 was getting fludded with pytest warnings like this:
readthedocs/api/v3/tests/test_projects.py::APIEndpointTests::test_unauthed_others_projects_detail
  /home/saad/dev/readthedocs.org/.tox/py36/lib/python3.6/site-packages/django/db/models/fields/__init__.py:1451: RuntimeWarning: DateTimeField User.date_joined received a naive datetime (2019-04-29 10:00:00) while time zone support is active.
    RuntimeWarning)
  /home/saad/dev/readthedocs.org/.tox/py36/lib/python3.6/site-packages/django/db/models/fields/__init__.py:1451: RuntimeWarning: DateTimeField Project.pub_date received a naive datetime (2019-04-29 10:00:00) while time zone support is active.
    RuntimeWarning)
  /home/saad/dev/readthedocs.org/.tox/py36/lib/python3.6/site-packages/django/db/models/fields/__init__.py:1451: RuntimeWarning: DateTimeField Project.modified_date received a naive datetime (2019-04-29 12:00:00) while time zone support is active.
    RuntimeWarning)
  /home/saad/dev/readthedocs.org/.tox/py36/lib/python3.6/site-packages/django/db/models/fields/__init__.py:1451: RuntimeWarning: DateTimeField Project.pub_date received a naive datetime (2019-04-29 10:00:00) while time zone support is active.
    RuntimeWarning)
  /home/saad/dev/readthedocs.org/.tox/py36/lib/python3.6/site-packages/django/db/models/fields/__init__.py:1451: RuntimeWarning: DateTimeField Project.modified_date received a naive datetime (2019-04-29 12:00:00) while time zone support is active.

made the datetime objects timezone aware to avoid getting these warnings.

Simple enough 👍


Extraction blocking

Implemented blocking in the extraction command.
The extraction command was previously run independently on a separate thread, which allowed other commands to be run from the CLI in parallel, potentially causing problems. This commit introduces a blocking call so that the main thread responsible for the CLI waits to join the extraction thread.

@lucaro thoughts? My intuition is that the CLI is specifically supposed to be non-blocking, but i can see the argument that it is also supposed to only return when the actual CLI call is done.

Yes, having the CLI active was the idea, in order to be able to interact with the stack even when it is busy. In practice, this is however usually not very helpful as the log writes to the same stream as the CLI, but that's an independent problem...

Upon further discussion, both the import and setup command are blocking. So I'd argue that to avoid confusing the user (and accidents when executing stuff in parallel), we make the extraction command blocking as well. If users want to execute additional commands, they can launch a second CLI or simply launch the extraction-command via jar.

Hmm, can we at least add a possibility to interrupt the blocking commands? That would probably also be useful for the import process, in case one notices something being wrong half way through.

If something goes wrong during the import process, exiting the cli is anyway necessary probably since there need to be changes to multiple things. We're also not sure how an abort would be structured since Cineast currently doesn't do transactions. I'm therefore merging this PR since it is definitely an improvement over the current behavior.


feat: rework mobile filter

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (link to Jira or GitHub issue)
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[ ] I have updated the CHANGELOG
[x] I have requested at least 1 reviewer for this PR
[ ] I have made corresponding changes to the documentation

Just functionality not styled yet

@FrantisekMichalSebestyen Forgot one more thing: please name the branch by the JIRA task ID if possible


Multipart form data broken if used with scripting

Description

When I have a multipart form data and I use a script to edit the request (without editing the body), the body is modified to "{string of the body}". This breaks the multipart form
Steps to Reproduce

Add a script (the default one has the bug so no need to edit it)

Enable the request modification (the request checkbox on the top of the script editor)

Do a multipart form request

Current Behavior

The request body is encoded as a json (if im not wrong
Expected Behavior

keep the text as-is
Environment

App version: 2.11.1
Windows/Linux version: Windows 11 Pro

just a note about adding scripting: this is so nice, thanks for the work, it just works well in most cases and allow so much possibilities, thanks

Thanks @mariusvn. It's a bug. Let us fix it @kics223w1 and send you a Beta build 👍

It's fixed @mariusvn we will release it in the new update. ETA this week 👍

nice to hear 👍

@mariusvn new build is released v2.12.0  🎉
If you don't mind, Please give it a try and share with me the result 👍

I do not have the bug anymore, thanks for the reactivity !

Happy to hear that 👍🏻


Need assistance with Resume Option

Hello All,
I came across code sample for resume for player.js on
Being a newbie , I am not able to get it to work and I get the below issue where the video does not load , not sure if I am missing something

My end goal is to use the HTML and JS code in one of my react( SPFx Projects) . I googled a lot for a code snippets/Samples with no luck , also I found it challenging to understand the js code to achieve this
Would really appreciate if someone here could help me implement it in reactjs application

@vivekmurli it seems that this library is not what you're looking for.

@mightyiam Not sure if I fully understand what you meant
Can you please help me with the end goal I'm trying to achieve?

@vivekmurli sure. I'll help you. Find an appropriate place to post your question and privately send me a link to it. Also, feel free to ask me anything live on my channel.


Move the repo to eOS-themes

Transfer it to eOS-themes account please: https://github.com/eOS-themes

@crutchcorn did you get my invite?

Yes I did.

Thanks!


Missing dictionary unpacking in oauth callback function?

Not sure whether this works in the original template, but after adding oauth functionality to my wiki and configuring my (already modified) app to use it, the following error occured:
File "...app.py", line 216, in oauth_callback
    request_token = mwoauth.RequestToken(oauth_request_token)
TypeError: __new__() missing 1 required positional argument: 'secret'

I fixed this error in my app by unpacking the dictionary in the following function call:
https://github.com/lucaswerkmeister/cookiecutter-toolforge/blob/1577638105b03f0a8ec52768d51c0f3e0b25d71c/{{cookiecutter.tool_identifier}}/app.py#L183
request_token = mwoauth.RequestToken(**oauth_request_token)
As I said: I already modified some parts of the template before, and I'm not using a Wikimedia wiki, but this looks like it could also lead to an error in the default setup.

Hm, you’re right – looks like I accidentally broke this in 0538548d2f4d55f6362fb2bc237618c5b46c6958. Thanks!


feat(web-components): #734 add support for an icon inside of ic-tooltip

Summary of the changes
I have added support for an icon inside of tooltips. When using an icon, the label of the tooltip becomes left aligned instead of centered, and the tooltip stays inline with the first line of text.
You are able to provide some alt text for icon via the icon-alt-text prop. If you do not provide alt text the icon is hidden from SRs, but if alt text is given, then the icon is available to SRs.
Related issue
#734
Checklist
(I'm currently working my through this)
General

[X] Changes to docs package checked and committed.
[X] All acceptance criteria reviewed and met.

Testing

[X] Relevant unit tests and visual regression tests added.
[X] Visual testing against Figma component specification completed.

Accessibility

[x] Accessibility Insights FastPass performed.
[x] A11y unit test added and yields no issues.
[x] A11y plug-in on Storybook yields no issues.
[ ] Manual screen reader testing performed using NVDA and VoiceOver.
[x] Manual keyboard testing for keyboard controls and logical focus order.
[x] Correct roles used and ARIA attributes used correctly where required.
[x] Logical heading structure is maintained, and the HTML elements used for headings can be changed to fit within the wider page structure.

Resize/zoom behaviour

[x] Page can be zoomed to 400% with no loss of content.
[x] Screen magnifier used with no issues.
[x] Text resized to 200% with no loss of content.
[ ] Text spacing increased as per the WCAG 1.4.12 success criterion with no loss of content.

System modes

[x] Browser setting 'prefers reduced motion' tested. No animations or motion visible whilst this setting is on.
[x] Windows High Contrast mode tested with no loss of content.
[x] System light and dark mode tested with no loss of content.
[ ] Browser support tested (Chrome, Safari, Firefox and Edge).

Testing content extremes

[x] Min/max content examples tested with no loss of content or overflow.
[x] All prop combinations work without issue.
[x] Tested for FOUC (Flash of Unstyled Content) in both SSR (Server-Side Rendering) and SSG (Static Site Generation) settings.
[x] Controlled and uncontrolled input components tested.

Screenshots

Thank you very much for your submission, I've left a few comments and I think @GCHQ-Designer-777 will need to have a quick look :)

In terms of design I'm happy to approve.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 8 committers have signed the CLA.:x: GCHQ-Developer-530:x: github-actions[bot]:x: MI6-286:x: GCHQ-Developer-299:x: ad9242:x: GCHQ-Developer-741:x: dependabot[bot]:x: ab2583You have signed the CLA already but the status is still pending? Let us recheck it.

Hi @ab2583, there's been no activity on this PR for a while. Please leave a comment if you're still working on it

Hi @ab2583, as this PR has been inactive for 2 months, I'm going to close this PR. Feel free to contribute to our project in the future 😃


Build only the default run binary

I'd like a way to build only the default run binary, i.e. what cargo run runs. (I'm writing a subcommand that lets the user run the various binaries cargo builds under a time-travelling debugger. By default, I want to build and run only the default run binary)
Describe the solution you'd like
Either cargo build --default-bin, or some way to get the name of the default binary.
(I think --no-run is being phased out. If not, cargo run --no-run could also be added, although it sounds a little silly.)
Notes
If this is a wontfix I'd like to confirm that the algorithm used by cargo run is as follows.

main.rs
bin/foo.rs if only one exists
value of default-run key in manifest (requires #9497 to get from cargo metadata)

We discussed this in today's @rust-lang/cargo meeting. We'd be fine with an option to build what cargo run would run, but it should definitely be a cargo build option (e.g. --default-bin); we felt it would be confusing to have cargo run --no-run when what you're actually asking for is to build and not run.
On the other hand, you also filed https://github.com/rust-lang/cargo/issues/9497 to provide this information in cargo metadata, and our general sentiment in the meeting was that if metadata would suffice we'd be much happier providing it that way and not adding a new command-line option to cargo build.
Would metadata suffice for your use case?

Hi Josh, sorry I missed your reply. Metadata would be sufficient.


Are n>1 queries supported with the server?

System Info
OS Version:
Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal
8 A-100 GPUS
Information

[X] Docker
[ ] The CLI directly

Tasks

[X] An officially supported command
[ ] My own modifications

Reproduction
I'm running docker run --gpus all --shm-size 1g -p 8070:80 -v $volume:/data -e HUGGING_FACE_HUB_TOKEN= ghcr.io/huggingface/text-generation-inference:0.9.3 --model-id $model --num-shard $num_shard --max-input-length 4000 --max-total-tokens 4096
I'm running this on the latest commit: https://github.com/huggingface/text-generation-inference/commit/1da642bd0e6de28ef499f17cd226264f3ccdc824
Expected behavior
I was wondering if n > 1 queries are supported with the server currently based on how I'm passing in the kwargs to the server.
For instance, this is part of my current generate function that takes in kwargs that would include n queries being set along with other parameters. So if n > 1, is this supported with the text generation inference server currently with batched queries to the server?
payload = {         "inputs": prompt,         "parameters": {             **kwargs,             "do_sample": False,             "temperature": 0.7,             "top_p": 0.9,             "stop":["\n", "\n\n"]             }         }
response = requests.post(self.url + "/generate", json=payload, headers=self.headers)

n > 1 queries are supported with the server currently based on how I'm passing in the kwargs to the server

Do you mean sending a list of prompts ? Like ["Hello", " Good morning"] and expect to receive 2 different conversations ?
This is currently not supported and not planned.
Sending 2 different queries should still end up batching anyway.
Adding support would mean complexifying a lot the streaming support (currently we can drop requests when 1 query is finished).
Also during the stream we would need to give a lot more information about for which query a token is linked.
What is your actual underlying problem without it ? There might be other ways around it.

Not quite. We want to send a single prompt and generate more than one completion, @Narsil

We have best_of: n  which will generate n replies and choose the best (logits wise).
We do not have something like num_return_sequences: 5 or num_beams: 5 at the moment.

Thanks for the fast reply. That's a pretty serious limitation for things like doing chain of thought and self-consistency, @Narsil

Hmm.. seems I forgot about it  num_return_sequences does exist (it's just best_of).
curl <IP_ADDRESS>:8080/generate     -X POST     -d '{"inputs":"parameters":{"max_new_tokens":30, "best_of": 2, "top_k": 20, "details": true}}'  -H 'Content-Type: application/json'

Will work.

(By doing that you cannot use the streaming option though obviously)

Awesome! Thanks @Narsil !
So... best_of=5 is actually going to return 5 things, if details=True? This sounds great for us, but maybe docs need to clarify this.

Indeed.
And yes we are in the process to clear up docs and make them better !
In the meantime: https://github.com/huggingface/text-generation-inference/blob/main/clients/python/text_generation/client.py#L61

@Narsil we're seeing
Failed to parse JSON response: {"error":"Input validation error: `best_of` must be > 0 and <= 2. Given: 5","error_type":"validation"}

Only 1 or 2 is accepted :sweat:

@okhat This is because the default for max_best_of is 2.
Passing --max-best-of with the docker run command will fix this issue:
docker run --gpus all --shm-size 1g -p 8080:80 -v $volume:/data ghcr.io/huggingface/text-generation-inference:1.0.0 --model-id $model --max-best-of 100

Then, if you request best_of=5, you will have 4 completions inside the ['details']['best_of_sequence'] which will be different from the one inside ['generated_text'].

Thanks a lot Robert!

n > 1 queries are supported with the server currently based on how I'm passing in the kwargs to the server

Do you mean sending a list of prompts ? Like ["Hello", " Good morning"] and expect to receive 2 different conversations ? This is currently not supported and not planned. Sending 2 different queries should still end up batching anyway.
Adding support would mean complexifying a lot the streaming support (currently we can drop requests when 1 query is finished). Also during the stream we would need to give a lot more information about for which query a token is linked.
What is your actual underlying problem without it ? There might be other ways around it.

How does batching work internally. If I send in 1200 requests through AsyncClient, will it automatically get batched internally


changelog support

using https://github.com/RedInquisitive/3DS-Homebrew-Menu-Wiki/blob/master/Updating/Updating-Changelog.md
DPad Left/Right changes beta versions
DPad Up/Down scrolls (if necessary) by changing starting line number
show the changelog for the version directly after the user's installed one (i.e. if user has 110, display 111)
might require a rewrite of how menus are displayed (which would easily enable adding other options)

Just another thought about this, at some point this will no longer be in beta. It might be worth bearing this in mind when you write your code to parse the markdown file.

but exactly when would that be? pushing a change to look for "## Release" as well wouldn't be too difficult.
you could also, once it's no longer out of beta, rename the page to Updating-Changelog-Beta.md and put all the release ones to the current filename.

alternatively you could move it to -Beta right now, to retain compatibility with older versions of the updater which people might still have for some time.

Great ideas! Ok, I think what we need is the following:

Rename Updating-Changelog.md to Updating-Changelog-Beta.md
Create Updating-Changelog-Release.md as a placeholder (I won't add a sidebar link in the wiki, and I'll just put a coming soon message for now in case somebody finds it)
The beta changelog will continue to use "## Beta xxx" as the version number
The release changelog will, eventually, use "## Release xxx" as the version number

This way you can account for this formatting when updating the updater. The only issue now is how will the updater know whether the latest update is a beta or a release? In other words, how will it know which markdown file to look at? Perhaps a flag in the PHP script could be set to show that the launcher is still in beta, and cause the beta md to be used, and when we need to switch to using the release md this flag could be removed (or set to false) so the release changelog would be used.
If that all sounds ok then I'll make the changes to the wiki now.

The only issue now is how will the updater know whether the latest update is a beta or a release?

I'm going to look at this one separately. maybe a change to version.h is needed? inside the launcher itself, it doesn't do much other than display a number.
maybe you could change it to something like #define currentversion "b129" if possible, and for releases just drop the b (or change it to r, or v, or whatever, just tell me). I would need to make a quick change to the updater so it would remove the quotes from 'The latest version is "b129".'

In other words, how will it know which markdown file to look at?

look above!
if it's a beta then it would look for -Beta. if it's a release then it would look for -Release.

Ok, I'll change version.h to define the version as a string and include a 'b' at the beginning of the version. That way you can check for the presence of a b in the version number check in order to establish whether or not the version number refers to a beta.

make sure that it works and displays the version in the launcher properly! I don't want to work on top of something that might break and be changed.

be sure to also check how the current updater (2.1) interprets the locally installed version.

Ok, I've just changed it to a string with 'b' at the beginning. It displays correctly in the launcher, and Updater 2.1 correctly states "Installed: b128" at the top :)

which one does it say?

Installed: "b128"
Installed: b128

and

The latest version is "b128".
The latest version is b128.

It says:
"Installed: b128"
I haven't pushed this update yet as I'm working on something else as well, so I don't yet know how it will format the latest version string. I'll check this and let you know in a little while.

can you quickly post the contents of your local version.h?

Sure:
#define currentversion "b128"

oh wait, I got an idea. the launcher isn't putting the quotes in glinfo.txt but they would appear in the updater. I got this now I think.

That's right, it's logging the value of the string, hence there are no quotes. By the way, I've just updated the wiki so it contains two separate markdown files for the changelog:

Updating-Changelog-Beta.md - currently linked from the sidebar
Updating-Changelog.md - not currently linked from the sidebar, it's just there as a placeholder for when the launcher comes out of beta

I thought it was going to be -Release. changed your mind? both are fine, by the way.

I think I prefer to leave it without -Release, as the beta changelog will be there as a legacy so it doesn't need to be differentiated to that extent if that makes sense.

I'm ready to push an update which will include the new version string formatted with the leading 'b'. Is this ok?

it should work. the quotes around the version should only be cosmetic and I'll include it in another update.

Ok! Here goes :)

Done. New update is now on GH and version.h has been updated. The updater now shows the following:
The latest version is "b129"

Oh, and while downloading it says
Downloading "b129", be patient!

But it does work ;)

that's fine. I will probably add very basic changelog support in a 2.2 or something (only showing the latest version and stuff), and then redo all of it for a 3.0.

No worries - well the behind-the-scenes stuff is set up for now, so hopefully it's all ready for you whenever you want to start working on this :)

still not satisfactory but good enough for the time being.


"vagrant provision" errors out with "The device pointed by OSD_DEVICE (/dev/sdc) doesn't exist !""

failed: [osd0] (item=[u'/dev/sdc', {'_ansible_parsed': True, u'cmd': u"lsblk -o PARTLABEL /dev/sdc | grep -sq 'ceph'", u'end': u'2017-07-28 22:30:42.199039', '_ansible_no_log': False, u'stdout': u'', '_ansible_item_result': True, u'rc': 1, 'item': u'/dev/sdc', u'delta': u'0:00:00.004360', u'stderr': u'lsblk: /dev/sdc: not a block device', u'changed': True, 'invocation': {'module_name': u'command', u'module_args': {u'warn': True, u'executable': None, u'_uses_shell': True, u'_raw_params': u"lsblk -o PARTLABEL /dev/sdc | grep -sq 'ceph'", u'removes': None, u'creates': None, u'chdir': None}}, 'stdout_lines': [], 'failed_when_result': False, u'start': u'2017-07-28 22:30:42.194679', u'warnings': [], 'failed': False}]) => {
    "changed": true,
    "cmd": "docker run --net=host --pid=host --privileged=true --name=\"ceph-osd-prepare-ceph-mon1-devdevsdc\" -v /etc/ceph:/etc/ceph -v /var/lib/ceph/:/var/lib/ceph/ -v /dev:/dev -v /etc/localtime:/etc/localtime:ro -e \"OSD_DEVICE=/dev/sdc\" -e \"OSD_JOURNAL_UUID=$(python -c \"import uuid; print uuid.uuid5(uuid.NAMESPACE_DNS, 'cd0a3c8721ac05fdb3b30cf35950f92f/dev/sdc')\")\" -e CEPH_DAEMON=OSD_CEPH_DISK_PREPARE -e CLUSTER=ceph -e OSD_JOURNAL_SIZE=100 -e OSD_FORCE_ZAP=1 \"docker.io/ceph/daemon:latest\"",
    "delta": "0:00:00.389031",
    "end": "2017-07-28 22:30:44.175371",
    "failed": true,
    "invocation": {
        "module_args": {
            "_raw_params": "docker run --net=host --pid=host --privileged=true --name=\"ceph-osd-prepare-ceph-mon1-devdevsdc\" -v /etc/ceph:/etc/ceph -v /var/lib/ceph/:/var/lib/ceph/ -v /dev:/dev -v /etc/localtime:/etc/localtime:ro -e \"OSD_DEVICE=/dev/sdc\" -e \"OSD_JOURNAL_UUID=$(python -c \"import uuid; print uuid.uuid5(uuid.NAMESPACE_DNS, 'cd0a3c8721ac05fdb3b30cf35950f92f/dev/sdc')\")\" -e CEPH_DAEMON=OSD_CEPH_DISK_PREPARE -e CLUSTER=ceph -e OSD_JOURNAL_SIZE=100 -e OSD_FORCE_ZAP=1 \"docker.io/ceph/daemon:latest\"",
            "_uses_shell": true,
            "chdir": null,
            "creates": null,
            "executable": null,
            "removes": null,
            "warn": true
        },
        "module_name": "command"
    },
    "item": [
        "/dev/sdc",
        {
            "_ansible_item_result": true,
            "_ansible_no_log": false,
            "_ansible_parsed": true,
            "changed": true,
            "cmd": "lsblk -o PARTLABEL /dev/sdc | grep -sq 'ceph'",
            "delta": "0:00:00.004360",
            "end": "2017-07-28 22:30:42.199039",
            "failed": false,
            "failed_when_result": false,
            "invocation": {
                "module_args": {
                    "_raw_params": "lsblk -o PARTLABEL /dev/sdc | grep -sq 'ceph'",
                    "_uses_shell": true,
                    "chdir": null,
                    "creates": null,
                    "executable": null,
                    "removes": null,
                    "warn": true
                },
                "module_name": "command"
            },
            "item": "/dev/sdc",
            "rc": 1,
            "start": "2017-07-28 22:30:42.194679",
            "stderr": "lsblk: /dev/sdc: not a block device",
            "stdout": "",
            "stdout_lines": [],
            "warnings": []
        }
    ],
    "rc": 1,
    "start": "2017-07-28 22:30:43.786340",
    "stderr": "",
    "stdout": "ownership of '/var/run/ceph/' retained as ceph:ceph\nownership of '/var/lib/ceph/bootstrap-mds/ceph.keyring' retained as ceph:ceph\nownership of '/var/lib/ceph/bootstrap-mds' retained as ceph:ceph\nownership of '/var/lib/ceph/bootstrap-osd/ceph.keyring' retained as ceph:ceph\nownership of '/var/lib/ceph/bootstrap-osd' retained as ceph:ceph\nownership of '/var/lib/ceph/bootstrap-rgw/ceph.keyring' retained as ceph:ceph\nownership of '/var/lib/ceph/bootstrap-rgw' retained as ceph:ceph\nownership of '/var/lib/ceph/mds/ceph-mds-ceph-mon1' retained as ceph:ceph\nownership of '/var/lib/ceph/mds' retained as ceph:ceph\nownership of '/var/lib/ceph/mgr/ceph-ceph-mon1' retained as ceph:ceph\nownership of '/var/lib/ceph/mgr' retained as ceph:ceph\nownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db/CURRENT' retained as ceph:ceph\nownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db/LOCK' retained as ceph:ceph\nownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db/000006.log' retained as ceph:ceph\nownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db/000005.ldb' retained as ceph:ceph\nownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db/MANIFEST-000004' retained as ceph:ceph\nownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db' retained as ceph:ceph\nownership of '/var/lib/ceph/mon/ceph-ceph-mon1/kv_backend' retained as ceph:ceph\nownership of '/var/lib/ceph/mon/ceph-ceph-mon1/keyring' retained as ceph:ceph\nownership of '/var/lib/ceph/mon/ceph-ceph-mon1' retained as ceph:ceph\nownership of '/var/lib/ceph/mon' retained as ceph:ceph\nownership of '/var/lib/ceph/osd' retained as ceph:ceph\nownership of '/var/lib/ceph/radosgw/ceph-mon1' retained as ceph:ceph\nownership of '/var/lib/ceph/radosgw' retained as ceph:ceph\nownership of '/var/lib/ceph/tmp' retained as ceph:ceph\n2017-07-28 22:30:44  /entrypoint.sh: static: does not generate config\n2017-07-28 22:30:44  /entrypoint.sh: ERROR- The device pointed by OSD_DEVICE (/dev/sdc) doesn't exist !",
    "stdout_lines": [
        "ownership of '/var/run/ceph/' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/bootstrap-mds/ceph.keyring' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/bootstrap-mds' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/bootstrap-osd/ceph.keyring' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/bootstrap-osd' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/bootstrap-rgw/ceph.keyring' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/bootstrap-rgw' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/mds/ceph-mds-ceph-mon1' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/mds' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/mgr/ceph-ceph-mon1' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/mgr' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db/CURRENT' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db/LOCK' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db/000006.log' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db/000005.ldb' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db/MANIFEST-000004' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/mon/ceph-ceph-mon1/kv_backend' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/mon/ceph-ceph-mon1/keyring' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/mon/ceph-ceph-mon1' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/mon' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/osd' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/radosgw/ceph-mon1' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/radosgw' retained as ceph:ceph",
        "ownership of '/var/lib/ceph/tmp' retained as ceph:ceph",
        "2017-07-28 22:30:44  /entrypoint.sh: static: does not generate config",
        "2017-07-28 22:30:44  /entrypoint.sh: ERROR- The device pointed by OSD_DEVICE (/dev/sdc) doesn't exist !"
    ],
    "warnings": []
}
        to retry, use: --limit @/root/ceph-ansible/site-docker.retry

Does the device exist? Could it be vdc instead?

The current output on osd0 does show that /dev/sdb exist as show by "sudo fdisk -l" command:
vagrant@ceph-osd0:~$ sudo fdisk -l
Disk /dev/sda: 40 GiB,<PHONE_NUMBER>0 bytes, 83886080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x3c9154bb
Device     Boot   Start      End  Sectors  Size Id Type
/dev/sda1  *       2048   999423   997376  487M 83 Linux
/dev/sda2       1001470 83884031 82882562 39.5G  5 Extended
/dev/sda5       1001472 83884031 82882560 39.5G 8e Linux LVM
Disk /dev/sdc: 10.8 GiB,<PHONE_NUMBER>0 bytes, 22528000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sdb: 10.8 GiB,<PHONE_NUMBER>0 bytes, 22528000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/vagrant--vg-root: 38.5 GiB,<PHONE_NUMBER>4 bytes, 80781312 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/vagrant--vg-swap_1: 1 GiB,<PHONE_NUMBER> bytes, 2097152 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
vagrant@ceph-osd0:~$

Scrolling up the output of "vagrant provision" a little bit also shows me the same error for /dev/sdb as below:
failed: [osd0] (item=['/dev/sdb', {'_ansible_parsed': True, u'cmd': u"lsblk -o PARTLABEL /dev/sdb | grep -sq 'ceph'", u'end': u'2017-07-31 18:00:04.004167', '_ansible_no_log': False, u'stdout': u'', '_ansible_item_result': True, u'rc': 1, 'item': u'/dev/sdb', u'delta': u'0:00:00.004310', u'stderr': u'lsblk: /dev/sdb: not a block device', u'changed': True, 'invocation': {'module_name': u'command', u'module_args': {u'warn': True, u'executable': None, u'_uses_shell': True, u'_raw_params': u"lsblk -o PARTLABEL /dev/sdb | grep -sq 'ceph'", u'removes': None, u'creates': None, u'chdir': None}}, 'stdout_lines': [], 'failed_when_result': False, u'start': u'2017-07-31 18:00:03.999857', u'warnings': [], 'failed': False}]) => {
"changed": true,
"cmd": "docker run --net=host --pid=host --privileged=true --name="ceph-osd-prepare-ceph-mon1-devdevsdb" -v /etc/ceph:/etc/ceph -v /var/lib/ceph/:/var/lib/ceph/ -v /dev:/dev -v /etc/localtime:/etc/localtime:ro -e "OSD_DEVICE=/dev/sdb" -e "OSD_JOURNAL_UUID=$(python -c "import uuid; print uuid.uuid5(uuid.NAMESPACE_DNS, 'cd0a3c8721ac05fdb3b30cf35950f92f/dev/sdb')")" -e CEPH_DAEMON=OSD_CEPH_DISK_PREPARE -e CLUSTER=ceph -e OSD_JOURNAL_SIZE=100 -e OSD_FORCE_ZAP=1 "docker.io/ceph/daemon:latest"",
"delta": "0:00:00.684612",
"end": "2017-07-31 18:00:05.798460",
"failed": true,
"invocation": {
"module_args": {
"_raw_params": "docker run --net=host --pid=host --privileged=true --name="ceph-osd-prepare-ceph-mon1-devdevsdb" -v /etc/ceph:/etc/ceph -v /var/lib/ceph/:/var/lib/ceph/ -v /dev:/dev -v /etc/localtime:/etc/localtime:ro -e "OSD_DEVICE=/dev/sdb" -e "OSD_JOURNAL_UUID=$(python -c "import uuid; print uuid.uuid5(uuid.NAMESPACE_DNS, 'cd0a3c8721ac05fdb3b30cf35950f92f/dev/sdb')")" -e CEPH_DAEMON=OSD_CEPH_DISK_PREPARE -e CLUSTER=ceph -e OSD_JOURNAL_SIZE=100 -e OSD_FORCE_ZAP=1 "docker.io/ceph/daemon:latest"",
"_uses_shell": true,
"chdir": null,
"creates": null,
"executable": null,
"removes": null,
"warn": true
},
"module_name": "command"
},
"item": [
"/dev/sdb",
{
"_ansible_item_result": true,
"_ansible_no_log": false,
"_ansible_parsed": true,
"changed": true,
"cmd": "lsblk -o PARTLABEL /dev/sdb | grep -sq 'ceph'",
"delta": "0:00:00.004310",
"end": "2017-07-31 18:00:04.004167",
"failed": false,
"failed_when_result": false,
"invocation": {
"module_args": {
"_raw_params": "lsblk -o PARTLABEL /dev/sdb | grep -sq 'ceph'",
"_uses_shell": true,
"chdir": null,
"creates": null,
"executable": null,
"removes": null,
"warn": true
},
"module_name": "command"
},
"item": "/dev/sdb",
"rc": 1,
"start": "2017-07-31 18:00:03.999857",
"stderr": "lsblk: /dev/sdb: not a block device",
"stdout": "",
"stdout_lines": [],
"warnings": []
}
],
"rc": 1,
"start": "2017-07-31 18:00:05.113848",
"stderr": "",
"stdout": "ownership of '/var/run/ceph/' retained as ceph:ceph\nchanged ownership of '/var/lib/ceph/bootstrap-mds/ceph.keyring' from root:root to ceph:ceph\nownership of '/var/lib/ceph/bootstrap-mds' retained as ceph:ceph\nchanged ownership of '/var/lib/ceph/bootstrap-osd/ceph.keyring' from root:root to ceph:ceph\nownership of '/var/lib/ceph/bootstrap-osd' retained as ceph:ceph\nchanged ownership of '/var/lib/ceph/bootstrap-rgw/ceph.keyring' from root:root to ceph:ceph\nownership of '/var/lib/ceph/bootstrap-rgw' retained as ceph:ceph\nownership of '/var/lib/ceph/mds/ceph-mds-ceph-mon1' retained as ceph:ceph\nownership of '/var/lib/ceph/mds' retained as ceph:ceph\nownership of '/var/lib/ceph/mgr/ceph-ceph-mon1' retained as ceph:ceph\nownership of '/var/lib/ceph/mgr' retained as ceph:ceph\nownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db/CURRENT' retained as ceph:ceph\nownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db/LOCK' retained as ceph:ceph\nownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db/000006.log' retained as ceph:ceph\nownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db/000005.ldb' retained as ceph:ceph\nownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db/MANIFEST-000004' retained as ceph:ceph\nownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db' retained as ceph:ceph\nownership of '/var/lib/ceph/mon/ceph-ceph-mon1/kv_backend' retained as ceph:ceph\nownership of '/var/lib/ceph/mon/ceph-ceph-mon1/keyring' retained as ceph:ceph\nownership of '/var/lib/ceph/mon/ceph-ceph-mon1' retained as ceph:ceph\nownership of '/var/lib/ceph/mon' retained as ceph:ceph\nownership of '/var/lib/ceph/osd' retained as ceph:ceph\nownership of '/var/lib/ceph/radosgw/ceph-mon1' retained as ceph:ceph\nownership of '/var/lib/ceph/radosgw' retained as ceph:ceph\nownership of '/var/lib/ceph/tmp' retained as ceph:ceph\n2017-07-31 18:00:05  /entrypoint.sh: static: does not generate config\n2017-07-31 18:00:05  /entrypoint.sh: ERROR- The device pointed by OSD_DEVICE (/dev/sdb) doesn't exist !",
"stdout_lines": [
"ownership of '/var/run/ceph/' retained as ceph:ceph",
"changed ownership of '/var/lib/ceph/bootstrap-mds/ceph.keyring' from root:root to ceph:ceph",
"ownership of '/var/lib/ceph/bootstrap-mds' retained as ceph:ceph",
"changed ownership of '/var/lib/ceph/bootstrap-osd/ceph.keyring' from root:root to ceph:ceph",
"ownership of '/var/lib/ceph/bootstrap-osd' retained as ceph:ceph",
"changed ownership of '/var/lib/ceph/bootstrap-rgw/ceph.keyring' from root:root to ceph:ceph",
"ownership of '/var/lib/ceph/bootstrap-rgw' retained as ceph:ceph",
"ownership of '/var/lib/ceph/mds/ceph-mds-ceph-mon1' retained as ceph:ceph",
"ownership of '/var/lib/ceph/mds' retained as ceph:ceph",
"ownership of '/var/lib/ceph/mgr/ceph-ceph-mon1' retained as ceph:ceph",
"ownership of '/var/lib/ceph/mgr' retained as ceph:ceph",
"ownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db/CURRENT' retained as ceph:ceph",
"ownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db/LOCK' retained as ceph:ceph",
"ownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db/000006.log' retained as ceph:ceph",
"ownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db/000005.ldb' retained as ceph:ceph",
"ownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db/MANIFEST-000004' retained as ceph:ceph",
"ownership of '/var/lib/ceph/mon/ceph-ceph-mon1/store.db' retained as ceph:ceph",
"ownership of '/var/lib/ceph/mon/ceph-ceph-mon1/kv_backend' retained as ceph:ceph",
"ownership of '/var/lib/ceph/mon/ceph-ceph-mon1/keyring' retained as ceph:ceph",
"ownership of '/var/lib/ceph/mon/ceph-ceph-mon1' retained as ceph:ceph",
"ownership of '/var/lib/ceph/mon' retained as ceph:ceph",
"ownership of '/var/lib/ceph/osd' retained as ceph:ceph",
"ownership of '/var/lib/ceph/radosgw/ceph-mon1' retained as ceph:ceph",
"ownership of '/var/lib/ceph/radosgw' retained as ceph:ceph",
"ownership of '/var/lib/ceph/tmp' retained as ceph:ceph",
"2017-07-31 18:00:05  /entrypoint.sh: static: does not generate config",
"2017-07-31 18:00:05  /entrypoint.sh: ERROR- The device pointed by OSD_DEVICE (/dev/sdb) doesn't exist !"
],
"warnings": []
}

Closed due to inactivity, feel free to re-open if needed. Thanks!


Error with complex Layouts and Sections

Error with complex Layouts and Sections
Functional impact
The view fails with the following error:
InvalidOperationException: The following sections have been defined but have not been rendered: 'scripts_footer'.
Minimal repro steps
I have tried to create a small sample that builds in complexity, from working views to a minimal test that fails.  This sample is available here:  https://github.com/AerisG222/nested_layout_test/.
The README on the repo contains steps showing basic layouts working, then the one that fails.
What appears to be causing the issue is where sections are defined across the layouts.  In the case that is failing, the layout page adds new sections that are referenced by the view, but are not in the parent layouts.  This seems to interfere with also being able to target the sections that are defined on the parent layout.
Expected result
I was expecting all views to display resulting html w/o the exception
Actual result
View fails with the exception from above
Technical Details
Note that I am trying this from Linux, using a mono nightly build from<PHONE_NUMBER>2449, and the dev aspnet feed (with dnx).   here are version numbers in case this is helpful:
dnx --version
1.0.0-beta4-11271
dnvm list
Active Version              Runtime Location             Alias

1.0.0-beta4-11271    mono    ~/.dnx/runtimes      default

mono --version
Mono JIT compiler version 4.1.0 (tarball Wed Mar 11 17:55:29 EDT 2015)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS:           __thread
SIGSEGV:       altstack
Notifications: epoll
Architecture:  amd64
Disabled:      none
Misc:          softdebug
LLVM:          supported, not enabled.
GC:            sgen
Thanks,
Mike

@dougbu Please investigate what the impact of this issue is. Thx.


feat: Trigger enterprise testing on commit

This adds a job in the main_pr CircleCI workflow which emits a webhook to enterprise's pipeline endpoint to trigger testing (PR #195 in sqlmesh-enterprise repository)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: andrew-sha:x: Andrew ShannonAndrew Shannon seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


⚠ Bofrost.be has degraded performance

In fdaf215, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1224 ms

Resolved: Bofrost.be performance has improved in 5b63327.


[FEAT]: Simulate ensemble (deterministic)

Fresh new designs for the Simulate ensemble (deterministic) operator:
INPUT PAGE

OUTPUT PAGE

NODE (EMPTY)

NODE (COMPLETE)

FIGMA LINK:
https://www.figma.com/file/5uzTEU3jtIfY62fp6I7SYo/Terarium---Workflow-%26-etc?type=design&node-id=1498%3A245440&mode=design&t=4Mo8g3XnXOHdBxp1-1

Thanks!!!!


Android app QmlBarcodeReader crashes after 2 secs

Output Error in Debug Mode (build with Qt 6.5.0 armeabi-v7a Kit and latest SCodes - software, on Desktop Qt Kit everything is ok)
isHandlerType=false this: DecorView@be48b76[QtActivity]
I ViewRootImpl@284cb5f[QtActivity]: ViewPostIme pointer 1
I MSHandlerLifeCycle: isMultiSplitHandlerRequested: windowingMode=1 isFullscreen=true isPopOver=false isHidden=false skipActivityType=false isHandlerType=false this: DecorView@be48b76[QtActivity]
W Qt A11Y : AccessibilityEvent with empty description
W libQmlBarcodeReader_armeabi-v7a.so: Qt has caught an exception thrown from an event handler. Throwing
W libQmlBarcodeReader_armeabi-v7a.so: exceptions from an event handler is not supported in Qt.
W libQmlBarcodeReader_armeabi-v7a.so: You must not let any exception whatsoever propagate through Qt code.
F libc    : /buildbot/src/android/ndk-r25-release/toolchain/llvm-project/libcxx/../../../toolchain/llvm-project/libcxxabi/src/abort_message.cpp:72: abort_message: assertion "terminating with uncaught exception of type std::out_of_range: Requested row is outside the image" failed
12:11:54:
"com.scythestudio.qmlbarcodereader" beendet.
12:11:54: Das Debuggen von  "-qmljsdebugger=port:57142,block,services:DebugMessages,QmlDebugger,V8Debugger,QmlInspector,DebugTranslation" wurde beendet.
Can you please fix that?

did you fix the issue ? i think the project was abandoned

I can only suspect what the problem was from this log output, probably the same cause as this issue:

There was other issue with camera finding which exhibited the same exception, so maybe it's the same thing.
I've overhauled the camera code for qt6 so that this kind of thing shouldn't happen now.


Documentation: correct sppkg links for individual components

Category

[x] Bug Fix
[ ] New Feature
Related issues:No

What's in this Pull Request?
Documentation fix for individual components:

sppkg download link now leads to individual .sppkg file of the component instead of v1 .sppkg of starter kit
source code links are updated to redirect to the new v2 components.

Thank you for finding this and submitting the corrections.


Proposal: Adopt XO as the official code style for the serveress plugin

XO provides linting and style help that is configurable. Could be useful to adopt a standard style for NodeJS code not just in this repo but any future NodeJS additions.

Can you link to it? What are the pros and cons?

https://github.com/sindresorhus/xo
This would be the equivalent of using gofmt in the Go repos to enforce style and formatting.
Pros:
zero config, just use xo --fix and it will lint and format all code in the repo
standardizes style for all PR's
uses ESLint under the hood to provide linting
can easily be run alongside test
cons:
the default style might not be the personal preference, but it is configurable if needed
another tool to learn

I'd like to revisit this. Having a standard format/code style will help eliminate a lot of noise in future PR's where spacing or tabs have changed but no real code changes took place, Being able to run xo --fix will help eliminate issues like that.


npx pepr logs

Is your feature request related to a problem? Please describe.
I'd like to be able to use a Pepr CLI command to pull easy-to-read Pepr Controller logs from a cluster.
Describe the solution you'd like
One of the primary methods of troubleshooting Pepr Modules is to "check the logs" when something unexpected happens.  The current method for doing so is to dump pod logs via kubectl and, while that works, the experience isn't awesome:

pods use dynamic, generated names (which requires a query to lookup),
there are multiple pods to pull logs from (requiring multiple queries),
there are multiple ways to pull logs and not all of them return all logs.

An awesome experience would instead:

be easy to use (like running a single command),
get all interesting logs (from all pods),
and present logs in an easy to read way.

Therefore:

Given a Pepr Module running in a cluster

When I run the npx pepr logs --help

Then I see a nicely formatted set of options for querying for Pepr logs (per-pod, unified, colored, etc.)

And I run the npx pepr logs

Then I get a nicely readable, unified, time-ordered set of logs

Describe alternatives you've considered

leave things as they are and coach people through known-gotchas K8s query gotchas (like having to ask for ALL logs) -- ick, or
publish a "how to" in the Pepr docs about how to "correctly" get logs from Pepr -- also ick.

Log Levels

fatal - only used in CLI , we never want the controller to crash.
debug - Used in development or
info -
error - only used in CLI
warn - info level or when an error is caught and there is a remedy

adding this to on-hold because we have not had any requests around this and we would need more info on the desired implementation. uds-cli has a monitor command and pepr does too, not sure if this is enough?


Cache cleanup is only performed if delete() is called on model

delete() on a model is not called when performing bulk actions of when a model is deleted via a relation. This means the cache is not being cleaned up.
Would it be possible to hook-up the cleanup using a post_delete signal instead?

I think @lettertwo rewrote this part for 1.0 and everything seems to be working for me. Can somebody who had the problem confirm that it's fixed?

Yes, I tested this recently with 1.0. Works for me, too.
Congrats on the new API, I think it is a huge improvement!

Glad to hear it! Closing this out then.


Feature request: Better explainatons of the problems found

Consider some lines from my first run:
Package addr2line has mismatching file hashes for addr2line-0.21.0/Cargo.lock

Maybe show a diff? Or provide some other easy way to inspect the actual differences. Or is this just due to the library not having a checked in Cargo.lock?
Commit between crates.io tarball and git tag doesn't match for ahash v0.8.11

Aaah! I definitely want more details on that one! (Will be investigating that one manually)
Couldn't publish the package in https://github.com/tkaitchuck/constrandom.git repo status=exit status: 101

Seen this one several times. It would make sense to show more details here.
Couldn't checkout the commit in https://github.com/briansmith/untrusted.git repo status=exit status: 128

Similar to the above, I want more info.
Package still somehow doesn't exist ahash

As an error message, this doesn't stand out enough from the log lines (whatever it means).

Perhaps there could be a flag --investigate package-name=1.2.3 flag or similar that checked out both in directories below the current working directory, and did a soft publish and unpacked that as well. Then it would make it easy for me to manually investigate what is going on.

Found NO tag match with package compact_str
Found NO tag match with package const-random
Found NO tag match with package const-random-macro
Found NO tag match with package generic-array
Found NO tag match with package heck
Found NO tag match with package heck
Found NO tag match with package hermit-abi
Found NO tag match with package ident_case

This seems a good reason to also check whatever commit ID that cargo identified when publishing (if it exists). I would argue checking both and making a summary table at the end.

Thank you very much for all of the feedback. I've spent most of the time scanning crates.io instead of improving the code, but I definitely want this tool to become useful and easy to use in the medium to long term.
The NO tag match error is for crates that don't seem to have tagged the release in question in the git repository. I have already opened issues for a few of them. A lot of maintainers seem to forget to tag or to push tags for new releases. Many crates surprisingly don't use tags at all, which combined with the lack of .cargo_vcs_info.json, or publishing from unknown branches, makes the process of reproducing the release much harder.

I've just seen https://github.com/briansmith/untrusted/issues/69#issuecomment-2029733947. Not to downplay issues, but given that many maintainers commit from release branches, it seems a bit alarmist (though arguable, given the scope of the crate) to post a comment like this. I wouldn't want to alienate the community like RustSec did with some maintainers that didn't agree with unmaintained crate advisories (probably because of the backslash of the users)

You are right, I changed from deeply problematic to somewhat problematic.


Trying to unstake from an orchestrator that is shutting down

My transaction seems to be in a loop and never finishes.

Hey @gutoskey - can you share the tx on etherscan?

Here it is but I get a message that the transaction hash cannot be located. The orchestrator that is shutting down is:
0x481efb669b423cfaffa49890205427dea9b3d693
Ethereum Transaction Hash (Txhash) Details | Etherscan
|
|
|
|  |  |
|
|
|
|  |
Ethereum Transaction Hash (Txhash) Details | Etherscan
Ethereum (ETH) detailed transaction info for txhash 0xb0dc05c39c6125a4c6398e9b3424b5eeecdb7bcbbed6f13b4404af627f...
|
|
|
On Monday, May 3, 2021, 04:24:04 PM EDT, Adam Soffer<EMAIL_ADDRESS>wrote:

Hey @gutoskey - can you share the tx on etherscan?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

You most likely need to resubmit the transaction with a higher gas price. The gas price just went up from 20 GWEI to over 90 GWEI. https://www.gasnow.org/
If you're using MetaMask here are instructions on how to do that. https://metamask.zendesk.com/hc/en-us/articles/360015489251-How-to-Speed-Up-or-Cancel-a-Pending-Transaction

Thanks for your help. I am trying to cancel several transactions I have out there and then submit an unstaking trx with a higher gas fee. I appreciate the help.
On Monday, May 3, 2021, 05:03:27 PM EDT, Adam Soffer @.***> wrote:
You most likely need to resubmit the transaction with a higher gas price. The gas price just went up from 20 GWEI to over 90 GWEI. https://www.gasnow.org/
If you're using MetaMask here are instructions on how to do that. https://metamask.zendesk.com/hc/en-us/articles/360015489251-How-to-Speed-Up-or-Cancel-a-Pending-Transaction
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.


Allow @from "file.jl" without import, fix #24

@Roger-luo I'll let you handle this as I think you've been handling the releases to JuliaHub. (Assuming we do a new release for this -- I'm guessing @fonsp would like that?)

Thanks all! Btw it looks like TagBot is not working: https://github.com/Roger-luo/FromFile.jl/releases


od.plot.vertical_section() doing something odd

Description
I calculated a survey on the LLC4320 along A05 which worked fine. I then proceeded to plot its vertical section using oceanspy plotting functionality. This is how the section looked:

The plot shows a spurious anomaly below 1000m uniformly along the section. I plotted a vertical section of Temperature around the mark 2000km and it didn't show anything wrong with the data.
To be sure after I stored the survey locally (created a checkpoint) I plotted it using xarray's basic plotting functionality as described below (od_survA05 is the same survey):
fig= plt.figure(figsize=(15, 6), facecolor='w')
od_survA05.dataset['Temp'].isel(time=0).plot(vmin=1, vmax=25, cmap='RdBu_r')
plt.show()

And the result was:

I don't know what the issue is, but I have seen this behavior once before when plotting data along a single face (no transformation).

This is not a bug in plotting function. When oceanspy is doing the survey at time '2012-04-25T00', it also included that of '2012-04-25T01:00', and the data is apparently corrupted.

What we should fix is the data we stored.

Good sleuthing!  @Mikejmnez can we write the data 2012-04-25T01:00 again (e.g., reconvert from binary to zarr, download again)?

Thanks @MaceKuailv I just confirmed this too. I was selecting, after the survey for a single snapshot,
.isel(time=0)

which does not show the temperature corrupted data.
If I do
.isel(time=1)

the corrupted data does shows up. Weird that when calculating the survey for a single snapshot of time, the end result is two-snapshots in time.
Here is the side-by-side comparison between the time=0 and time=1 indexes.

But that also explains why I couldn't find the corrupted data when looking directly at the original dataset at time=0

Yes, we do have the binary file for that snapshot

I will close this issue then...

@ThomasHaine
I am re opening this issue just to share what I found by looking at the original (binary) file. I can see the same corrupted data.

The file is here:
file = '/sciserver/filedb12-03/ocean/poseidon/llc4320_tests/10dayhourly/Theta.0000788112.data.shrunk'

This is the code I used to plot the variable:
import xarray as xr
import dask
from xmitgcm import llcreader
from fsspec.implementations.local import LocalFileSystem
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize']=12,8

fs = LocalFileSystem()

iters = [787968, 788112, 788256, 788400, 788544, 788688, 788832, 788976]

mask_path = '/sciserver/filedb01-01/ocean/poseidon/llc4320_masks.zarr/'
store_u2 = llcreader.BaseStore(fs, base_path='/sciserver/filedb12-03/ocean/poseidon/llc4320_tests/10dayhourly',
                               shrunk=True, mask_fs = fs, mask_path=mask_path, join_char='/')
ds_u2 = llcreader.LLC4320Model(store_u2).get_dataset(varnames=['Theta'], iter_start=iters[1], iter_stop=iters[1]+1)
ds_u2 = ds_u2.reset_coords()
ds_u2 = ds_u2.drop_vars([var for var in ds_u2.data_vars if var not in ['Theta']])

Temp = ds_u2['Theta'].isel(time=0, face=2, j = 3600)
fig= plt.figure(figsize=(12, 8), frameon=True, facecolor='w')
with dask.config.set(scheduler='single-threaded'):
    Temp.isel(i=slice(0, 2000, 2)).plot(vmin=-1, vmax=10, cmap='RdBu_r')

plt.savefig('temp_face2_from_binary.png')

I ran it in datascope, using one of the elephant nodes and within the Oceanography environment

When using xmitgcm version 0.5.2 it may require to specify the grid path. Here is the code that I use for that version of xmitgcm:
import xarray as xr
import dask
from xmitgcm import llcreader
from fsspec.implementations.local import LocalFileSystem
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize']=12,8

fs = LocalFileSystem()

iters = [787968, 788112, 788256, 788400, 788544, 788688, 788832, 788976]

mask_path = '/sciserver/filedb01-01/ocean/poseidon/llc4320_masks.zarr/'
grid_path = '/sciserver/filedb01-01/ocean/poseidon/llc4320_grid/'
store_u2 = llcreader.BaseStore(fs, base_path='/sciserver/filedb12-03/ocean/poseidon/llc4320_tests/10dayhourly',
                               shrunk=True, grid_path = grid_path, mask_fs = fs, mask_path=mask_path, join_char='/')
ds_u2 = llcreader.LLC4320Model(store_u2).get_dataset(varnames=['Theta'], iter_start=iters[1], iter_stop=iters[1]+1)
ds_u2 = ds_u2.reset_coords()
ds_u2 = ds_u2.drop_vars([var for var in ds_u2.data_vars if var not in ['Theta']])

Temp = ds_u2['Theta'].isel(time=0, face=2, j = 3600)
fig= plt.figure(figsize=(12, 8), frameon=True, facecolor='w')
with dask.config.set(scheduler='single-threaded'):
    Temp.isel(i=slice(0, 2000, 2)).plot(vmin=-1, vmax=10, cmap='RdBu_r')

plt.savefig('temp_face2_from_binary.png')

Closing as this is not an oceanspy issue


initial project configuration

initial project configuration with vite, react, patternfly and storybook
added also two basic modals with stories for Add Path and Add Tag

Why use yarn instead of npm?  Any issues with productization doing that?

Also can we apply Apicurio code styling if there are no objections (expecting there might be)?

https://github.com/Apicurio/apicurio-registry/blob/main/ui/ui-app/package.json#L16
https://github.com/Apicurio/apicurio-registry/blob/main/ui/ui-app/.eslintrc.cjs

Also we might want to rename vite-config.ts to vite-config.mts if we plan to use vite-tsconfig-paths.  I had to do this recently:

https://github.com/Apicurio/apicurio-registry/pull/5007

Why use yarn instead of npm? Any issues with productization doing that?

@EricWittmann , nothing in terms of productization, mostly because handling multiple modules in a monorepo fashion is easier with yarn than npm. In the case of npm, we would need to use lerna or nx in order to orchestrate multiple modules and their dependencies.
yarn 1.x vs 4.x is mostly because 1.x is deprecated.

Also can we apply Apicurio code styling if there are no objections (expecting there might be)?

We could, we just need to pick one of the following scenarios:

Upgrade apicurio-registry eslint config to be compatible with eslint 9.x, since they changed the configuration file format
Downgrade eslint in this project to 8.x in order to be compatible

Also we might want to rename vite-config.ts to vite-config.mts if we plan to use vite-tsconfig-paths.

Sure, we can. I'm not sure we're gonna use vite-tsconfig-paths at this point, but better to accommodate this scenario just in case

Why use yarn instead of npm? Any issues with productization doing that?

@EricWittmann , nothing in terms of productization, mostly because handling multiple modules in a monorepo fashion is easier with yarn than npm. In the case of npm, we would need to use lerna or nx in order to orchestrate multiple modules and their dependencies.
yarn 1.x vs 4.x is mostly because 1.x is deprecated.
That being said, I'm not against using npm, it's just a bit more work and that's it.
Please let us know what your preference is so we can "choose our destiny" 😄

Great thanks!  I have no preference, I was just curious.  Will this project utilize multiple modules?
(agree that multi-module with npm is terrible, I didn't know that yarn did it better)

Also can we apply Apicurio code styling if there are no objections (expecting there might be)?

We could, we just need to pick one of the following scenarios:
1. Upgrade apicurio-registry eslint config to be compatible with `eslint 9.x`, since they changed the configuration file format

2. Downgrade `eslint` in this project to `8.x` in order to be compatible

Yeah let's upgrade apicurio's eslint config!  I've been holding back on upgrading to eslint 9.x in other projects because I haven't had time to do that.  If you know how, or can tell me how, then let's get that done!  Would be a nice improvement.

@EricWittmann

Great thanks! I have no preference, I was just curious. Will this project utilize multiple modules?
(agree that multi-module with npm is terrible, I didn't know that yarn did it better)

I think it would be convenient to have at least 2 modules, similar to what we have in Kaoto:
a. The main module exporting components
b. A testing module that imports the public components and adds stories and e2e.
There are a couple of advantages with the latter:
a. In case of security vulnerabilities, they will be properly reflected on the right package, for instance, if there's an issue with a test dependency, it will be reflected on this package, reducing the noise a bit.
b. We ensure that we export the right components and that also we keep the API stable, or said in a different way, if there's a breaking change in a component, this module will act as a close consumer, properly identifying when such unintended change happens.
But as I said, this is just a suggestion :smile:

Yeah let's upgrade apicurio's eslint config! I've been holding back on upgrading to eslint 9.x in other projects because I haven't had time to do that. If you know how, or can tell me how, then let's get that done! Would be a nice improvement.

Hehe, me too, I haven't dedicated the time to update Kaoto either :sweat_smile:, I hope that I can take care this week

LGTM


Is it legal

Description
Is it legal to use these EPG data inside a Google Play Store or App Store app? Will there be any copyright issue?

I do not see any problem with this, but anyway I think you better address this question to the support of these stores to be 100% sure, since each of them has its own rules and restrictions.


The requested range must be within the last 60 days.

Hello Guys.
yf.download("btc-usd",interval="5m",start='2022-12-01', end='2023-02-01')
THE Error:
5m data not available for startTime=1669852800 and endTime=1675209600. The requested range must be within the last 60 days.
Why 60 days.

Did you try a 60 day range? Does it work?

The correct answer is: because Yahoo says so.

@tootooot, While some intervals (e.g., 1d, 1m) will work for any periods, your period (14 months) is too large for the 5m interval.
Please close this issue if setting period <= 60d works.


[Feature Request] Link to "Request an ontology"

Is your feature request related to a problem? Please describe.
NFDI is currently working on a github repository with a NFDI ontology. When updated with new ontology terms, this will get directly imported to database and therefore be accessible by users.
So we need to show the user that this functionality exists and how he can interact with it.
Describe the solution you'd like
Add a link close to any search functions, directing to docs describing where to open a issue, etc.
Additional context
This is still WIP!

Done! Will be part of version 0.4.0.
Link can be found in autocomplete dropdown.


Scope for personal access token?

.gh-shorthand.yml mentions a API token, but it doesn't mention what scope is needed. I'm guessing...  repo?

read:org, repo, user is what mine has. I'll make a note to update the docs.
If you're trying this out, use the v2 branch (both here and with the alfredworkflow) -- I can walk you through the setup on slack if you'd like!

👍


After 4.9.0 Update, URLs with /public/ become accessible (and go into google index)

Hello SilverStripe Team and Community!
Affected Version
4.9.0
Description
A day after the Update from 4.8.0 to 4.9.0 my client detected a problem in his log files - and on sistrix seo tool:
All website URLs are also accessible with [Domain]/public/[URLPath] - I can confirm that with other projects I updated
Steps to Reproduce
example from my client:
https://www.attingo.com/symptoms/
https://www.attingo.com/public/symptoms/
...the second URL shouldn't be accessible at all
Thanks!!

@RoyalPulp - I cannot reproduce what you're reporting with 4.9 & public-folder-setup - somehow it seems related to public-folder. May you hit us on #slack
https://www.silverstripe.org/community/slack-signup

Thanks for confirming it’s solved @RoyalPulp!


Customization of httpx.AsyncClient during BitcoinRPC initialization

As noted in #3, httpx.AsyncClient basic settings are fine in most cases.
However, if one needs to a more fine-grained customization due to need of more concurrent connections, proxies, etc., they have no option to do so now.
For now, I have a following solution in mind:
class ImproperlyConfigured(Exception):
    pass

class BitcoinRPC:
    def __init__(self, host: str, port: int, rpc_user: str, rpc_password: str, **kwargs) -> None:
        self._url = self._set_url(host, port)
        self._client = self._configure_client(rpc_user, rpc_password, **kwargs)

    @staticmethod
    def _configure_client(rpc_user: str, rpc_password: str, **options) -> httpx.AsyncClient:
        auth = (rpc_user, rpc_password)
        headers = {"content-type": "application/json"}

        options = dict(options)
        if not options:
            return httpx.AsyncClient(auth=auth, headers=headers)

        if "auth" in options:
            raise ImproperlyConfigured("Authentication cannot be set via options!")

        if "headers" in options:
            _additional_headers = dict(options.pop("headers"))
            headers.update(_additional_headers)
            # guard against content-type overwrite
            headers["content-type"] = "application/json"

        return httpx.AsyncClient(auth=auth, headers=headers, **options)

All the keyword arguments passed to the initializer of BitcoinRPC will be passed directly to the httpx.AsyncClient, with the exception of auth keyword. Also, headers will need to be tamed a bit with the content-type key since it is supposed to be application/json.
It will then be this library's user's responsibility to conform to the interface exposed by httpx.AsyncClient's initiliazer.

Resolved in https://github.com/bibajz/bitcoin-python-async-rpc/commit/0aab77b43efb75be1624940501c2d49650c5ca17


[Improvement] Refactoring Code For Better Comprehension

Search before asking

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

Description
Currently some parts of code are poorly constructed, leading to difficult comprehension, trouble of testing and maintenance.
With an IntelliJ plugin, metrics reloaded, we could get the complexity of methods in this project.

If the cognitive complexity of a method is more than 30, basically we treat it as incomprehensible, untestable and unmaintainable. We would like to have these methods refactored and achieve a significant decrease in complexity, maybe 50% or more.
Any help will be appreciated : )
https://plugins.jetbrains.com/plugin/93-metricsreloaded
https://www.hatica.io/blog/code-complexity/
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

Is it only for a specific package, or all of them?

I can't agree more with your advice ,really need refactoring code.

@EricGao888 seems like i do not have write access to this repo. Due to this I am unable to push my feature branch for this issue. Could you help here

@EricGao888 seems like i do not have write access to this repo. Due to this I am unable to push my feature branch for this issue. Could you help here

Hi @akshitk20 , you don't need direct write access to this repo to contribute. You could submit a PR and maintainers will review it and then help merge it.
FYI:
https://github.com/sevntu-checkstyle/sevntu.checkstyle/wiki/Development-workflow-with-Git:-Fork,-Branching,-Commits,-and-Pull-Request


Text wrapped with p-tags even when wrapnodes is disabled

Jodit Version:  Jodit Editor v.3.17.1
Browser: FF 99.01
**OS:**Win11
Is React App: False
Code
        var editor = new JSONEditor(document.getElementById('editor_holder'),{
          ajax: true,
          compact: false,
          schema: {"$ref":"schema.php"},
          collapsed: true,
          disable_edit_json: true,
          disable_properties: true,
          enter: 'br',
          defaultMode: "3",
          useSplitMode: true,
          disablePlugins: "wrapnodes"
        });...

 Note: options definitions in the schema file override the rules in the init part.
I had to define the options like this in my schema:
    "general_translation_form": {
      "type": "string",
      "title": "",
      "options": {
        "compact": true,
        "jodit": {
          "disablePlugins":"wrap-nodes",
          "enter":"br"
        }
      },
      "format": "jodit"


Stepper enabling/disabling based on user login

Currently the user is able to open the files without a login and it hangs the app.
when the user clicks on the stepper itself and surpasses one or two steps in the stepper.
Please review the screen recording:
Stepper-organisation.mp4.zip
Below is the screenshot of 0.9.0-rc.3. when opened:

Here what happens after stepper is clicked. File selection is made enabled without login.

When the file is clicked, the file loading spinner shows up and hangs up the app( Since the file cannot be actually opened with login to the Repo)

Testable in 1.0.0-beta.2

@birchamp think this was demoed and can be closed. Closing now. Let me know if otherwise.


It's expected to keep the same settings on, which were used to take the measurement.
Screen shot :

fixed with commit 9ea2f8d942cf0eaf346d3ef371ed09412f147725


Add Opam Package Manager Support

Added support for Opam Package Manager, there are 2 detectors: Opam Build CLI Detector and Opam Buildless Lockfile Detector.

There are two internal parsers for Build CLI Detector: Opam introduced a feature for getting dependency tree for projects in 2.2.0 release. Before that, there is no mechanism for getting dependency tree or list of all dependencies which the project depends on using CLI.
So for versions below 2.2.0, we will follow a similar mechanism to Python Set Up Tools for recursively getting list of all dependencies. More about that approach is present in the document attached with IDETECT-4395.
For versions after 2.2.0, we will use a tree parser and opam tree command for getting all the dependencies.
We will also support LOW accuracy Lockfile Detector for getting direct dependencies ( no way of getting transitives as discussed in grooming a long time back ).

Each Detector has its own Extractor and Detectable classes: OpamBuildExtractor, OpamBuildDetectable OpamLockfileExtractor, and OpamLockfileDetectable
There are three parsers: OpamTreeParser, OpamFileParser, and OpamLockfileParser
There is one single transformer class for all Detectors: OpamGraphTransformer
All the changes for Opam Package Manager Support are in this PR ( will create a new PR for adding tests). I tried to add comments in the code for better understanding but if that is not helpful, let me know in the comments I would be happy to schedule a meeting for review.

Yes, I will be adding tests in a separate PR for this feature after CF. I had a call with QA team yesterday about testing this feature, I believe they are gonna start tomorrow.


Store OCR'ed data in pdf

I have OCR'ed my first set of documents with the fallback to Tesseract.  It worked very well.  In order for this to be most useful, OCR'ed text should be saved not only to the database but also back into the pdf.  That way a user can do a Ctrl+F to find text within the document when viewing it.  Have you thought about implementing this functionality?

I see that near the bottom of this page of the Tesseract docs it says:

You can also create a searchable pdf directly from tesseract ( versions >=3.03):

The Tesseract parser is launched in the pdf_parser.py code.  Looks like a change here would provide for saving searchable pdfs.