Passing className prop down to Rebass Component

I wrap a NavItem in a custom Component, like so:
const MyLink = (props) => <NavItem style={styles} {...props} is={Link} />
export default MyLink

But if I pass down className in the props, like so:
<MyLink to="/settings" className="center py2 white bold caps h5" style={{
            backgroundColor: '#2ecc71'
        }}>Free trial account</MyLink>

The className values are not passed down to NavItem. Is this intended Rebass behaviour? Have I misinterpreted Rebass and this is not what I'm supposed to be doing?

Yes, that is currently intentional to help enforce style encapsulation in components. However, I have been considering allowing the className prop to be passed down for greater flexibility within Rebass.
For your example there are props that handle some of what I assume the classes are doing. E.g.
<MyLink py={2} color='white' />

For the other styles, I would suggest encapsulating those in a wrapper component. For example:
const WhiteCapsLink = (props) => <NavItem style={whiteCapsLinkStyles} />


Parallelisation

The python version includes optional parallelism through parallelising get_lnprob.
This requires special handling of the sampler class. My attempts fail to compile as EnsembleSampler is not Sync - due to the random number generator. We need to support the following features:

a sampler that can be shared among threads
a random number that can be seedable

Given Rust is compiled and so much faster than the Python version, I'm not too worried about this one. I want to wait until it is shown that this is needed. Closing for now.


allow state/priority/virtual_router_id to be set in instance vars.

provide some middle ground between the per-host values for id/state/priority and the instance_defaults. it will now look per-host, then in the instance attrs (missing before now), then the instance_defaults. in the current state, you could not run multiple instances will differing ids (or state/priority), but this should allow it, while preserving the existing behaviours.

Hi. I am an automated pull request bot named Curry. There are commits in this pull request whose authors are not yet authorized to contribute to Chef Software, Inc. projects or are using a non-GitHub verified email address. To become authorized to contribute, you will need to sign the Contributor License Agreement (CLA) as an individual or on behalf of your company. You can read more on Chef's blog.
GitHub Users Who Are Not Authorized To Contribute
The following GitHub users do not appear to have signed a CLA:

@jhohertz

Please sign the CLA here.

Ugh.
Not getting involved with the CLA nonsense.


Create standard approach to migrating to Thema from other schema systems

A common case that's repeatedly come up is the need to gracefully go from some other schema system into Thema - an onramp of sorts.
Technically, this can be done with the 0.0 schema, and the "real" Thema schemas start on 1.0, but that's not great, as you still have to write a reverse lens back to 0.0, people could be confused and try to add a 0.1, and everyone has to just know in perpetuity to never try to translate back to that version.
It seems reasonable to me that lineages allocate a special, optional space for creating an optional onramp key, which need not follow joinSchema, and can be used to capture all the weird and warty former versions of an object - and then provide a forward-only lens. (Once the data's in, there's no going back.)

This has basically been resolved through the combination of:

Thema CLI commands to create a new lineage from e.g. openapi, json schema
The "canonical" flag on a coremodel (planned)


Unwavering Stance does not remove chance to evade

Even if Unwavering Stance is allocated in the passive tree I have a non-zero evasion rating on the stats sheet. Also, if you go to the passive tree and enable "Show node power", nodes that grant only evasion rating are still shown as having defensive power even though US is allocated.

Oh, reading the wiki more closely this isn't really a bug:

Unwavering Stance does not modify evasion rating. This is significant mainly because of the Iron Reflexes keystone, which converts evasion rating to armour rating.

It's a bit unintuitive though that it considers evasion rating to have defensive node power when chance to evade is always 0% and I don't have Iron Reflexes allocated.

Perhaps, but it's a minor issue; I don't think it's worth tinkering with the defence power calculation just to prevent it.

I just tinkered with this on the current version - even if I've got both Iron Reflexes and Unwavering Stance, there are still bright blue nodes that only give Evasion-related bonuses.
It's not a minor issue. The Node Power thing doesn't work if it's inaccurate. It's there so I can get an at-a-glance indication of where I need to be heading on the tree, and if it's misleading me with inaccuracies then that means it's borked.


Add orientation to api surface and demo

Looks good Massimo, thanks.

I've pushed it to npm as build 0.1.1.

No problem, thanks for making these tools! Really useful


Bug: Errors on other enviroments than classic control

1 Describe the bug
If we run gymnasium environments that do not belong to classic control, then it always throws an error. The errors for each environment are unique. This could be because different behaviour of each environment, which does not meet the standard requirements of MLPro-RL. Therefore, we need to further analyse this and find solutions, e.g. make the MLPro-RL more flexible towards different gymnasium environments or create a pool of gymnasium environments in MLPro-Int-Gymnasium.
2 To Reproduce
Steps to reproduce the behavior:

Open "howto_rl_agent_002_train_agent_with_own_policy_on_gym_environment.py" in MLPro-Int-Gymnasium
Change the environment of 'CartPole-v1' to another environment (not from classic control)
Run the training

3 Expected behavior

'FrozenLake-v1'

'CliffWalking-v0'

4 Screenshots
See Point 3...
5 Additional Informations
5.1 Operating System

[ ] Linux
[x] Windows
[ ] Mac OS

As discussed today we will add an exception for the user to make clear that the problem is on the environment and not MLPro.


File e_sqlite3.dll not included when publishing for runtime win-x64

Given the following project:
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="SQLitePCLRaw.bundle_green" Version="1.1.9" />
  </ItemGroup>
</Project>

Running the following publish command:
dotnet publish -f netcoreapp2.0 -c release -r win7-x64

Yields a publish folder with the e_sqlite3.dll file:
> ls bin/release/netcoreapp2.0/win7-x64/publish/e_sqlite3.dll
bin/release/netcoreapp2.0/win7-x64/publish/e_sqlite3.dll

However, running the following publish command (runtime is win-x64 rather than win7-x64):
dotnet publish -f netcoreapp2.0 -c release -r win-x64

Results in a publish folder that is missing e_sqlite3.dll:
> ls bin/release/netcoreapp2.0/win-x64/publish/e_sqlite3.dll
ls: bin/release/netcoreapp2.0/win-x64/publish/e_sqlite3.dll: No such file or directory

This results in an error at runtime: System.DllNotFoundException: Unable to load DLL 'e_sqlite3': The specified module could not be found. (Exception from HRESULT: 0x8007007E).

Some official docs on the topic:

https://docs.microsoft.com/en-us/dotnet/core/rid-catalog
https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-net-core-2-0/#user-content-much-easier-to-target-linux-as-a-single-operating-system

Similar improvements have been made for Windows and macOS. You can now publish for the following “runtimes”.

linux-x64, linux-arm
win-x64, win-x86
osx-x64

And discussion of how these changed WRT .NET Core 2.0 (vs 1.0):

https://stackoverflow.com/questions/41766002/what-does-the-win-any-runtime-mean-in-net-core/41863501#41863501

Hmmm.  Thanks for the links.  But this information (surprisingly) doesn't clarify things.
Most of the information seems to focus on what RID you can provide to "dotnet publish", as opposed to what the RID folder in the nuget package should be named.
I'm putting native files in runtimes\win7-x64\native, because in general, I get the impression that the name of the RID folder in the nupkg should be more specific.  Based on the compatibility graph information, I would expect that publish for win-x64 should work with this approach, but it apparently does not.
Looking at other packages which bundle a native library, I see them using RID folders like win7-x64, just as I am.  I haven't found an example of someone using win-x64 as a RID folder in the package.
I am not saying that I don't want publish win-x64 to work.  I do.  I'm just saying that I am not sure about the correct way to achieve that.  I suppose I could just change the name of that folder to win-x64 and see if it works.

Here are the rules: https://github.com/dotnet/corefx/blob/v2.0.3/pkg/Microsoft.NETCore.Platforms/runtime.json
Notice win-* and win7-* aren't actually equivalent. win is compatible with win7, but win7 isn't compatible with win. So if I publish for win-x64, it won't look for assets under win7-x64.
For package authors, this means native assets probably shouldn't be under win7-*. They should use win-* instead.
For users publishing, this means they should use the exact RID they're publishing for. Use win10-x64 if it will run on Windows 10, not win-x64. This insures the most correct assets are published.

@bricelam Excellent.
So for a package author, a single native code asset which is compatible with Windows 7, 8 or 10 would go under win-.  (This is my situation.)
But if a package author had a native code asset which is specifically for Windows 7, they would use win7-, and so on.
And if they had separate builds for Windows 7, 8 and 10, they would put each one under the corresponding specific RID.
Thanks!

In addition when I tried to rename the provided SQLitePCL.Raw.provider.e_sqlite3.dll to just e_sqlite3.dll it did correct the issue with the dll not found, but introduced a new error about libversion information not being found.  See @smitpatel above for original report

The package with the fix does not show as an available update, when using Microsoft.AspNetCore.All
It looks like the shortcut may create as many issues as it solves. I was able to update a 3 project solution from Core 1.0 to Core 2.0 in about 3 hours, but spent another 10 trying to get those projects work in production due to this single issue.

I'm not sure what "shortcut" you mean.  Maybe "tried to rename the provided SQLitePCL.Raw.provider.e_sqlite3.dll to just e_sqlite3.dll".  If so, yeah, you should not do that.  :-)
Anwyay, as you discovered, the problem you found was fixed in 1.1.10.

The package Microsoft.AspNetCore.All is a shortcut, rather than providing the names of all the individual packages required for ASPNet Core.

Ah, yes.  That makes sense.

Still have the problem. One (or two) out of three times i debug with VS2017, i got this
DllNotFoundException: Unable to load DLL 'e_sqlite3': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
The project is in .net Framework 4.8
There is a walkaround: When cleaning, changing architecture (move from AnyCpu to x64 and viceversa) everything goes fine again. For once or twice.

I had the same bug in a project as @ilbassodigenova described. The project has been successfully run once and then I got DllNotFoundException. In my case, my project2 has a reference to a project1 that has a link to Microsoft.EntityFrameworkCore.Sqlite 2.1.14. When I added the same library link to project2 it started work.


Improve signal handling.

During startup, ignore SIGHUP, SIGINT and SIGTERM signals.
Exit the libevent dispatch loop when a SIGHUP, SIGINT or SIGTERM signal is received, allowing the process to terminate normally.

LGTM, but maybe @AlCutter or @pphaneuf will have other insights.

I didn't like too much the setting of signal handlers in a library rather than in (or very near) the main(), but it would be a bit awkward to do it that way in master, so maybe we should live with this (since it's an helpful change), and make it better in super_duper?
Sorry for the delay, I wasn't paying good attention.

Pierre, thanks for merging this.  :-)


chore: Codeclimate deployment action

Adding an action on successful deployment to relay that to our CodeClimate setup

Oh, sorry Ahmed. I see in the timeline that you changed the branch to master. I undid your change without seeing that you did that.

no worries. I will sync with you before merging to make sure things are setup right


Add chevron

Add chevron icons for https://github.com/larshp/abapGit/pull/3248/

@sbcgua can you help reviewing?

... found them at font awesome site. I guess I'm merging ...

@sbcgua Yes, I used the free version of the font-awesome. I followed your development tutorials on abapGit (thanks) and the W3MI poller (thanks again!).


(Temporarily) add .device attribute to Numpy scalars

Basically https://github.com/numpy/numpy/issues/26850
Maybe this is something that is in scope for array-api-compat? At least temporarily so that we can use Numpy 2 without waiting for a new release.
The issue also seems clearer for array-api-compat, I think. When using the Numpy wrapped namespace (via get_namespace(..., use_compat=True) it should behave like specified in the standard. In this case xp.sumshould return something that has a.device` attribute. Whether it is an array or a scalar (which is a 0dim array).
What do people think?

I think we should prioritize fixing this in NumPy. It's not fixable in array-api-compat; adding or wrapping functions is easy, but methods on the array object can't be monkey patched in.

Ok. I'm happy to see it fixed in Numpy.

What I was hoping for was that we can use array-api-compat to fix things faster than the next Numpy/jax/PyTorch/etc release and/or deal with making a bug like this "vanish", so that as a consuming library we don't need to deal with "well, in numpy 2.0 we can't do this, but in numpy 2.1 we can and should".
I think this particular case is an easy one to deal with in an array consuming library, so this is more of a forward looking though.

array-api-compat doesn't try to wrap the underlying array object, so we cannot change the attributes on NumPy scalars. See https://data-apis.org/array-api-compat/#scope and https://data-apis.org/array-api-compat/dev/special-considerations.html.
However, we can change sum so that it returns a 0-D array instead of a scalar. If you feel this is important this would be a trivial change to make.
At any rate, array-api-compat already contains a device() helper function to work around libraries that don't have a device attribute.

However, we can change sum so that it returns a 0-D array instead of a scalar. If you feel this is important this would be a trivial change to make.

That would probably break something else - for example, there are tests in scipy.stats to verify that for numpy arrays the output is indeed a scalar rather than a 0-D array.
The fix for NumPy is already in progress and the next release isn't too far off, so I'd recommend not spending extra effort here.

Not doing anything is fine for me.
For scikit-learn we will special case based on the Numpy version in the unit tests and try and work on adding a "nightly" CI to increase the chances of finding things like this before a release happens.

For scikit-learn we will special case based on the Numpy version in the unit tests

Why can't you use https://data-apis.org/array-api-compat/helper-functions.html#array_api_compat.device ?

Good point.

That would probably break something else - for example, there are tests in scipy.stats to verify that for numpy arrays the output is indeed a scalar rather than a 0-D array.

Thanks for thinking of that! But I was actually just about to submit an issue proposing this sort of change. If it were possible to make this change and also make array magic methods more resistant to returning scalars (e.g. adding two 0-D arrays returns a 0-D array, indexing [()] returns a 0-D array, breathing gently on on a 0-D array doesn't make it a scalar, etc.) I think this would really help the state of things. SciPy's testing functions are currently in flux because of the scalar/0-d array inconsistency. If this change were made, I think we could pretty easily make all array-API compatible SciPy functions return 0-d arrays where appropriate and test accordingly.


⚠ Bofrost.es has degraded performance

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

HTTP code: 200
Response time: 1661 ms

Resolved: Bofrost.es performance has improved in 52cc0c8 after 6 minutes.


slow?

I am trying to convert some HeLa sample generated raw data and on an average it takes about couple of hours, for example
timsconvert --chunk_size 10000000 --imzml_mode continuous --verbose --input $i
/cluster/work/users/ash022/veronica/240624_200ngHelaQC_DDAlong_Slot1-54_1_7832.d
2024-07-25T23:34:52.358358:Initialize Bruker .dll file...
2024-07-25T23:34:53.368646:Loading input data...
2024-07-25T23:34:53.660046:Reading file: /cluster/work/users/ash022/veronica/240624_200ngHelaQC_DDAlong_Slot1-54_1_7832.d
2024-07-25T23:38:29.646452:input: /cluster/work/users/ash022/veronica/240624_200ngHelaQC_DDAlong_Slot1-54_1_7832.d
2024-07-25T23:38:29.646670:outdir: /cluster/work/users/ash022/veronica
2024-07-25T23:38:29.646751:outfile:
2024-07-25T23:38:29.646823:mode: centroid
2024-07-25T23:38:29.646893:compression: zlib
2024-07-25T23:38:29.646979:ms2_only: False
2024-07-25T23:38:29.647058:exclude_mobility: False
2024-07-25T23:38:29.647120:encoding: 64
2024-07-25T23:38:29.647181:barebones_metadata: False
2024-07-25T23:38:29.647241:profile_bins: 0
2024-07-25T23:38:29.647301:maldi_output_file: combined
2024-07-25T23:38:29.647360:maldi_plate_map:
2024-07-25T23:38:29.647426:imzml_mode: continuous
2024-07-25T23:38:29.647485:chunk_size: 10000000
2024-07-25T23:38:29.647546:verbose: True
2024-07-25T23:38:29.647604:version: 1.6.5
2024-07-25T23:38:29.647664:infile: /cluster/work/users/ash022/veronica/240624_200ngHelaQC_DDAlong_Slot1-54_1_7832.d
2024-07-25T23:38:29.647728:.tdf file detected...
2024-07-25T23:38:29.647804:Processing LC-TIMS-MS data...
2024-07-25T23:38:29.647872:Initializing mzML Writer...
2024-07-25T23:38:30.981298:Initializing controlled vocabularies...
2024-07-25T23:38:31.433716:Writing mzML metadata...
2024-07-25T23:38:31.444200:Writing data to .mzML file /cluster/work/users/ash022/veronica/240624_200ngHelaQC_DDAlong_Slot1-54_1_7832.mzML...
2024-07-25T23:38:31.444476:Calculating number of spectra...
2024-07-25T23:38:31.501230:Parsing and writing Frame 1...
2024-07-26T01:40:50.358078:Renaming mzML file...
2024-07-26T01:40:50.361829:Finished writing to .mzML file /cluster/work/users/ash022/veronica/240624_200ngHelaQC_DDAlong_Slot1-54_1_7832.mzML...

is this normal? If so, is there way to speed up? I have tried several values for --chunk_size  but that doesn't make much difference >10e6? Folder size is about 2G
du -kh /cluster/work/users/ash022/veronica/240624_200ngHelaQC_DDAlong_Slot1-54_1_7832.d
282K    /cluster/work/users/ash022/veronica/240624_200ngHelaQC_DDAlong_Slot1-54_1_7832.d/7832.m/backup-2024-06-24.m
565K    /cluster/work/users/ash022/veronica/240624_200ngHelaQC_DDAlong_Slot1-54_1_7832.d/7832.m
30M     /cluster/work/users/ash022/veronica/240624_200ngHelaQC_DDAlong_Slot1-54_1_7832.d/2024-06-24_14-13-19_One-column-separation
1.8G    /cluster/work/users/ash022/veronica/240624_200ngHelaQC_DDAlong_Slot1-54_1_7832.d

Hi @animesh that speed is pretty typical for larger datasets such as yours (I'm assuming this is proteomics data?). Unfortunately for single files, I have limited ability to implement multithreading; currently I implemented multithreading in a way where multiple files will be converted at once but each file can only be accessed by a single thread. This helps with larger datasets containing multiple files, but not for single file conversion. At this point, if you do not already have one, upgrading to faster storage would be the best solution as the speed ultimate depends on HDD/SSD read/write speeds.
As for the --chunk_size parameter, this affects how many scans are read into memory for conversion at once. If the value is large enough, it essentially just reads in all the scans in the current file. So the maximum --chunk_size is essentially the number of scans in the raw data.

yes @gtluu it is proteome of HeLa cell 👍🏽 SSD is not making much difference it seems but somehow fragpipe seems to convert much faster, roughly about in 20 minutes? i am guessing there code is not open source though?

This may be a limitation due to the fact that TIMSCONVERT is written in Python. Other platforms such as ProteoWizard MSConvert are written in C++, and while I'm not overly familiar with FragPipe, I believe it is written in Java. I would imagine the speed difference is due to these other software using compiled languages. You can find the source code for FragPipe here. I am not fluent in Java or C++ so I can't directly compare the differences in our implementation, but I am continuing performance improvements where I can within the capabilities of Python when possible.

Closing for now but happy to revisit the discussion down the line.


Color Picker Palette Popup

We need a color picker popup UI for the color picker component when the system is unable to provide a UI. This will likely replace the built-in OS popup that appears on macOS.
Requirements:

The popup should appear when a user activates a color picker and remain open until they close it, or is dismissed by clicking somewhere else
The selection method should allow the full range of colors from everything between #000000 and #ffffff
The output should be in the hex (web-safe) color format (ex: #rrggbb)
The interface should:

visually represent at least HSL (hue, saturation, lightness), and possibly other methods.
work with both touch and pointer.
use "math" to calculate the value, rather than reading rasterized pixels from a canvas element.
be dynamically scalable (use linear gradients) and possibly filters as blend-modes

The input value should be "pre-selected" (represented in the UI) when popup opens.
Color swatches (preset colors) definable in an array of hex strings as a prop on the picker popup component. Clicking/activating one should immediately update the popup's color selection, and not dismiss the popup (allowing the user to tune that color, not the preset, just the output)
Use the module color-convert for color conversion. It's already part of Agate

Nice to have

2 different styles of color seleciton, i.e. a 2D vertical/horizontal color space representation plus a lightness slider; and a set of 3 sliders for hue, saturation, and lightness
at least two color picking mechanisms: HSL, HSV, direct HEX input, etc

Here's a link to some HSL color theory:
https://en.wikipedia.org/wiki/HSL_and_HSV
Example of a 2D picker with one slider:

Example of a 3-slider picker:

Note: The color on the both of the example's secondary sliders change based on the currently selected hue.

Since we are simplifying this color picker to having limited number of color swatches, I'm thinking about making the color picker expandable instead of a popup.
The expandable color picker includes a swatch drawer that slides out and overlays the color picker's neighbors (to avoid layout repaint).
Configurable options: the colors of the swatches, direction in which the drawer slides out, the background of the drawer, and possibly the format (hex, hsla, or rgba). Ideally, any number of swatches should be supported, but that introduces more complexity where we might need to use scroller or pagination or Moonstone-style picker.


Actually move images to the intended cache directory and ignore data URIs

Need additional verification, cc @gaearon
Just realized that the moveIfNecessary function wasn't working as intended, the images never actually gets moved to our intended cache directory because from.startsWith(cacheDir) will always return false for those images.
Added an extra check to not do it for data URIs as well, to handle images coming from share intents, and images coming from local drafts (which I'm still working on).

what’s the user visible consequence of the bug?

Nothing user-visible, it just means that we weren't actually deleting the temporary images as they weren't ever moved there to begin with.

will find some time to write up a test case tomorrow!
It is definitely harder to see what's going on, I'm not sure if file explorer apps on Android are able to peek into our cache directory so we might just have to check by putting console.logs on the before&after

i think i was able to inspect it with Android Studio in the past, just need to better understand what to look for


Issue #367 - update to 10 minute tutorial, removed the code snippet f…

…or RunCucumberTest.java
https://github.com/cucumber/docs.cucumber.io/issues/367
I removed the snippet for adding the RunCucumberTest.java file completely, as version 4.2.6 automatically creates this file for you when you generate the archetype.

I think that part of code was part of the gradle tutorial.
Maybe we should remove the Gralde tutorial parts. The interleaving between Maven and Gradle makes this really messy and hard to follow.
@mlvandijk wdyt?

And I've made a <IP_ADDRESS>  version of the archetype. Might be useful.

@mpkorstanje I updated the archetype version to <IP_ADDRESS> and the Gradle section to include the command to convert from a Maven project.  Instead of using the template provided we can add the configs/dependencies/task necessary to build.gradle.

@mpkorstanje I agree with what you're saying on it being hard to follow, especially now that this tutorial includes js/kotlin/ruby implementations.  Maybe we could implement something like the following: https://www.cockroachlabs.com/docs/stable/training/cluster-startup-and-scaling.html (see the Mac and Linux buttons)

Hi @annabaker,
Thanks for your making your first contribution to Cucumber, and welcome to the Cucumber committers team! You can now push directly to this repo and all other repos under the cucumber organization! 🍾
In return for this generous offer we hope you will:

✅ Continue to use branches and pull requests. When someone on the core team approves a pull request (yours or someone else's), you're welcome to merge it yourself.
💚 Commit to setting a good example by following and upholding our code of conduct in your interactions with other collaborators and users.
💬 Join the community Slack channel to meet the rest of the team and make yourself at home.
ℹ Don't feel obliged to help, just do what you can if you have the time and the energy.
🙋 Ask if you need anything. We're looking for feedback about how to make the project more welcoming, so please tell us!

On behalf of the Cucumber core team,
Aslak Hellesøy
Creator of Cucumber

Cheers!

@mpkorstanje @annabaker I'd love to have options for Maven/Gradle (and possibly IDE) in the docs, but am not sure how to do so, especially in combination with the current language sections.
I like the way Spring does this, for example: https://spring.io/guides/gs/rest-service/


Compare machine config before and after apply pull secret

In current sceario when we wait for cluster to stable after removing
the pull secret then imagepull error happen for all the marketplace
images since it require the valid pull secret.
+ ./openshift-clients/linux/oc get pod --no-headers --all-namespaces
+ grep -v Running
+ grep -v Completed
openshift-marketplace                        certified-operators-n4vlj                                0/1   ImagePullBackOff   0     112m
openshift-marketplace                        community-operators-h5s2d                                0/1   ImagePullBackOff   0     113m
openshift-marketplace                        redhat-marketplace-rm9lm                                 0/1   ImagePullBackOff   0     112m
openshift-marketplace                        redhat-operators-9tqpf                                   0/1   ImagePullBackOff   0     113m

This patch will just make sure to wait till machine config render
properly.

/retest

/retest

/retest

/retest

/retest

/test e2e-snc

/retest

/retest

/test e2e-snc

/test e2e-snc

/test e2e-snc

/retest


Add macOS framework

Add a macOS framework and some #if os(OSX) compiler directives to make it work.

Hi @Dev1an, very cool contrubution. I will have a closer look at it later. Did you already test this?

I am currently using it in a project I'm working on and it works fine for me 😄 But maybe we need to add some tests to this project 😉 (it will make it easier for you to accept pull requests)

Thank you very much! You can find your contribution in the latest version 🥇


enacttrust fixes

Fixes for a number of issues identified while debugging enacttrust attestation scheme. As well as fixes to the enacttrust scheme, and some minor typo/doc updates, this incudes fixes to the builtin plugin loader (that became broken when the endorsement decoder plugins were moved from provisioning to vts).

I've added an additional commit that adds trust anchor validation to tpm-enacttrust endorsement handler.


/auth profile management page should link to public profile and vice-versa

The /auth user profile management page should have a link to the users public profile page.
If the user is viewing their own profile page, there should be a link to the /auth management page as well.

I think this is complete, context has changed.


Support alternate config filenames WORKSPACE.bazel and BUILD.bazel

It is legal in Bazel to name your config files with a .bazel suffix.
IJ added support for it in this commit:
https://github.com/bazelbuild/intellij/commit/1871100c4b88c794333e94125f4a5ffbecad6a60

Implemented in #86


Command for recording https services

Hi guys,
I am new to wiremock and I have been using wiremock recorder to get mappings for the service I want to mock. When I mock services with http I can see the mappings coming through but not for the services on https.
Can you please provide command with the required parameters to record and get mappings for the services on https.

Please post questions to the mailing list as per the README.


Provide CONCAT as a Zephyr API instead of in ARM arch

Right now include/zephyr/arch/arm/irq.h defines the macros CONCAT and TOSTR which are fully equivalent to Zephyr's _CONCAT and STRINGIFY macros.
This can easily confuse developers who will use these macros assuming they are provided by the OS, and result in code which is not portable between architectures.
Instead let's remove this definitions from the architecture headers, and remove the only place where TOSTR was used.
Note that all uses of CONCAT in the tree were changed to _CONCAT in https://github.com/zephyrproject-rtos/zephyr/pull/64839
Let's also provide CONCAT as a Zephyr API. (this commit can be dropped if it is too controversial). This should minimize possible issues for users due to the removal from the arm architecture.
Note this PR does not deprecate _CONCAT, but instead leaves it as an internal Zephyr macro.

arm arch: Replace use of TOSTR with STRINGIFY

One of the ARM architure files, defined since long ago
TOSTR having the exact same purpose as Zephyr's STRINGIFY.

Remove the use of this macro in the tree
(only used in another ARM header file) in favour
of STRINGIFY.

arm arch: Remove definition of CONCAT and TOSTR

One of the ARM architure files, defined since long ago
CONCAT and TOSTR having the exact same purpose as Zephyr's
_CONCAT & STRINGIFY.

This arm header file is included thru dependencies into
almost all code built for ARM, which leads to these
macros being usable everywhere.

This can easily make developers belive the macros
are provided by Zephyr itself, and use them, leading
to code which is not portable between architectures.

Remove this macros definitions from the architecture
headers.

include: util: Add CONCAT as a general Zephyr utility macro

Provide the CONCAT macro as a general Zephyr utility macro
to paste two tokens during the preprocessor pass.

Note that this macro is based on the _CONCAT macro defined
in toolchain/common.h. This toolchain header needs a CONCAT
like macro, but requires minimal include dependencies.
So we leave _CONCAT where it is.

Fixes: #64841

@aescolar Failures in CI looks unrelated. Do you mind rebasing, though?

@aescolar Failures in CI looks unrelated. Do you mind rebasing, though?

The fix seems pending still https://github.com/zephyrproject-rtos/zephyr/pull/65217


giac: 1.4.9 -> 1.5.0

Motivation for this change
update
this also fixes a bug where the xcas ui (notably menus) were broken because of split outputs. Apparently xcas uses its documentation to populate some ui elements.
I added a few optional dependencies.
Things done

built sage with it. Patch sent upstream. cc @timokau
modiffied nauty to also install its libraries. cc @7c6f434c as maintainer

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/) only xcas
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Also even smaller nitpicks (not necessary to fix those, just my preferences): I think the fixup commit should be merged with the update commit. And if the new dependencies are really optional, it would be nice to create a flag (default enable) for them.

Great! I don't think just null'ing the dependencies is a good option, but as I said thats not a blocker. Thanks again!


The following tasks did not complete: jest

I added a gulp task per the documentation, just runs but it seems the callback is never invoked and I get the following error:
Test Suites: 1 failed, 4 passed, 5 total
Tests:       1 failed, 8 passed, 9 total
Snapshots:   0 total
Time:        12.908s
Ran all test suites.
[16:15:08] The following tasks did not complete: jest
[16:15:08] Did you forget to signal async completion?

feel free to reopen if the issue remains


NSFS | Concurrency Tests | Versioning | Warp fails Suspend mode with error - connect: connection refused

Environment info

NooBaa Version: VERSION
c83f2-dan8-hs200.test.net:  noobaa-core-5.17.0-20241016.el9.x86_64
c83f2-dan10-hs200.test.net:  noobaa-core-5.17.0-20241016.el9.x86_64

Actual behavior
1.The following workload was executed with a bucket previously put in suspend mode (the errors are also seen when executing warp stat and warp list)
warp get --host=<IP_ADDRESS>{0...9}:6443 --access-key="$access_key" --secret-key="$secret_key" --obj.size=1k  --concurrent=1000  --duration=30m --bucket=bucket1$j --insecure --tls
arp: <ERROR> download error:Get "https://<IP_ADDRESS>:6443/bucket11/RS12F%28xN/3.VOaX3zJIp805QLN%29.rnd": dial tcp <IP_ADDRESS>:6443: connect: connection refused
warp: <ERROR> download error:Get "https://<IP_ADDRESS>:6443/bucket11/AE5otFFM/1.6WqmwEJd0re19jG6.rnd": dial tcp <IP_ADDRESS>:6443: connect: connection refused
warp: <ERROR> download error:Get "https://<IP_ADDRESS>:6443/bucket11/UgiXqpIj/5.Wct8ORJhXx5iyO20.rnd": dial tcp <IP_ADDRESS>:6443: connect: connection refused
warp: <ERROR> download error:Get "https://<IP_ADDRESS>:6443/bucket11/YzjuGWbj/1.gHPA46P9I3pKkUO0.rnd": dial tcp <IP_ADDRESS>:6443: connect: connection refused
----------------------------------------
Operation: PUT. Concurrency: 1000
* Average:0.09 MiB/s, 93.16 obj/s

Throughput by host:
 * https://<IP_ADDRESS>:6443: Avg: 0.01 MiB/s, 10.09 obj/s
 * https://<IP_ADDRESS>:6443: Avg: 0.01 MiB/s, 9.58 obj/s
 * https://<IP_ADDRESS>:6443: Avg: 0.01 MiB/s, 9.50 obj/s
 * https://<IP_ADDRESS>:6443: Avg: 0.01 MiB/s, 9.58 obj/s
 * https://<IP_ADDRESS>:6443: Avg: 0.01 MiB/s, 9.07 obj/s
 * https://<IP_ADDRESS>:6443: Avg: 0.01 MiB/s, 9.46 obj/s
 * https://<IP_ADDRESS>:6443: Avg: 0.01 MiB/s, 8.18 obj/s
 * https://<IP_ADDRESS>:6443: Avg: 0.01 MiB/s, 8.48 obj/s
 * https://<IP_ADDRESS>:6443: Avg: 0.01 MiB/s, 9.93 obj/s
 * https://<IP_ADDRESS>:6443: Avg: 0.01 MiB/s, 8.69 obj/s

Throughput, split into 22 x 1s:
 * Fastest:706.5KiB/s, 724.46 obj/s
 * 50% Median:46.4KiB/s, 48.00 obj/s
 * Slowest:46.2KiB/s, 47.88 obj/s

----------------------------------------
Operation: GET. Concurrency: 1000
Errors:614
* Average:5.97 MiB/s, 6265.07 obj/s

Throughput by host:
 * https://<IP_ADDRESS>:6443: Avg: 0.59 MiB/s, 622.45 obj/s
 * https://<IP_ADDRESS>:6443: Avg: 0.60 MiB/s, 632.92 obj/s, 125 errors
Errors:125
 * https://<IP_ADDRESS>:6443: Avg: 0.59 MiB/s, 620.88 obj/s
 * https://<IP_ADDRESS>:6443: Avg: 0.60 MiB/s, 630.26 obj/s
 * https://<IP_ADDRESS>:6443: Avg: 0.60 MiB/s, 627.16 obj/s, 119 errors
Errors:119
 * https://<IP_ADDRESS>:6443: Avg: 0.60 MiB/s, 626.47 obj/s
 * https://<IP_ADDRESS>:6443: Avg: 0.59 MiB/s, 622.15 obj/s, 128 errors
Errors:128
 * https://<IP_ADDRESS>:6443: Avg: 0.59 MiB/s, 618.20 obj/s, 121 errors
Errors:121
 * https://<IP_ADDRESS>:6443: Avg: 0.60 MiB/s, 632.47 obj/s
 * https://<IP_ADDRESS>:6443: Avg: 0.60 MiB/s, 632.12 obj/s, 121 errors
Errors:121

Throughput, split into 359 x 5s:
 * Fastest:7.3MiB/s, 7702.89 obj/s
 * 50% Median:6.0MiB/s, 6314.32 obj/s
 * Slowest:0.00 obj/s

Expected behavior
1.workload completed without problems
Steps to reproduce
1.warp get --host=<IP_ADDRESS>{0...9}:6443 --access-key="$access_key" --secret-key="$secret_key" --obj.size=1k  --concurrent=1000  --duration=30m --bucket=bucket1$j --insecure --tls
More information - Screenshots / Logs / Other output
cluster time at which the workload started
Thu Oct 17 01:54:35 AM EDT 2024
the failures were seen after 19 minutes of execution
The log is too large, so I'll add it to the Slack channel.

@guymguym @romayalon Do we have any any limit on number of connections?

@javieramirez1 where are the logs of this run?

In order to send a cleaner log, an 8-hour retest is performed with the latest rpm 1026, the following warp run was performed
warp get --host=<IP_ADDRESS>{0...9}:6443 --access-key="$access_key" --secret-key="$secret_key" --obj.size=1k --concurrent=500 --duration=8h --bucket=bucket18 --insecure --tls
and it seems that the first issue is already resolved (connection refused errors in get operations no longer occur) but now I see another different one since for some reason the put part is not performed, it says that it is skipping put because it has few samples but it is a workload of 500 connections for 8 hours so it should not happen

Operation: PUT. Concurrency: 0
SkippingPUTtoo few samples. Longer benchmark run required for reliable results.

Operation: GET. Concurrency: 500

Average:6.18 MiB/s, 6476.31 obj/s

Throughput by host:

https://<IP_ADDRESS>:6443: Avg: 0.62 MiB/s, 646.02 obj/s
https://<IP_ADDRESS>:6443: Avg: 0.62 MiB/s, 646.26 obj/s
https://<IP_ADDRESS>:6443: Avg: 0.62 MiB/s, 649.76 obj/s
https://<IP_ADDRESS>:6443: Avg: 0.62 MiB/s, 646.47 obj/s
https://<IP_ADDRESS>:6443: Avg: 0.62 MiB/s, 652.89 obj/s
https://<IP_ADDRESS>:6443: Avg: 0.62 MiB/s, 647.16 obj/s
https://<IP_ADDRESS>:6443: Avg: 0.61 MiB/s, 640.82 obj/s
https://<IP_ADDRESS>:6443: Avg: 0.62 MiB/s, 653.18 obj/s
https://<IP_ADDRESS>:6443: Avg: 0.61 MiB/s, 640.70 obj/s
https://<IP_ADDRESS>:6443: Avg: 0.62 MiB/s, 653.04 obj/s

Throughput, split into 95 x 5m0s:

Fastest:6.6MiB/s, 6915.12 obj/s
50% Median:6.2MiB/s, 6534.52 obj/s
Slowest:4.7MiB/s, 4889.34 obj/s

I attached the log via slack
The log was cleared so that the start is the start of the test

Hi @javieramirez1 ,
Regarding the original issue that was opened, "connection refused" it also happened to me yesterday when I ran the warp test on GPFS machine and what caused it was noobaa was down. I don't think it is related in anyway that the bucket was in suspended mode, only that noobaa was starting up at a certain step which lead the connection ti be refused during the starting.
Detailed Information:
Testing on GPFS machine:
From a node in the cluster that runs noobaa:

I Change the code in one of the nodes before running the test: vi /usr/local/noobaa-core/config.js (change config.NSFS_RENAME_RETRIES = 10; to config.NSFS_RENAME_RETRIES = 1000;)
Change the config.json in path vi /ibm/fs1/cessharedroot/ces/s3-config/config.json and add the values: "UV_THREADPOOL_SIZE": 16 and "ENDPOINT_FORKS":32 (synced with @nadavMiz as I understand it is part of the setup that you used in previous issues).

Note: without this change running it would result in an error of timeout during the preparing step of warp, for example:

warp:  upload error: Put "https:///bucket-02/w%28chStmR/3.4uZB%28P%29PrYWLMmAr.rnd": dial tcp <IP_ADDRESS>:6443: i/o timeout

mms3 config change DEBUGLEVEL="all" for the restart.

From a client node:
4. Create an account:  noobaa-cli account add --name warp-shira --new_buckets_path /ibm/fs1/teams/ --uid 1001 gid 1001 --fs_backend GPFS
5. Create the alias for the account (based on the existing account):
alias s3-u1='AWS_ACCESS_KEY_ID=<> AWS_SECRET_ACCESS_KEY=<> aws --no-verify-ssl --endpoint https://<IP_ADDRESS>:6443/ --no-verify-ssl'
Check the connection (by trying to list the buckets of the account): s3-u1 s3 ls; echo $?
6. Create a bucket: s3-u1 s3 mb s3://bsw-01
7. Put the bucket in suspended mode: s3-u1 s3api put-bucket-versioning --bucket bsw-01 --versioning-configuration Status=Suspended
8. Run the warp command: cd warp;
./warp get --host=<IP_ADDRESS>:6443 --access-key="<>" --secret-key="<>" --obj.size=1k --concurrent=1000 --duration=30m --bucket=bsw-01 --insecure --tls (I run it with 1 host)
Note I run it a couple of times the logs are on the run where the name of the bucket is bsw-05 (and not bsw-01).
Although the run stuck a couple of times (broken pipe, not related to the run) in one of the runs which was 25/30 minutes before it stuck I saw:

warp:  download error: Get "https:///bsw-05/ZslyUWhX/5.32L7b88aBA4eX%29pT.rnd": dial tcp : connect: connection refused

I looked at the logs and I saw that noobaa was down (in /var/log/messages):
Oct 29 07:18:34 <node-name> systemd[1]: noobaa.service: Failed with result 'exit-code'.
Oct 29 07:18:34 <node-name> systemd[1]: noobaa.service: Consumed 33min 7.469s CPU time.
...
Oct 29 07:18:36 <node-name> systemd[1]: noobaa.service: Scheduled restart job, restart counter is at 2.
Oct 29 07:18:36 <node-name> systemd[1]: Stopped The NooBaa service..
Oct 29 07:18:36 <node-name> systemd[1]: noobaa.service: Consumed 33min 7.469s CPU time.
Oct 29 07:18:36 <node-name> systemd[1]: Starting The NooBaa service....

I would add that I tried to search for ERROR, PANIC printings in the logs /var/log/messages and I didn't find any (using grep ERROR <log_file> | wc -l for example).
I also didn't find something in the events (/var/log/noobaa_events.log), only found these:
Oct 29 06:48:10 <node-name> [3563230]: {"timestamp":"2024-10-29T13:48:10.075Z","host":"<node-name>","event":{"code":"noobaa_bucket_created","message":"Bucket created, value: bsw-05","description":"Noobaa bucket created","entity_type":"NODE","event_type":"INFO","scope":"NODE","severity":"INFO","state":"HEALTHY","arguments":{"bucket_name":"bsw-05"},"pid":3563230}}
Oct 29 07:00:35 <node-name> [3633270]: {"timestamp":"2024-10-29T14:00:35.744Z","host":"<node-name>","event":{"code":"noobaa_started","message":"Noobaa started","description":"Noobaa started running","entity_type":"NODE","event_type":"STATE_CHANGE","scope":"NODE","severity":"INFO","state":"HEALTHY","pid":3633270}}

cc: @romayalon

HI @javieramirez1 ,
Regarding the second run, you mention in the comment  I would like more details for the investigation.
I received from you today a log file size of 7.29 GB.
I tried to search for many keywords and didn't find anything interesting, examples:
➜  ~ grep ERROR  /Users/shiradymnik/Downloads/suspended.log
➜  ~ grep panic -i /Users/shiradymnik/Downloads/suspended.log
➜  ~ grep fail -i /Users/shiradymnik/Downloads/suspended.log

I would add that I saw these statistics and I didn't see any errors:
Oct 29 00:31:32 c83f2-dan10 [3852308]: [nsfs/3852308]    [L1] core.server.system_services.stats_aggregator:: standalon_update_nsfs_stats. nsfs_stats = { fs_workers_stats: { stat: { count: 6113, error_count: 0, min_time: 51, max_time: 77332, sum_time: 15020751 }, fileopen: { count: 2038, error_count: 0, min_time: 14, max_time: 298, sum_time: 104759 }, filestat: { count: 2036, error_count: 0, min_time: 60, max_time: 3583, sum_time: 473412 }, fileread: { count: 4073, error_count: 0, min_time: 4, max_time: 1105, sum_time: 99499 }, fileclose: { count: 2037, error_count: 0, min_time: 5, max_time: 271, sum_time: 39491 } }, op_stats: { head_object: { count: 2038, error_count: 0, min_time: 1, max_time: 89, sum_time: 45311 }, read_object: { count: 2037, error_count: 0, min_time: 2, max_time: 250, sum_time: 123179 } }, io_stats: { read_count: 2037, read_bytes: 2037000 } }

If you can please give more details related to:

the put part is not performed, it says that it is skipping put because it has few samples but it is a workload of 500 connections for 8 hours so it should not happen

the put-part that was not performed - depends on which side: warp or noobaa?
Because noobaa should get the requests and according to parsing the http message should execute the action according to the namespace\backetspace (in CES it is always FS).
Maybe you have a timestamp or a specific printing in the logs you observed that you can share?
At this point, I don't understand the issue that you are trying to point, if you can please share more information.
cc: @romayalon

Other runs were made in which it is observed in both (2 cesnodes used) noobaa logs that put operations were performed, between these operations nothing out of the ordinary or any error is seen, also in the entire log no panics, fails or other errors are observed but comparing with previous warp behavior a workload of 8 hours with concurrency = 500
Operation: PUT. Concurrency: 0
SkippingPUTtoo few samples. Longer benchmark run required for reliable results.
It should not show in the results that the concurrency in put operations is 0
When in the noobaa logs it does show that put operations are being performed, I do not know what could be happening

Hi @javieramirez1,
An update so it would be clear -
On Thursday, we were able to reproduce the issue of error - connect: connection refused using the instructions written in this comment., we also reproduced it using the warp command on a bucket without versioning suspended (on versioning disabled), and in another reproduced it using warp command with flag --stress.
At this point, we don't think the issue is related to versioning.
We don't have the root cause yet, but the mutual part is that we see these printings in the noobaa logs come from systemd (noobaa is down and therefore wrap see it as connection refused):
systemd[1]: noobaa.service: Failed with result 'exit-code'.
systemd[1]: noobaa.service: Consumed 33min 7.469s CPU time.
systemd[1]: noobaa.service: Scheduled restart job, restart counter is at 2.
systemd[1]: Stopped The NooBaa service..
systemd[1]: noobaa.service: Consumed 33min 7.469s CPU time.
systemd[1]: Starting The NooBaa service....

I would mention that in all our reproductions, we didn't see any errors in noobaa logs, or events (as mentioned in the comment).
We also tried to run it and in the background run top on the node that receives the requests - and we didn't notice unusual use of resources  (also near the time the process exited).

Hi @javieramirez1 ,
From what we observed in some cases it creates the issue error - connect: connection refused and we changed a bit the function panic (in util/panic.js) to have:
    process.stderr.write('PANIC: ' + message + (err.stack || err) + '\n', () => {
        process.exit(1);
    });

instead of:
process.exit(1);

to make sure that the error message is printed before the process exits.
we noticed that the error was related to open files, for example:

Nov 10 03:35:56 tmtscalets-protocol-1 node[3912820]: Nov-10 3:35:56.877 [nsfs/3912820] [ERROR] CONSOLE:: PANIC: process uncaughtException Error: EMFILE: too many open files, uv_resident_set_memory

Therefore, as a workaround, I can suggest setting a higher number of LimitNOFILE when running with high number of --concurrent flag using warp (even LimitNOFILE=infinity so that the open file descriptors will not be limited by the service definition, but the OS resources).
cc: @romayalon @nadavMiz

Hi @javieramirez1,
I wanted to update you that we added some code changes related to this issue to avoid a situation where noobaa is down (you can see in the PR link #8518 all the details and explanantions).
As mentioned in the PR those code changes will not change the behavior of open FDs.
Anyway, for now, you can use the workaround by increasing the LimitNOFILE number on the cluster on the node that you're running.
I'm changing the title since we understand that this is not a versioning issue.
cc: @romayalon @nadavMiz

@romayalon, sure, closing the issue (please see comment)


Rename camel_case_to_snake_case, uuids

Description

Rename _snake_case_to_camel_case() to _camel_case_to_snake_case()
in order to match its functionality.
Unify the way random identifiers are generated, using uuid4() instead
of manually generated random strings.
Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] 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 change)

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Thanks for reviewing and double-checking, @dcmckayibm  - it seems it was an artificial convention, and the 10 characters limit is not really enforced/recommended or suggested anywhere to the best of my knowledge (that would include the SDK/test suite, the spec itself, and a glance at the API). Do you feel there are other places that might need double-checking as well?


"You must add a reference to assembly 'KellermanSoftware.Compare-NET-Objects-Core, Version=<IP_ADDRESS>..."

I have a nuget package that references Compare-Net-Objects v4.3.0 - I have just converted this to target netstandard2.0.
I am now trying to reference this package from a project that targets .NET Framework 4.6.2 and am receiving the following error:
Error 	CS0012	The type 'ComparisonResult' is defined in an assembly that is not referenced. You must add a reference to assembly 'KellermanSoftware.Compare-NET-Objects-Core, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=dccbd7ce7d6a58c0'.

That version number does not even exist yet!
Please advise.

Typically, when you get that error in Visual Studio, you are referencing an assembly with a higher version.  So if you have a .NET Framework 3.5 project, you are referencing a .NET Framework 4.0 project.


Adding lucky() method for single-URL output (does not use generator);…

… specified default bs4 parser.
I'm not sure when bs4 started throwing warnings (at least, not after a quick revision scan), but in the use case targeted here--where you simply want to do a quick look-up (particularly for a domain-specific search), the explicit specification of html.parser is a nice feature. I understand this may interfere with the more traditional use cases if users have an interest in non-default parsers; if this is an issue, perhaps a module-level hook or optional parameter could be added?
As for lucky(), it's fairly straight-forward. Several parameters are specified to ensure a) only one result is queried, b) the delay is ignored, and c) the url of that result is returned by evaluating the first instance of the generator. Obviously, what we're shooting for here is a direct, fast-as-possible use case in the tradition of the 'I'm Feeling Lucky' button.
For those who may need an explicit example::

> from google import lucky
> lucky('site:github.com google') # This returns the Google developer organization page
u'https://github.com/google'

Cool! :)
I've a couple questions about this change:

Does it work with older versions of BeautifulSoup? I like the old versions better and I'd prefer to keep backwards compatibility. BS4 is more feature rich but BS3 was a lot more robust.

Same for Python 2, is it backwards compatible?

Cheers!
/Mario

I'm not sure.
It is; in fact, if you look at the revision history, I was originally testing with Python 2 and had to make a small change to ensure cross-compatibility with Python 3.

Shouldnt lucky default to standard_only=True ?
Or, is that even relevant for lucky?  Can the first result not be a standard value?


Ban unresolved dartdoc directives from HTML output

Description
Due to spelling mistakes (or other errors) the HTML of our dartdocs sometimes still contain unresolved dartdoc directives verbatim (e.g. {@foo x y}). This usually indicates an error, those should not be part of the final output. This PR adds a check that runs over the generated dartdocs to ensure that no unresolved directives are included in the output. It also fixes all unresolved directives in the framework.
Due to bugs in dartdoc (namely, https://github.com/dart-lang/dartdoc/issues/1945 and https://github.com/dart-lang/dartdoc/issues/2272) some unresolved directives will still appear in the output. The check contains exceptions for those. Once those issues are fixed, those exceptions will be removed.
Related Issues
Fixes https://github.com/flutter/flutter/issues/47652.
https://github.com/dart-lang/dartdoc/issues/1945
https://github.com/dart-lang/dartdoc/issues/2272
Tests
I added the following tests:
This entire thing is a test for our docs.
Checklist
Before you create this PR, confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Did any tests fail when you ran them? Please read Handling breaking changes.

[x] No, no existing tests failed, so this is not a breaking change.
[ ] Yes, this is a breaking change. If not, delete the remainder of this section.

[ ] I wrote a design doc: https://flutter.dev/go/template Replace this with a link to your design doc's short link
[ ] I got input from the developer relations team, specifically from: Replace with the names of who gave advice
[ ] I wrote a migration guide: https://flutter.dev/go/breaking-changes-template Replace this with a link to a pull request that adds the migration guide to https://flutter.dev/docs/release/breaking-changes

It looks like this pull request may not have tests.

The entire thing is a test for our dart docs :P


How to troubleshoot?

Didn't seem to work for me. How can I troubleshoot? I did see the Gradle build output included a download and unpack of some files into $HOME/.konan.
Some imports that are still red:

I'm on Linux (Fedora 32) with IntelliJ Ultimate 2021.1.2.

Hello!
Which Kotlin version is the project using?
Can you try with a freshly created project from the IDE wizard to see if you get the same issue? If not, can you then try to edit the Kotlin version so that it matches the project you have an issue with?

Kotlin 1.4.32. I'll try a freshly created project.

Hello @rocketraman! Did it work on a new project?

Nope, didn't work on a new project either.

What type of project did you create?

Kotlin multiplatform mobile on JDK 1.8 with IntelliJ IDEA 2021.1.3.

@LouisCAD  Any ideas?

@rocketraman I don't have any, but we can try to dig deeper in a pairing session if you want, sometime this week.

Is it the same issue as #6?

No, I have both kotlin.mpp.enableGranularSourceSetsMetadata=true and kotlin.native.enableDependencyPropagation=false set.
I thought the problem might be kotlin.native.ignoreDisabledTargets=true but commenting that out didn't help either.

Upstream issue reference: https://youtrack.jetbrains.com/issue/KT-48337

So, to answer your question "How to troubleshoot?", I think we're figuring it out 😄

@LouisCAD I commented in the upstream issue as well but FYI I can no longer reproduce this with modern versions of the IDE and Kotlin. Its working well now! I'll close. Thanks!

Yup, I've seen. Thanks for the update, I'm glad the IntelliJ Platform fixed that!


Error using with ssh-agent: "Checking the base repository state > ERROR: repository not found"

Hi there, thanks for your work on this!
I'm currently attempting to use the update-flake-lock action within a private repo workflow that depends on two other private repos. I'm using SSH key pairs to provide access between repositories using webfactory/ssh-agent.
This works nicely for our regular CI build workflow, however our update-flake-lock workflow is failing at the update-flake-lock action with the following:
> Checking the base repository state
  /usr/bin/git symbolic-ref HEAD --short
  mitchmindtree/fix-update-flake-lock
  Working base is branch 'mitchmindtree/fix-update-flake-lock'
  /usr/bin/git remote prune origin
  ERROR: Repository not found.
  fatal: Could not read from remote repository.

  Please make sure you have the correct access rights
  and the repository exists.
  Error: The process '/usr/bin/git' failed with exit code 128

I'm wondering if perhaps the update-flake-lock does not have access to the ssh-agent for some reason?
Here's the failing workflow in question:
name: update-flake-lock

on:
  workflow_dispatch: # allows manual triggering
  schedule:
    - cron: '0 0 * * *' # runs nightly at 00:00 UTC

jobs:
  # Updates the pint-src flake input and open a PR with the updated flake.lock.
  lockfile:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses<EMAIL_ADDRESS>        with:
          ssh-private-key: |
              ${{ secrets.SSH_KEY_BASE }}
              ${{ secrets.SSH_KEY_PINT }}
      - uses: DeterminateSystems/nix-installer-action@v10
      - uses: DeterminateSystems/update-flake-lock@main
        with:
          inputs: pint-src

Fwiw, here's our other workflow that is working and passing successfully. It's basically doing the same thing, but without using update-flake-lock. It at least shows that our SSH access is working elsewhere:
name: pint-nix

on:
  push:
    branches:
      - main
  pull_request:

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: true

jobs:
  # Check the default builds and dev envs work on both macOS and Linux.
  nix:
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, macos-latest]
        command: [
            "build --print-build-logs --no-update-lock-file",
            "develop --print-build-logs --no-update-lock-file",
          ]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v4
      - uses<EMAIL_ADDRESS>        with:
          ssh-private-key: |
              ${{ secrets.SSH_KEY_BASE }}
              ${{ secrets.SSH_KEY_PINT }}
      - uses: DeterminateSystems/nix-installer-action@v10
      - uses: DeterminateSystems/magic-nix-cache-action@v4
      - run: nix ${{ matrix.command }}

Here is the full failing workflow log in case it helps:
workflow-log.txt
Perhaps we need to do something to forward ssh-agent access to update-flake-lock somehow? Or maybe this is a different issue I'm overlooking?
Any advice or ideas on what might be going on would be greatly appreciated 🙏

I don't see anything obvious that would be causing your issue.
However, I have one hunch -- the error message appears to happen when we're delegating to the peter-evans/create-pull-request action, around where it's trying to push the update-flake-lock commit to your repository and subsequently open a PR. If your organization/repository restricts workflow permissions by default, you may need to give the job that runs update-flake-lock explicit contents: write and pull-requests: write permissions, i.e.:
name: update-flake-lock

on:
  workflow_dispatch: # allows manual triggering
  schedule:
    - cron: '0 0 * * *' # runs nightly at 00:00 UTC

jobs:
  # Updates the pint-src flake input and open a PR with the updated flake.lock.
  lockfile:
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
      - uses<EMAIL_ADDRESS>        with:
          ssh-private-key: |
              ${{ secrets.SSH_KEY_BASE }}
              ${{ secrets.SSH_KEY_PINT }}
      - uses: DeterminateSystems/nix-installer-action@v10
      - uses: DeterminateSystems/update-flake-lock@main
        with:
          inputs: pint-src

If that doesn't work, their documentation also calls out the need to make sure the repo allows GitHub Actions to create PRs in the first place (https://github.com/peter-evans/create-pull-request?tab=readme-ov-file#workflow-permissions) by changing the setting at "Actions > General > Workflow permissions".
Would you mind trying that out and let me know how it goes?

Thank you for the quick response!
Just letting you know that so far I have tried adding permissions: to the job as above, however it looks like this is not enough and the same error is occurring.
I'm organising with the team to gt the "Workflow Permissions" setting changed and I'll report back whether or not this helps!

Turns out our setting was organisation-wide (i.e. Org > Settings > Actions > Workflow Permissions).
Unfortunately, changing it from read-only to "Read and Write" doesn't seem to have fixed the issue - the same error is occurring.
Here is the full log for the updated action, this time with debug output enabled:
workflow-log-2.txt

Hmmmm, interesting. Could you try setting the token argument to a GitHub PAT with the repo scope and see if that lets it continue?

I

created a fine-grained PAT with access to the repo with read/write permissions for both "Content" and "Pull Requests"
added it as a secret to the repository
updated the workflow's update-flake-lock action with the token argument set to the new PAT token secret

alas, still running into the same error 🥴
The updated workflow log:
workflow-log-3.txt
🤔

Ahhh hold-up: when I go to my PAT settings it looks like the token is still "pending" and hasn't yet been used. I'll check in with our org admin to see if it needs to be approved or something first.

Finally got access and confirmed the PAT is available, though it appears that it still isn't getting used, and the workflow appears to still be running into the same "Checking the base repository state" issue 🤔
workflow-log-4.txt

AHA! I think I see the issue now!
As the SSH keys are deploy keys, I was looking at how the ssh-agent action expects you to set them up, and I noticed that they require a special comment on the key -- as you already did.
HOWEVER, you're trying to push to essential-contributions/pint.nix, whereas the only deploy keys available are for essential-contributions/essential-base and essential-contributions/pint, NOT essential-contributions/pint.nix:
2024-05-07T05:09:25.6497221Z Added deploy-key mapping: Use identity '/home/runner/.ssh/key-...' for GitHub repository essential-contributions/essential-base
2024-05-07T05:09:25.6763124Z Added deploy-key mapping: Use identity '/home/runner/.ssh/key-...' for GitHub repository essential-contributions/pint

[..snip..]

2024-05-07T05:09:33.3375573Z Pull request branch target repository set to essential-contributions/pint.nix

If  pint and pint.nix are separate repos, I think you'll need another deploy key specifically for pint.nix.

Oooo, thanks for digging in and having a look!
Fwiw, pint.nix is actually the repo that the action is running on. For the other CI stuff it hasn't yet been necessary to add a key to provide access to itself, but maybe update-flake-lock works a little differently and does require this.
I'll give it a go and report back!

Wow. That actually did the trick.
Thank you!

I think this issue has since been resolved -- feel free to reopen if that's not the case!


Generate task list items from a configuration

Describe the task

[ ] Not have the tasklist item indexes hardcoded
[ ] Make it easy to turn features on or off with growthbook

Note - we will need to hide all funding related data if the user selects No during the budgets section.
Tagging @nanyangpro for visibility.


"token" parameter not in video info for unknown reason

This video and others; all others.
"token" parameter not in video info for unknown reason
Version YouTube-dl: 2019.11.28

youtube-dl --extract-audio --audio-format mp3 https://www.youtube.com/watch?v=B67gCxbODwo
[youtube] B67gCxbODwo: Downloading webpage
[youtube] B67gCxbODwo: Downloading video info webpage
ERROR: B67gCxbODwo: "token" parameter not in video info for unknown reason; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.


cmd alt . does nothing

When I hit cmd alt . nothing happens. Typing </ works perfectly though.

I am experiencing the same issue.


Snippets saving then dissapear

Recently downloaded. I have emmet installed and know there is an issue with that.
However, I am going through the process of creating a new snippet:
Trigger: hcom
Description: HTML Comment
Scope: HTML
Text:
What is the difference between 'Save' and 'Save and Create'?
It does not matter which button I choose, when I close Brackets or close to refresh - the ones I created disappear. In my book save is Save forever until I delete. What's up with this feature? If I have to manually add this to a local file - where is that located?

Hi @awakekat, Save means saving the editing snippet, Save and Create means save and start create next one, both are persistent.
All the datas are saved in brackets.json(Open it via Debug -> Show Preferences File), you could watch the contents of this file if it's modified when a snippet saved.


feat: Auth lib: Remove 3PI config url validation

To support TPC feature for BYOID (3PI), we need to remove the validation the pattern of impersonation endpoints, sts endpoints and token info endpoints since they are different in TPC regions.
A security review is already passed at b/261634871

@BigTailWolf please sign the CLA. Login to the EasyCLA using your @google.com email.
@veblush I do not see any issues with this PR, can you take a look as well. Should this be added to the release notes?

@eugeneo Signed in.

Thanks for the PR!
I think this is the rollback of https://github.com/grpc/grpc/pull/26966 and the corresponding unit test might need to be removed.


Add download shorthand to template header

So users can easily download .gitignore file in terminal after selecting templates on the website

Hi @OndroNR
Thank you for contributing!
I see where you're coming from and I totally appreciate the intention. But wget is not available on all platforms and some people might get confused why an instruction available on the website is not working on their machine. That could lead to people opening issues that are not necessarily related to gitignore.io.
All in all, copying the URL from the browser and using it alongside any command-line tool is pretty straightforward and I think we should leave people to their own preferences.
I like your thinking, though! We're planning to do series of UX improvements on this app and I'll definitely add your idea to our ideas bucket.

Hi @filipechagas
I am looking forward to UX improvements :) I just would like to know, what development platforms would include git, but not wget. Thank you.


Three priority datasets: Population, crop production and price

See slide: https://docs.google.com/presentation/d/1I1mz5l4Shzqll3jSu9ljd7_-rKngu38Fj0Eh3xOqwgw/edit#slide=id.g53d7d09120_0_7

See yellow highlight:
https://docs.google.com/spreadsheets/d/1CWpqWjvnx5KQNVGW73k4zCm-A6URdQqehtT4ncvkShc

Uploaded three datasets to WM datamart instance. The dataset ids are: KIMETRICA-WFP, ETH-CROP, ETH-CROP


klms support for img2img

I found this working implementation of klms for img2img... but this project has moved too far away from the original implementation for me to even know where to start to weave this in the current code format...
But here is how it can be done and maybe you can weave this in the code for klms support: https://github.com/lstein/stable-diffusion.git

You sent a link to this repository. Please check.

Dang. my bad. Here is the right link: https://github.com/hlky/stable-diffusion/blob/main/scripts/img2img_k.py

It seems like, after #12 (I guess?) k_lms support is merged and working. python scripts/dream.py --help (from today's main/HEAD) shows
*snip*
  --sampler {plms,ddim,klms}, -m {plms,ddim,klms}
                        which sampler to use (klms) - can only be set on command line
*snip*

and, indeed, doing identical generations using --sampler plms vs. --sampler klms yields images which are visibly (although subtly) different

Actually the ability to select different samplers is only working for text2img. It goes back to the original DDIMS method when using img2img. This is how it was set up in the CompViz img2img script and I've not dug deeply into it, since sampling differences seem to be less of an issue when there is an init_img.

Sorta related - saw this analysis - https://i.redd.it/ud12agb7goj91.jpg and immediately flipped my default to k_euler and yes indeed I don't get the multi-colored artifacts.
To the point of the post, yeah the init_img is less affected by sampler choice, and since ddim is actually pretty good already...

This feature was folded in a couple of days ago. See 41b26e0520d9e04ed19b4e464321af920774168b

Actually the k_lms sampler is only active when you do a text prompt. If you
include an image (i.e. img2img) it falls back to ddims. The img2img code is
quite different from the txt2img code, and I didn't feel comfortable
attempting this on my own. But, yeah, if you do text prompts, you'll get
the better k_lms sampler.
Lincoln
On Tue, Aug 23, 2022 at 3:10 PM tildebyte @.***> wrote:

It seems like, after #12
https://github.com/lstein/stable-diffusion/pull/12 (I guess?) k_lms
support is merged and working. python scripts/dream.py --help (from
today's main/HEAD) shows
snip
--sampler {plms,ddim,klms}, -m {plms,ddim,klms}
which sampler to use (klms) - can only be set on command line
snip
and, indeed, doing identical generations using --sampler plms vs. --sampler
klms yields images which are visibly (although subtly) different
—
Reply to this email directly, view it on GitHub
https://github.com/lstein/stable-diffusion/issues/36#issuecomment-1224653435,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAA3EVMDBQVZQ4K2RJ3Z4DTV2UO3RANCNFSM57LZY5HA
.
You are receiving this because you commented.Message ID:
@.***>

--
Lincoln Stein
Head, Adaptive Oncology, OICR
Senior Principal Investigator, OICR
Professor, Department of Molecular Genetics, University of Toronto
Tel:<PHONE_NUMBER>
Cell:<PHONE_NUMBER>
@.***
E**xecutive Assistant
Michelle Xin
Tel:<PHONE_NUMBER>
@.*** @.**>
Ontario Institute for Cancer Research
MaRS Centre, 661 University Avenue, Suite 510, Toronto, Ontario, Canada M5G
0A3
@OICR_news
https://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftwitter.com%2Foicr_news&data=04|01|Michelle.Xin%40oicr.on.ca|9fa8636ff38b4a60ff5a08d926dd2113|9df949f8a6eb419d9caa1f8c83db674f|0|0|637583553462287559|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=PS9KzggzFoecbbt%2BZQyhkWkQo9D0hHiiujsbP7Idv4s%3D&reserved=0
| www.oicr.on.ca
Collaborate. Translate. Change lives.
This message and any attachments may contain confidential and/or privileged
information for the sole use of the intended recipient. Any review or
distribution by anyone other than the person for whom it was originally
intended is strictly prohibited. If you have received this message in
error, please contact the sender and delete all copies. Opinions,
conclusions or other information contained in this message may not be that
of the organization.


User Story

DEPLOYMENT
User Story
AS A bootcamp student
I WANT a portfolio of work
SO THAT a typical hiring manager’s can view my skills and talents
Acceptance Criteria
GIVEN GitHub repository contains application code
WHEN a user trawls the website
THEN Application deployed at live URL.
AND Application loads with no errors.
AND Application GitHub URL submitted.

Application deployed at live URL.
AND Application loads with no errors.
AND Application GitHub URL submitted.


chore: repository governance

Repository governance update
This PR was automatically created by the AVM Team hive-mind using the grept governance tool.
We have detected that some files need updating to meet the AVM governance standards.
Please review and merge with alacrity.
Grept config source: git::https://github.com/Azure/Azure-Verified-Modules-Grept.git//terraform
Thanks! The AVM team :heart:

@matt-FFFFFF @mbilalamjad  can you approve this so i can merge it?


CI does not work on pull_request

CI does not work on pull_request.
please take a look at https://github.com/aurora-scheduler/scheduler/pull/445/checks

@ridv @zorro786  hi, our Action CI does not work any more on this repo. and it just works fine on other repo.
I do not see the Action tab on

Do you guys see it?

You need to enable it inside of the options. I turned it off a few months ago because it kept failing and didn't have the time to fix it.

oh thanks for enabling it back. let me take a look.


npm ERR! path /package.json

tqd-node         | npm ERR! path /package.json
tqd-node         | npm ERR! code ENOENT
tqd-node         | npm ERR! errno -2
tqd-node         | npm ERR! syscall open
tqd-node         | npm ERR! enoent ENOENT: no such file or directory, open '/package.json'
tqd-node         | npm ERR! enoent This is related to npm not being able to find a file.
tqd-node         | npm ERR! enoent
tqd-node         |
tqd-node         | npm ERR! A complete log of this run can be found in:
tqd-node         | npm ERR!     /root/.npm/_logs/2021-11-30T15_57_13_712Z-debug.log
tqd-node exited with code 254

may I have some context?

on cammand sudo docker-compose up its show the above error.

any update please...

@theZulqarnain  I am facing the same issue. Did you find any solution?

I have faced same issue and also found solution.
Change docker-compose file and data->index.js its worked for me.
docker-compose.yml
version: '3'
services:
api: # Node.js App
container_name: tqd-node2
build: .
ports:
- "3000:3000" # Expose API port
- "9229:9229" # Expose Node process debug port (disable in production)
environment: # Set ENV vars
- NODE_ENV=local
- ES_HOST=elasticsearch
- PORT=3000
volumes: # Attach local book data directory
- ./src/data:/usr/src/app/quotes
elasticsearch: # Elasticsearch Instance
container_name: tqd-elasticsearch2
image: docker.elastic.co/elasticsearch/elasticsearch:7.16.2
volumes:
- esdata:/usr/share/elasticsearch/data
environment:
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- discovery.type=single-node
ports: # Expose Elasticsearch ports
- "9300:9300"
- "9200:9200"
volumes: # Define seperate volume for Elasticsearch data
esdata:
index.js
const elastic = require("../elastic");
const quotes  = require("./quotes.json");
const esAction = {
index: {
_index: elastic.index,
_type: elastic.type
}
};
[
{
index: {
_index: elastic.index,
_type:  elastic.type
}
},
{
author: "quote author",
quote:  "quote"
}
]
async function populateDatabase() {
const docs = [];
for (const quote of quotes) {
docs.push(esAction);
docs.push(quote);
}
return elastic.esclient.bulk({ body: docs });
}
populateDatabase()
console.log("data inserted");


version and help are double printed

This as expected:

app help

These double the help output or version string, respectively:

app -h
app --help
app -h help
app --help help
app -v
app --version

Submitted #286 with a simple fix and explanation.


docs(putty): Fix wording of f4f1f9e4459742d28fcffb7103b8c7d85dcd8910

This is just a simple English grammar fix.

P.S.: You might want to come up with a better commit name when merging.
review?(@majkinetor)

:white_check_mark: Package verification completed without issues. PR is now pending human review


Changes browser inspect menu item error dialog

I was browsing around in changes browser and selected a removal... there's a pop up menu with inspect and browse... I clicked inspect...
and got an error dialog saying "MCRemoval does not understand #inspect".  In fact I get a similar error dialog for every change in the changes list.
This is with Jadeite 2.0 and the latest candidate branch (1a3301e).
I don't think it's necessarily a build-breaking type crisis that should delay work on the actual release...

in case this is still relevant

There's no inspect option as of 3.0.74, and the three browse menu items all, reasonably, say they can't browse.


SKTypeface.FromFamilyName returns inconsistent result

I have a service backing a .NET Core Web API that generates images from text (i.e., a picture of the given text).  I have a small method that returns the appropriate SKTypeface, based on the inputs of font family name, bold, and italic.
The first few lines of this method are as follows:
    private static SKTypeface getNewTypeface(FontSettings fontSettings)
    {
        Console.WriteLine(
            $"getNewTypeface (bold: {fontSettings.bold}, italic: {fontSettings.italic})");

        if (!string.IsNullOrWhiteSpace(fontSettings.familyName))
        {
            return SKTypeface.FromFamilyName(fontSettings.familyName,
                fontSettings.bold ? SKFontStyleWeight.Bold : SKFontStyleWeight.Normal,
                SKFontStyleWidth.Normal,
                fontSettings.italic ? SKFontStyleSlant.Italic : SKFontStyleSlant.Upright);
        }

        ...
    }

After three or four tries, I encounter the following situation:

fontSettings.familyName is a valid family name (e.g., "Helvetica")
the Console.WriteLine shows "bold: True" and "italic: True"
the returned SKTypeface.Style is "Italic"

Any thoughts on what might be happening?
Thank you...

What platform is this?
I did a check on Windows and Mac and both return BoldItalic. What may also be different is the Weight, mine is 700 (bold).

.NET Core (standard 1.1) / Kestrel, developing / debugging on the latest Mac OS.

I can't report this on my mac. Here is my sample:
Archive.zip
Does this work for you? If so, could you share some code.

me too! i input "SimSun" trun to  "Helvetica"


Problem mounting file inside mounted volume

Somehow after rebooting the computer twice it worked. No idea why.
Output of docker version:
Client:
 Version:      1.11.1
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   5604cbe
 Built:        Wed Apr 27 00:34:20 2016
 OS/Arch:      darwin/amd64

Server:
 Version:      1.11.1
 API version:  1.23
 Go version:   go1.5.4
 Git commit:   8b63c77
 Built:        Fri Apr 29 14:13:26 2016
 OS/Arch:      linux/amd64

Output of docker info:
Containers: 2
 Running: 2
 Paused: 0
 Stopped: 0
Images: 70
Server Version: 1.11.1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 364
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge null host
Kernel Version: 4.4.6-moby
Operating System: Alpine Linux v3.3
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.956 GiB
Name: docker
ID: GVJJ:DMTD:5QN6:BG3S:MPLX:NLQU:5HJL:7TSG:PNHM:FN2M:GYMM:INU6
Docker Root Dir: /var/lib/docker
Debug mode (client): false
Debug mode (server): true
 File Descriptors: 22
 Goroutines: 48
 System Time: 2016-05-05T10:57:19.360033075Z
 EventsListeners: 1
Registry: https://index.docker.io/v1/

Additional environment details (AWS, VirtualBox, physical, etc.):
Latest Mac OS, running Docker for Mac Beta
Steps to reproduce the issue:
docker run -v /private/tmp/test_directory:/src:rw -v /private/tmp/my_test_file.json:/src/my_file.json:rw ubuntu:latest
Describe the results you received:
docker: Error response from daemon: rpc error: code = 2 desc = "oci runtime error: could not synchronise with container process: not a directory".
Describe the results you expected:
Running the docker normally with the directory mounted with the file inside also mounted`
Additional information you deem important (e.g. issue happens only occasionally):
With docker toolbox 1.9 I was able to mount a volume to a docker and then mount a file inside that volume.
To avoid this situation I could move the file to the directory before mounting it, but my use case is to have multiple dockers running in the same directory using different files.
I looked at #22447 but | am sure the directory and the file both exist.
Note: Also reported in https://forums.docker.com/t/problem-mounting-file-inside-mounted-volume/11035

Somehow after rebooting the computer twice it worked. No idea why.


Job lock plugin without reequeue

It would be useful to allow the job lock plugin to behave similarly to the queue lock plugin, in that if the job is already running to throw it away rather than calling reEnqueue. I think this would be an easy addition that could be passed as an option to the job lock plugin like reEnqueue: false that could default to true. This is useful for jobs that you never want running at the same time and don't care about requeueing them.

Pull requests are welcome!
Let me know if you need help setting up your local environment for testing


Suggestion around improving motivation section

Not a requirement or anything like this, just thinking about some of the confusion around motivation that people brought up. Feel free to close if not useful.
My reading of the motivation right now is that it is primarily usecase, which isn't a motivation. Here is my understanding of what is being solved by this proposal and what I would say about the motivation, which may not be entirely correct (feel free to use what is useful. This is a bit verbose.)

When writing synchronous JavaScript code, a reasonable expectation from developers is that variables are consistently available over the life of a scope, whether they are implicit (existing outside of the scope itself, for example defined on an external object that at least one internal function call has access to) or explicit (for example in the definition of a function).
Async/await syntax improved in ergonomics of writing asynchronous JS. It allows developers to think of asynchronous code in terms of synchronous code. The behavior of the event loop executing the code remains the same as in a promise chain. However, passing code through the event loop loses implicit information from the call site because we end up replacing the call stack. In the case of async/await syntax, the loss of implicit call site information becomes invisible due to the visual similarity to synchronous code -- the only indicator of a barrier is the keyword await. As a result, code that "just works" in synchronous JS has unexpected behavior in asynchronous JS while appearing almost exactly the same.
The above problem existed already in promise callback-style code, but the introduction of async/await syntax has aggravated it by making the stack replacement almost undetectable. This proposal introduces a general mechanism by which lost implicit call site information can be captured and used across transitions through the event loop, while allowing the developer to write async code largely as they do in cases without implicit information. The goal is to reduce the mental burden currently required for special handling async code in such cases.

Additionally, I would strongly recommend splitting the motivation from usecases. Possibly move usecases into a separate document if it makes the explainer too long to comprehend. They provide different kinds of information with the goal of making a case for a proposal. Motivation is the elevator pitch: a succinct (lol @ what i wrote above) description of the problem to be solved. Usecases demonstrate the application of the problem -- they are not generic in the way that a motivation is. We sometimes mix these up, but I think for this proposal in particular splitting these two and having a clear, strong motivation will be helpful.

Wonderful! I'm going to open a PR with a few modifications later today.

I very much agree (if I may paraphrase) that JavaScript's event loop is the underlying source of the problems motivating the AsyncContext proposal, independent of specific use cases.
Extrapolating a bit, I suspect any programming language with an asynchronous event loop (such as JavaScript, Python, or even Rust when using the Tokio event loop system) will exhibit the problems AsyncContext is aiming to solve, leading the language's designers to consider ways of allowing "lost implicit call site information" to be "captured and used across transitions through the event loop," as you put it so clearly.
The PEP for Python's version of AsyncContext, contextvars.Context and contextvars.ContextVar, may be worth reading for comparison: https://peps.python.org/pep-0567/


DashCast Question/Help/Possible Bug

This is my current snippet:
chromecast.send(dashcastNamespace, new ChromecastRequest(url, true, false, 0));
And the chromecastRequest class is the exact same as the one on the Readme page.
I successfully start the chromecast app, and see my receiver on the screen, but when I execute that chromecast.send(...), it displays the receiver.html (doesn't change) with the error page of my spring boot tomcat server, even though the url is set to something like http://www.google.com. It's really weird to me cause I basically am just using code that is on the repo page. (To be clear of the behaviour I'm seeing, it displays the error page like 404 of the server that the receiver.html page is hosted on overlayed ontop of the receiver.html page whenever I call send. This happens even when the url I am sending to the dashcast receiver is a public url to on some other domain, like google.com. When I cast using the dashcast sender html page, it works correctly, but the send mehod to the same url with the same settings does not work.)
I also have looked through the smoke test in the repo, but it seems confusing because it uses both the Request and Response classes, and it seems pretty much exactly the same to what I'm doing.
I am simply trying to display a webpage, for example. I am able to cast to the dashcast app using the dashcast sender app, but not using the custom request class.
Please let me know if you need more info, any help is much appreciated.

Here is the code I am using for testing next version of this library before releasing (integration test). It's using DashCast and works just fine for me:
public class Main {
    public static void main(String[] args) throws Exception {
        ChromeCast chromecast = new ChromeCast("<IP_ADDRESS>");

        testDashCast(chromecast);

        chromecast.disconnect();

        Thread.sleep(10 * 1000);
    }

    static class DashCastRequest implements Request {
        @JsonProperty
        final String url;
        @JsonProperty
        final boolean force;
        @JsonProperty
        final boolean reload;
        @JsonProperty("reload_time")
        final int reloadTime;

        private Long requestId;

        public DashCastRequest(String url,
                               boolean force,
                               boolean reload,
                               int reloadTime) {
            this.url = url;
            this.force = force;
            this.reload = reload;
            this.reloadTime = reloadTime;
        }

        @Override
        public Long getRequestId() {
            return requestId;
        }

        @Override
        public void setRequestId(Long requestId) {
            this.requestId = requestId;
        }
    }

    static void testDashCast(ChromeCast chromecast) throws Exception {
        runApp(chromecast, "5C3F0A3C");

        chromecast.send("urn:x-cast:es.offd.dashcast",
                new DashCastRequest("http://yandex.ru", true, false, 0));
    }

    static void runApp(ChromeCast chromecast, String appId) throws Exception {
        // Get device status
        Status status = chromecast.getStatus();
        // Run application if it's not already running
        if (chromecast.isAppAvailable(appId)) {
            if (status.isAppRunning(appId)) {
                chromecast.stopApp();
            }
            chromecast.launchApp(appId);
        }
    }
}

I have made another test and it shows me the front page of yandex.
So, if you just copy and paste above code (replace with the IP address of your chrome cast device of course) and run it, will it show you the correct page?

So it looks like very similar results between the two appIds. I have downloaded dashCast and made customizations, so it's slightly different, but when I run the above code it gives me a 404 on my server that is serving the receiver.
I also tried with the app ID you have above (5C3F0A3C), and it gave me a 404 on github which is really weird. Here's the code I used:
runApp(chromecast, "5C3F0A3C");     chromecast.send("urn:x-cast:es.offd.dashcast", new ChromecastRequest("https://www.google.com", true, false, 0));
And it successfully starts the chromecast app (for both my personal app ID and that one above), but then on the screen it shows a 404 on either my personal server, or when I use 5C3F0A3C it shows a 404 on github.
I'm not sure what's making it behave differently from what you are seeing

Just to make sure, I ran your code exactly (replacing only the IP of my chromecast) and got the same results:
It successfully starts the DashCast app, but instead of navigating to yandex.ru or google.com or whatever, it displays github's 404.
And what's weird is if I use the dash cast sender, it successfully displays the pages, but from the Java code it only shows 404 pages

Maybe version of chromecast or something?

I ran into this as well, and it's related to the jackson mapper version. The version used in this project is very old and used more lenient defaults. More recent versions of jackson don't let you serialize fields without getters (unless you tell it to make them visible), so DashCastRequest is only serializing requestId.
By modifying the class to have getters for all other properties (or making the fields public), it works as expected in jackson-databind 2.9.x.

That worked just right! Thanks so much for taking time to respond, @quanticc, I've been trying to solve this for like months. I remember having issues with conflicting dependencies with jackson that I eventually solved but it's popped up as having issues again, so I'll have to keep my eye out for it in the future.
@vitalidze I'm not sure if you want to go ahead and close the issue or change something in the code, but either way let me know if you need anything from me. I'm going to close it, feel free to reopen it if you do want to make changes. Thanks for your help.
Happy casting.

@quanticc thank you very much for sharing this.
@kamenomagic I am not sure what to do with this as well. I think maybe it makes sense to configure the jackson for always handling all public properties to make it working with new version updates.

Sounds good to me, maybe we’d should add the getters to the example code?

Hi @kamenomagic and @quanticc . Do you have a simple case for reproducing this issue with inability to serialize fields without getters/setters? I was trying to reproduce this issues with jackson 2.9.4 (latest at the moment of writing) without any luck. Can you please assist me with writing of a test case?

@vitalidze If you don't explicitly add JsonProperty annotation to fields, for example like this:
    static class DashCastRequest {
        final String url;
        final boolean force;
        final boolean reload;
        @JsonProperty("reload_time")
        final int reloadTime;

        private Long requestId;

        public DashCastRequest(String url,
                               boolean force,
                               boolean reload,
                               int reloadTime) {
            this.url = url;
            this.force = force;
            this.reload = reload;
            this.reloadTime = reloadTime;
        }

        public Long getRequestId() {
            return requestId;
        }

        public void setRequestId(Long requestId) {
            this.requestId = requestId;
        }
    }

You can replicate the issue, as you'd get: {"requestId":null,"reload_time":0}
Adding one of these makes it work:

Getters
Public fields
JsonProperty
Modifying the ObjectMapper with mapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY)

Failing test case here.

@quanticc thank you very much for providing this test case. Still I am a bit lost here. An example both from this thread and from project's readme contains the @JsonProperty annotation on fields. So I don't understand why it didn't work for @kamenomagic
Thus, for now  I think I will leave mapper configuration untouched.
Again thank you for spending time on this. I appreciate your help!


Hook on loaded

Hi
This is probably just another iron router functionality, but is it possible to hook onto "loaded" of the template? I would like to add some page transitions and am lazy to put it in every single template.
In IR that was done in "loaded" hook.
Thanks

Sorry. FR don't do any template stuff.
This should be move into Flow Layout maybe.
But I suggest you to use Mixins and Blaze Components to avoid redundancy.


trust domain validation cherry pick for release-1.6

#26435
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[ ] Does not have any changes that may affect Istio users.

@googlebot I consent

#26435

@incfly: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio_release-1.6
9349936e2cc8eff24e946ff89cebc3181870aae8
link
/test unit-tests_istio_release-1.6

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

LGTM but do you also plan to cherrypick integ test PR? Or we'll be skipping that?

@yangminzhu would CP the test i assume.


Must manually import comet_ml before CometLogger to avoid import error

🐛 Bug
A few weeks ago, a refactoring of logger imports changed the ordering of imports for the CometLogger. However, comet requires for comet_ml to be imported before some other dependencies, i.e. torch and tensorboard, to work properly. If not, you get the following error:
ImportError: You must import Comet before these modules: torch, tensorboard

Before the imports reordering, comet's import requirements could be met by importing CometLogger before torch and tensorboard. However, since the refactoring, torch is now imported before comet in loggers/comet.py itself. This forces users to manually add an unused import for comet_ml before importing CometLogger to avoid the above ImportError.
To Reproduce
This BoringModel example reproduces the ImportError.
Expected behavior
Users should not have to manually import comet_ml before CometLogger to avoid triggering the ImportError. The comet_ml import inside loggers/comet.py should exceptionally come before the torch import, even if it violates usual import ordering.

Thanks for the report! Mind sending a PR to fix this?

cc @Borda

Sorry for the long delay in getting back to you on this issue. I tried to fix it by manually rearranging the imports, with the relevant annotations so that this manual placement would be ignored by isort. However, I can't seem to be able to make it work like it used to.
In the end, I think it might be better to solve this issue elsewhere for me, either in my own code or upstream with Comet to see if they can improve on their requirement of being imported first.

Seems like a pain to solve this.
@nathanpainchaud You can set a env variable COMET_DISABLE_AUTO_LOGGING=1, not sure how much it helps or what side effects it has.
Just saw it in the docs here.

@awaelchli Thanks for the link! I've not yet tried to disable Comet auto-logging, since I'm a bit fearful about the logging capabilities I might lose.
I first created the issue here because I thought it might be solved easily by simply reordering the imports in Lightning, but I'm fully aware that would only cover up the symptoms, and not treat the underlying issue. I think the best solution, even if it's ugly IMO, is to manually import Comet at the very beginning of my main script.
A more permanent resolution to the issue, if possible, should come from upstream. Therefore, I'm closing the issue here, but if anyone as a better idea on how to resolve this issue, they're welcome to re-open it :slightly_smiling_face:

So I have something to add to this which is very strange. I usually run my experiments on a slurm cluster, I just found that when I launch through sbatch I don't get this error, but when I use srun to get a terminal on a node to do some debugging I do get the error. I have no idea why they would be different.


Is sh/database-creations.sh still compatible with recent MySQL 8 versions

I had to replace all "$1" by --password="$1"; on my machine that as a quite recent version of MySQL 8.
Version is:
mysql  Ver 8.0.23-0ubuntu<IP_ADDRESS> for Linux on x86_64 ((Ubuntu))
Is it more safe in all case to have --password="$1" in sql commands?
I cannot recall why we just had "$1" do you? I just guess it was working fine older version of MySQL 8.

If I recall correctly, I didn't modify the way we pass password to sql command. For what it worth, I prefer having "--password=" written than it being implicite. I think it's easier to understand. But I cannot say if it's safer or not.

That is what I recall too. We will have to create a PR.