Constrain to newest Pydantic

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Not sure why the bot doesn't want to merge. But I did find some Azure ads in the logs: https://github.com/conda-forge/openff-interchange-feedstock/actions/runs/5071221470/jobs/9107338520


Feature Request: Use they same slide index numbers as  an 'Existing Slick'

When attaching a slick-lightbox to an existing slick, it would be nice if the slides in the slick-lightbox had the same slide number as their corresponding slide in the original existing slick. Currently the slick-lightbox's slide numbers are generated such that the first slide is always 0 even if the user clicked on slide 3 to launch the slider.
Keeping the slide numbers in sync makes more advanced interactions between the two sliders much easier.

That's definitely a valid request. Will look into that, thanks.


Add a more detail to the README on how to run the examples

It's very useful update. Thank you a lot! 👍


Possibility to expose Vim instance for monkey-patches?

I have received feature request from users who want to allow Chinese word splitting to work in vim mode. After checking the source code of codemirror-vim, it seems that it's using a private method to detect words instead of findWordAt in cm5 or wordAt in cm6. It should be able to be monkey-patched similar to how Chinese word splitting has been implemented in cm5, but it seems like the vim instance is not exposed to plugins. So I'm wondering if it's possible to access the vim instance?

You can access the cm6 vim mode through window.CodeMirrorAdapter.Vim.

Thanks!


remove-unused-schema not working for collection-type responses

Describe the bug
Schema that has a collection-type returning response like the following doesn't keep the response classes.
OpenAPI Specifications
  '/v1/GetCollectionItems':
    get:
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TheCollectionItemType'

This is due to https://github.com/christianhelle/refitter/blob/30e07cfadfea3ccd76f1f2159309ef9162e63831/src/Refitter.Core/SchemaCleaner.cs#L161 not yielding the schema.Item-Property aswell.
NSwag doesn't populate the schema.Items-Schema collection, instead it populates the single schema.Item for the type.

Thanks for taking the time to report and fix this @kirides


Stylish Haskell config

This Stylish Haskell configuration formats the code similarly to how it already is. I've formatted two files to show the differences. There may be other differences, as well.
The differences could be reduced further by disabling the simple_align settings.
Footnote for Emacs users: I've tested this to work with haskell-mode-format-imports (https://github.com/haskell/haskell-mode/blob/886795c15036d566aeced66f9508ae61ec0287ec/haskell-mode.el#L1069)

format.sh already formats with ormolu.  I'm not sure we want the two tools warring with each other.

Oh cool, I didn't realize this project used Ormolu, thanks


Is there anyway to detect whether a device has a physical home button?

Question
Hi guys, currently I'm doing the styling for my app on iPad devices and my app has a bottom navigator. The problem is I cannot detect whether a specific iPad has a virtual vertical bar or not, in order to increase the bottom padding for my bottom navigator, you guys can see details in the image below:
This is iPad Pro (12.9-inch) (3rd Generation) without a physical home button (has a virtual vertical bar) --> the additional bottom padding is reasonable in this case

This is iPad Pro (9.7-inch) with the physical home button --> the additional bottom padding is unreasonable in this case

I think what you really want is a more powerful solution, and this libraries current hacky/lookup-table based solution even for 'hasNotch()' is frankly not a good idea :-). https://github.com/th3rdwave/react-native-safe-area-context is the full-powered solution, you'd want to get the insets and behave accordingly if I understand correctly - I've been chatting in another issue https://github.com/react-native-community/react-native-device-info/issues/594#issuecomment-527729365 with @janicduplessis about some way to shift our current and desired APIs about safe area (which is what hasNotch is about, really) to that library and I think this is another case where it's useful. Might be just a simple PR even to expose the info you need. Until then though I'm not sure how you'd accomplish it

@mikehardy Thanks a lot for your details explanation!!!


Fix the link to fred's github page

Link was wrong so I fixed it.

I assumed his last name wrong as well, turns out it's Anderson and not whatever his middle name is (starting with J)


DINO

Yannic just released an interesting video about DINO that seem to produce great results in self-supervised learning
Is it feasible to suggest this be added here?
https://arxiv.org/abs/2104.14294
https://ai.facebook.com/blog/dino-paws-computer-vision-with-self-supervised-transformers-and-10x-more-efficient-training

@FilipAndersson245 sure! i could add it - but just so you know, Facebook AI also released a library (I usually only write a library if the author hasn't released the code yet and I get impatient)

Actually I'll just build it, it's a really important paper :)

@FilipAndersson245 I did a first-pass reimplemention of Dino in 0.18.0 https://github.com/lucidrains/vit-pytorch#dino let me know if that looks good to you!


New Command: return yammer user

Returns the current user or a user by id or e-mail from the Yammer network
yammer user get --userId number --mail string
--userId (optional): id of the user
--mail (optional): mail of the user
With no params, returns the current user
br,
Patrick

Thanks for the proposal. Wouldn't it be easier to specify separate options for email and ID so that we can validate the specified value and it's obvious to the user what value they can pass without having to read the docs?

I am fine in providing two parameters.

Could you please update the spec to make it clear to everyone else what we're building?

Done, just assign it to me

@waldekmastykarz as far as I understood from #1115 we are almost done. Is ist fine for you to proceed with this command based on the discussion we had in #1101 ?

network listing: #1115
user retrieval: #1107
full user retrieval: #1113
yammer message list: #1104
yammer message retrieval: #1105
yammer message posting: #1105
yammer message delete: #1106
Then I would go and implement the group commands. Afterward, we should try to look at what is left and improve the current commands further.

Yes! Please do! I'm going through the open PRs as we speak and #1115 should be merged to dev shortly. Appreciate your help!


customizable  column names

makes csv column names customizable by using a provided function from a higher level.
This way the csv column names can be adjusted to the needs of the application, e.g long and verbose or short and distinct

Merging on behalf of @thoniTUB


Caller should be able to selectively disclose supported protocols

When aries-vcx agent queried via https://didcomm.org/discover-features/1.0/* about which Aries protocol it supports, it replies with list of all protocols implemented in aries-vcx.
The fact that the protocols are implemented in libvcx doesn't mean an agent wants to use them/disclose them. AriesVCX user should have control over which protocols will be disclosed.

This issue will be solved through the ProtocolRegistry impl in the refactored messages crate.


Make a brush wrong position

RealtimeCSG makes a brush an unintended position. This issue happens when you make a brush in the subtracted hollow.

Thanks for letting me know. The problem is because the ray cast from the mouse to the surface should ignore a removed polygon, but doesn't. I'll fix this in 1.524

This has been fixed in 1.524, which I just uploaded to RealtimeCSG.com .. I'll close this ticket once this version is available from the asset store!

Thanks for fixing it. Brushes are still made in the wrong place.

Sorry about that, try version 1.525. There was a typo which made this not work in the Y direction ..

It works well! Thanks for quick fix.


Suggestions of Jekyll Plugins

I went through the list of jekyll plugins and I am attaching each to a comment so they can be voted on!

Jekyll-tagging
Jekyll plugin to automatically generate a tag cloud and tag pages.

Related Posts
Replaces jekyll's related_posts function to use tags to calculate relationships

Simple-Jekyll-Search
A JavaScript library to add search functionality to any Jekyll blog.

Markdown References
Add references.rb file to your _plugins directory (create it if needed). Create a file named _references.md in your Jekyll site root, then add your markdown reference-style link definitions to it.

Deprecated Articles
deprecating_keeper.rb is a simple Jekyll filter which monitor how old an article is. Some articles like about third party API, library etc. can be valid for certain terms. This code fragment will render 'This article might be too old.' after 6 months.

OEmbed Liquid Tag for Jekyll
This is a simple liquid tag that helps to easily embed images, videos or slides from OEmbed enabled providers. It uses Magnus Holm's great oembed gem which connects to the OEmbed endpoint of the link's provider and retrieves the HTML code to embed the content properly (i.e. an in-place YouTube player, Image tag for Flickr, in-place slideshare viewer etc.).

Jekyll Gallery Tag
Jekyll plugin to generate thumbnails from a directory of images and display them with a Liquid tag

FontAwesome Icon Liquid Tag
An include tag for FontAwesome icons

Jekyll Figure
Adds a Liquid figure tag to a Jekyll site

GitHub Sample Tag
Two Jekyll Liquid tags to display a code sample from a file in a public Github repo and provide a reference to it.

Liquid Gist Tag for Jekyll
Liquid tags to render gists

Jekyll Maps
Easily embed GoogleMaps with locations from your Jekyll posts or data files.

Jekyll Tagging Related Posts
Jekyll related_posts function based on tags (works on Jekyll3). It replaces original Jekyll's related_posts function to use tags to calculate relationships.

Jekyll Remote Include
It’s like {% include file.html %} but instead of grabbing files from your _includes directory it gets the file from a remote URL.

Jekyll Admin
A Jekyll plugin that provides users with a traditional CMS-style graphical interface to author content and administer Jekyll sites.

Jekyll Gallery Generator
A Jekyll plugin that generates photo galleries from directories full of images.

Jekyll Thumbnailer
Image thumbnailing plugin for Jekyll / octopress

Jekyll Get
Jekyll plugin to download data from external JSON sources to use in generating a site

Jekyll Flickr Set Tag
A Jekyll plugin for generating image galleries from Flickr sets.

Jekyll Auto Image
jekyll plugin that makes available the first image of a post in the template

Jekyll Directory
a jekyll plugin for exposing a directory's files

Gekyll
Gekyll is a Jekyll plugin that lets you use Git repositories as posts, giving you access to a post's commits, diffs, and more.

Jekyll Page Collections
Jekyll plugin to manage collections of pages just like posts

Jekyll Pages Api
a Jekyll Plugin that generates a JSON file with data for all the Pages in your Site

Jekyll TOC
A liquid filter plugin for Jekyll which generates a table of contents.

Instagram Jekyll
Jekyll plugin to display Instagram photos.

Jekyll Figure Image Tag
Image Jekyll plugin for generating figure/image/caption HTML content

Jekyll YAML block
🔻 Jekyll plugins to capture YAML sections in a variable.

Jekyll Type Filter
🔻 Jekyll plugins to check variable type.

Jekyll RSS absolute URLs
A Jekyll plugin that converts relative URLs to absolute ones in href and src attributes. Designed for RSS feeds.

Jekyll Site Menus
This jekyll plugin enables enables you to define site menues within your _config.yml file.

Jekyll Version Plugin
A Liquid tag plugin for Jekyll that renders a version identifier for your Jekyll site, sourced from the git repository.

Jekyll Avatar
A Jekyll plugin for rendering GitHub avatars

Jekyll Footnotes
A Jekyll plugin for footnotes

Jekyll Include Absolute Plugin
A liquid tag to include a file from its path relate to Jekyll's source folder

Jekyll Remote Markdown
Jekyll plugin to deal with remote markdown files.

Jekyll Giphy
Plugin for adding Giphy GIFS on Jekyll sites http://vfalanis.me/giphy/

closing since it's so old


Misleading information - Exchange User Detail

[Enter feedback here]
One section of this document states:
For which timeframe is data available?
The majority of the reports display data for the previous 12 months. However, some of the charts may show less history since the data collection for different products and reports were started at different times and thus data for the full 12 months might not be available. All the reports will eventually build up to 12 months of history. Reports that show user level details show data for the previous complete month.
The statement "Reports that show user level details show data for the previous complete month." is contradictory to the data displayed in the User Activity section, under Exchange User Detail.  I ran a message trace report in Exchange Admin Portal, and those statistics under Exchange User Detail seem to reflect 12 months.  They definitely do not reflect the previous month.  I have a user who the report says sent over 6000 messages.    I run a prior 1 month report in EAP - 168 messages.  I run 90 days - 830 messages.  No where close to 6000.
For most of the reports/dashboards, they are clearly labelled with the timeframe.  i.e. August 2023 Storage Used, September 2023 Activation %.  For some reason the User Activity\Exchange User Detail isn't labelled with a timeframe nor are there any filters related to time/date filtering.

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

ID: 4ebdb9f0-76a5-eebc-4cd7-95f5407ed029
Version Independent ID: 05abf201-e31c-08c0-a7fc-8fd46202e8b0
Content: About Microsoft 365 usage analytics - Microsoft 365 admin
Content Source: microsoft-365/admin/usage-analytics/usage-analytics.md
Service: microsoft-365-business
GitHub Login: @efrene
Microsoft Alias: efrene

@efrene Please help us in resolving this issue. Thanks


Help with MacOS

Hello,
First of all thank you for creating this. I am trying to figure out how to run this on a Mac to access servers on my PS4, and this is completely due to me not understanding all steps and some basic principles, rather than any issue with Phantom itself. I almost need a more dumbed-down walkthrough, but all of the videos I can find are showing on Windows.
First confusion: When I download Phantom do I only need the phantom-macos txt file? Or do I also need to use the sourcecode.zip? I did download both and put them in a folder together, but based on Windows videos, I was confused if I need both or JUST the phantom-macos file.
Once I have those downloaded, I just need a more clear explanation of what to enter into Terminal. For example, I am currently typing this to the terminal and hitting enter:
chmod u+x ./Users/myname/Documents/Minecraft/phantom-macos server play.lbsg.net:19132
Terminal then kicks out the following:
chmod: ./Users/myname/Documents/Minecraft/phantom-macos: No such file or directory
chmod: server: No such file or directory
chmod: play.lbsg.net:19132: No such file or directory

I added the chmod at the front per the instructions on this site, due to Terminal saying "Permission Denied" when I simply dragged the phantom-macos file and added the server name/port number.
If someone could explain in simpler, very specific instructions of where to put the chmod portion and what files exactly I should be dragging to Terminal, that would be a great help!
Thank you!

Update: I did figure out the answers to my questions above (figures, after hours of trying, got it after posting). The server now shows up in my LAN games which is great progress. Next problem, when I try to join on my PS4 it says unable to connect.
The Terminal on my Mac shows the following (IP addresses removed):
chmod u+x /Users/brycemorrison/Documents/Minecraft/phantom-macos 10:43AM INF Cleaning up idle connection: <IP_ADDRESS>:59266 10:43AM WRN read udp IPADDRESS->IPADDRESS: use of closed network connection
I'm reading through the other threads here to see if I can solve, but wanted to update my post before someone spends too much time answering. If anyone knows the answer to this new issue that would help.
Thank you.

Update 2: I figured it out by adding the port 19132 to port forwarding in my router settings. Successfully in a world right now. THANK YOU Jhead, my friends and I have a mix of PC and PS4 users. We have been complaining all quarantine about how the PS4 guys can't connect to a server, so we have had to play on a hosted PS4 world. This is awesome!
Have a great day.


iOS fetch() POST fails if called too soon, with app running in background

Description
I use deeplinks to launch/focus my app from a webpage.
The link looks like ttgm://something
I parse the "something" and immediately make a fetch call.
80% of the time this fetch call fails, IF it's a POST (switching it out for a GET works 100% of the time)...
TypeError: Network request failed
at anonymous (http://<IP_ADDRESS>:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=com.thxyzabc.defhty:22664:33)
at apply (native)
at anonymous (http://<IP_ADDRESS>:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=com.thxyzabc.defhty:27853:26)
at _callTimer (http://<IP_ADDRESS>:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=com.thxyzabc.defhty:27788:17)
at callTimers (http://<IP_ADDRESS>:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=com.thxyzabc.defhty:27948:19)
at apply (native)
at __callFunction (http://<IP_ADDRESS>:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=com.thxyzabc.defhty:5307:36)
at anonymous (http://<IP_ADDRESS>:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=com.thxyzabc.defhty:5057:31)
at __guard (http://<IP_ADDRESS>:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=com.thxyzabc.defhty:5255:15)
at callFunctionReturnFlushedQueue (http://<IP_ADDRESS>:8081/index.bundle?platform=ios&dev=true&minify=false&modulesOnly=false&runModule=true&app=com.thxyzabc.defhty:5056:21)
The fetch call is over https (no issues with NSAllowsArbitraryLoads, etc), and works "sometimes".
I am debugging with Flipper.
If I add a short sleep for 500ms before making the call it works.
e.g.
            try {
                await new Promise( resolve => setTimeout( resolve, 500 ) );
            }
            catch ( error )
            {
                this.showOverlay( { type: 'error' } );

                Log.error( { function: _function, error: error } );
            }

I have seen this issue for many years and had old comments in my code to use GETs to work around this issue, but recently re-factored and used POSTs everywhere.
Version
0.70
Output of npx react-native info
info Fetching system and libraries information...
System:
OS: macOS 12.3.1
CPU: (8) x64 Intel(R) Core(TM) i7-1068NG7 CPU @ 2.30GHz
Memory: 11.35 GB / 32.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 19.1.0 - /usr/local/bin/node
Yarn: Not Found
npm: 8.19.3 - /usr/local/bin/npm
Watchman: 2<IP_ADDRESS> - /usr/local/bin/watchman
Managers:
CocoaPods: 1.11.3 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
Android SDK: Not Found
IDEs:
Android Studio: 2021.3 AI-213.7172.25.2113.9123335
Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
Languages:
Java: 11.0.17 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 18.1.0 => 18.1.0
react-native: 0.70.6 => 0.70.6
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
Steps to reproduce
Create app that accepts deeplinks.
Linking.addEventListener( 'url', ... )
Link from a webpage to launch the app.
Snack, code example, screenshot, or link to a repository
App.js
import { AppError, Log, API } from './src/Helpers';
export default class extends React.Component
{
deeplinkListener( data )
{
this.handleDeeplink( data.url );
}
async componentDidMount()
{
    try
    {
        Linking.addEventListener( 'url', this.deeplinkListener );
    }
    catch ( error )
    {
        console.log( error );
    }
}

async handleDeeplink( url )
{
    try {

        let matches = url.match( /(\d+(a|g|u)[a-f0-9]+)/ );

        Log.debug( _function + ": matches: ", matches );

        if ( matches && matches[ 1 ] && matches[ 2 ] && matches[ 2 ] === 'a' )
        {
            const key = matches[ 1 ];

            Log.debug( _function + ": Calling getList with key " + key );

            const response = await API.getList( {
                key: key,
            } );
        }
    }
    catch ( error )
    {
        this.hideOverlay();

        Log.error( { function: _function, error: error } );   // we include the _function again incase something deeper throws an error
    }
}

}
Helpers.js
class API
{
static async _call( path, timeout, args )
{
try {
var url = 'https://www.mydomain.com' + path;
        if ( ! args )
        {
            args = {};
        }

        args._context = Platform.OS;

        args._version = VersionInfo.appVersion;

        let response = null;

        const options = {
            credentials: 'include',
            method: 'POST',
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
            },
            body: JSON.stringify( args ),
        };

        response = await fetch( url, options );

        if ( ! response.ok )
        {
            throw new AppError( "Request Failed", { response } );
        }

        const json = await response.json();

        return json;
    }
    catch ( error )
    {
        Log.debug( error, error.stack );

        throw error;
    }
}

static async getList( args )
{
    return this._call( '/api/app/get-list.json', 0, args );
}

}

@robsco this is the behavior of native iOS NSURLRequest. I had encountered the same issue in past. Wrote it over here. Sorry, it's on Twitter 😅.
Apple developer thread of the issue https://developer.apple.com/forums/thread/106838

At least I'm not going mad.
I did find it a bit weird it only seems to happen with POST requests - did you see the same, or any type of request?

yeah. I felt the same. It was surprising seeing requests getting cancelled. I am not sure about GET requests. I am out on a trip right now, would’ve tried it otherwise. Can you try a GET request with larger payload?
akaik iOS pauses downloads if not put in a background task, so might be same for GET requests?
This thread also highlights the same issue -  https://github.com/AFNetworking/AFNetworking/issues/4279

Anyone able to solve this?


Revert reworked Doomfist to OW1

https://workshop.codes/ZXJB4
Someone made dps doom in ow2 using workshop. I'm gonna see if we can just use their code

https://youtu.be/Cyw70jYlEU4
Video footage of old doomfist abilities for rerference


Create FUNDING.yml

add NumFOCUS github sponsors button (recurring donations only)
This feature launched today at GitHub Universe!
Also add the custom link to point to the donation form for Stan.
Summary
Add a Sponsor button to the Stan repo.
Intended Effect
Give users the ability to donate NumFOCUS, either the all-projects fund or the Stan-designated fund.
How to Verify
Should show you how it will look in the preview. See also here: https://help.github.com/en/github/building-a-strong-community/displaying-a-sponsor-button-in-your-repository
Side Effects
Mo' money, mo' problems.
Copyright and Licensing

Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company):
NumFOCUS
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses:

Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

cc @syclik

Thanks for submitting the PR, @Dr-G.
If followed the link, but didn't see an example of how the repo looks with a sponsor button.  Is there an example somewhere of what this does?

@Dr-G and @syclik:  We typically require an open-access license on any contributions.  This PR went around our usual form so doesn't have that.  I'm not sure how to rectify.  We're trying to keep our IP clean with contributors owning their IP and licensing it to the world.

You can see an example here: https://github.com/pandas-dev/pandas
Sorry if I didn't do the PR correctly. You can certainly just reject it and make the edit yourselves; I have no problem with that.

Thanks for the link.  Looks great and I think we should add such a button to our page.
We have a form that pops up from branch-generated PRs, but presumably you just did a direct edit and submit and didn't see it.
If you wouldn't mind editing the body of the PR to include the following (including copyright holder's name), I'd be happy to merge.
#### Copyright and Licensing

Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company):

[YOUR OR YOUR COMPANY'S NAME HERE]

By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses:
- Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
- Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

I would do it for you, but I can't assign your copyright.
If that's too much hassle, I can just add a PR myself.  We prefer to get outside contributions wherever possible to encourage a sense of openness.
Thanks, and sorry again for the hassle around this.

@bob-carpenter did that work?

@Dr-G Thanks!

@Dr-G  It doesn't seem to have done anything on the GitHub page.  I thought the link button was supposed to be there now.  Maybe it takes a while to get updated.

@bob-carpenter you may have to turn something on in "settings"
I'd double-check the instructions doc, too.

If that doesn't work, I can reach out to our GH contact for help.

I looked at the source behind the link on pandas:
custom: https://pandas.pydata.org/donate.html
github: [numfocus]
tidelift: pypi/pandas

whereas ours now has
github: numfocus
custom: https://numfocus.org/donate-to-stan

They bracketed numfocus.  I have no idea what tidelift is.
From: https://github.com/pandas-dev/pandas/blob/master/.github/FUNDING.yml

I wrote that code; at first I thought the brackets were necessary, but turns out it's really only if you're going to put more than one object (probably the wrong term) within the brackets.
Tidelift is a for-profit company that is working to support open source maintainers on a different business model: https://tidelift.com/about


Keyboard Input in MRTK3

Overview
I want to implement a small settings menue where you can edit the IP Adress of the server. Sadly no matter what I do with the TMP Input Field I can't open a Keyboard. So far I saw 0 tutorials/ explnations on how to do it in MRTK3 and all MRTK2 sources I found did not work. Can someone explain to me how it works with MRTK3?
Expected behavior
I have a Script I can attach to the Input field and it works/ I can use a given Prefab to open up the Keyboard ad type
Actual behavior
No matter what Script I attach no keyboard opens.
Unity editor version
2020.3.41f1
Mixed Reality Toolkit release version
0.9 (on newer Versions my Near Menue Prefab I used is gone)

Could you let us know what device are you targeting? There are docs and samples for MRTK2 and samples for MRTK3.
MRTK2 docs: https://learn.microsoft.com/windows/mixed-reality/mrtk-unity/mrtk2/features/experimental/mixed-reality-keyboard
MRTK2 samples: MixedRealityKeyboardExample.unity in the samples we ship
MRTK3 samples: UnityProjects/MRTKDevTemplate/Assets/Scenes/InputFieldExamples.unity

Tagging @Zee2 for the disappeared near menu prefab.

Near menu prefab issue is addressed in the most recent release notes.

@Zee2 thanks for the Info! Will try this out later
@MaxWang-MS My current Target is the HoloLens 2.
I currently use MRTK3 so the MRTK2 links sadly don't help.
Could you please explain a bit more where I can find the MRTK3 samples? I can't seem to find the MRTKDevTemplate Repo

Short Update:
I tried to update my Project to MRTK pre 12 and now have the desired Input Field prefabs I wanted. Sadly the update means I need to completely redo my NearMenue as even with the Fix a lot of stuff changed (where the Text is in the prefab for example. My apps wants to change the Text and Color in real time) so I need to rewrite my code for this.
Also the button prefab seems to have changed as well? At least I have missing prefabs here as well and the "new" prefabs I can find in my folder don't seem to work or look weird.
This is the "Action Button prefab" dragged into my scene looking waaay bigger than anything else

But when I deselect it there is.. nothing? Am I using the wrong prefab?

Seems like in the new NearMenue Prefab the text is not properly placed? Or do I use the wrong text?

Just set up a new Project with only the MRTK3 pre 12 loaded it. Still can't see any prefabs. TextInput, Buttons and Dialogues are all transparent. If I click on the Prefab in the prefab viewer everything looks good tho.. Not sure if it's a problem with Unity 2020

Preview (double click on Prefab) shows everything fine

Dragging it into the scene makes it look like this:

Tried it on a second PC as well. Still same problem.
Would really appreciate some help.

Hi @HaiKonofanDesu, looking at your screenshots it seems that you were using our canvas-based components without a canvas. You need to parent our canvas-based components (e.g. action button, canvas dialog) under a canvas. In the prefab view Unity automatically creates a Canvas (Environment) GameObject at the root level so that's why you are able to "see" the prefab in prefab viewing mode.

For more information, please refer to our docs and a talk by our team member @Zee2 (linked to the part covering our canvas-based UI).

The docs for some individual components are a bit outdated but we will be updating them soon.

Given the original question regarding text field prefab has been answered, I am closing this issue. If you have any follow-up questions on our UI components, please open a new issue for better visibility for the community.

@MaxWang-MS Just tried it and it works. I thought I have tried it before but maybe something was odd there. Thanks for the detailed answer! Ye I really have problems with the docs so any links like that are really helpful! I'm exited for the new doc as with each new update a lot of stuff changes so have a somewhat up to date doc would be really nice.
If I have any other questions I make a new post. So again thanks for the help!


Behavior in EF6 and future versions

I don't understand this:

For EF6 and future versions we have taken the approach that if the calling code chooses to open the connection by calling context.Database.Connection.Open() then it has a good reason for doing so and the framework will assume that it wants control over opening and closing of the connection and will no longer close the connection automatically.

Note
This can potentially lead to connections which are open for a long time so use with care.

To me, this suggests that calling context.Database.Connection.Open() makes context no longer cleanup the connection when it is disposed. However, that is not consistent with my reading of the EF6 source code or with this test code:
#define TRACE
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Data;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Data.SqlClient;
using System.Diagnostics;
using System.Threading.Tasks;

namespace DbConnectionOpenTest
{
	public static class Program
	{
		public static async Task Main()
		{
			var db = new TestContext();
			await db.Database.Connection.OpenAsync();
			var conn = (SqlConnection)db.Database.Connection;
			var objectContext = ( (IObjectContextAdapter)db ).ObjectContext;
			var entityConnection = objectContext.Connection;
			var privateEntityConnection = new PrivateObject( entityConnection );
			var storeConnection = (SqlConnection)privateEntityConnection.GetField( "_storeConnection" );
			Trace.Assert( ReferenceEquals( storeConnection, conn) );
			var privateObjectContext = new PrivateObject( objectContext );
			var contextOwnsConnection = (bool)privateObjectContext.GetField( "_contextOwnsConnection" );
			Trace.Assert( contextOwnsConnection );
			db.Dispose();
			Trace.Assert( conn.State == ConnectionState.Closed );
			Trace.Assert( entityConnection.State == ConnectionState.Closed );
		}

		private sealed class TestContext : DbContext { }
	}
}

In the test code, given the documentation I would have expected db.Dispose() to not close the connection but in fact db.Dispose() does close the connection, and additionally calling db.Database.Connection.OpenAsync() seems to have no effect on _contextOwnsConnection.

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

ID: 2ffd31b0-e8fc-bbee-a6d8-93b095db487f
Version Independent ID: da24dfb6-c202-5e29-40d0-3b9ed5362595
Content: Connection management - EF6
Content Source: entity-framework/ef6/fundamentals/connection-management.md
Product: entity-framework
Technology: entity-framework-6
GitHub Login: @divega
Microsoft Alias: avickers

Also, those warnings in the documentation seem to contradict the example that follows, which includes the comment // The context is disposed – so now the underlying store connection is closed.
Perhaps I just do not understand what

close the connection automatically

means.

I see now that other EF6 operations seem to by default "open" the connection before the operation and "close" the connection after the operation by incrementing or decrementing a reference counter, and when the counter gets to zero the connection is "closed" (though may remain open behind the scenes due to connection pooling).
Maybe it would be clearer if "close the connection automatically" instead read "close the connection after query operations are completed" or something similar?

@cyungmann I think you may be confusing closing with disposing. EF disposes the connection if it owns it. This is orthogonal to how the connection is opened and closed.

@ajcvickers I understand the behavior at this point but think the documentation could be clearer. In particular, under "Behavior for EF5 and earlier versions" it reads:

Separately, if you open the database connection by calling Database.Connection.Open() it will be open until the next time you execute a query or call anything which requires a database connection (for example, SaveChanges()) but after that the underlying store connection will be closed. The context will then re-open and re-close the connection any time another database operation is required:

I would therefore suggest updating this paragraph under "Behavior in EF6 and future versions":

For EF6 and future versions we have taken the approach that if the calling code chooses to open the connection by calling context.Database.Connection.Open() then it has a good reason for doing so and the framework will assume that it wants control over opening and closing of the connection and will no longer close the connection automatically.

to read

For EF6 and future versions we have taken the approach that if the calling code chooses to open the connection by calling context.Database.Connection.Open() then it has a good reason for doing so and the framework will assume that it wants control over opening and closing of the connection and will no longer close the connection automatically when you execute a query, perform a database operation, or call anything that requires a database connection (for example, SaveChanges()).

Thank you for requesting a change to the EF6 documentation. We are prioritizing improvements to the EF Core documentation and at this time we are not making changes to the EF6 documentation.
However, we will consider well-written community pull requests to improve the EF6 documentation. The documentation source is located in the EntityFramework.Docs repository on GitHub. To submit a pull request:

Find the file to update and click on it to open

Click on the edit button (✏) to edit in your web browser

When done, add a title and description, then use the "Create a new branch and start a pull request." option.

(Note that you can also clone the docs repo and do a GitHub PR in the normal way.)


billing conftest

Apply black formatting
Use black --check in commit-acceptance
Move billing related fixtures to relevant conftest files

Does this change affect functionality in any way?

Hohoho. I didnt run the tests! :-O just did grep to ensure this is not used anywhere else. I will run the tests and will let you know :-)

Does this change affect functionality in any way?

Tested, working as expected


voodoo-prep fails when running on ocaml-secondary-compiler

https://docs.ci.ocaml.org/job/2021-06-20/071453-voodoo-prep-e53723
prep: internal error, uncaught exception:
      Failure("Error: run ['ocamlobjinfo'\n     '/home/opam/.opam/4.12/share/ocaml-secondary-compiler/lib/vmthreads/unix.cma']: exited with 2")

The log is not available anymore, I guess this is fixed by:
(* Some packages produce ocaml artefacts that can't be processed with the switch's
      ocaml compiler - most notably the secondary compiler! This switch is intended to
      be used to ignore those files *)
  let process_ocaml_artefacts =
    let package_blacklist = [ "ocaml-secondary-compiler" ] in
    not (List.mem package.name package_blacklist)
  in

Is this enough to close this issue?


Inquiry and Assistance Request Regarding prose.codeaccelerator Usage

[Enter feedback here]
Dear Microsoft Azure Support Team,
My name is Yeshayahu, and I am a Ph.D. student specializing in Computer Science at Ben-Gurion University. I'm reaching out to ask for help with using the 'prose.codeaccelerator' service in the context of my research.
In my research, I am leveraging the capabilities of prose.codeaccelerator to enhance my work in Python, using Azure Data Studio Notebook as my primary platform. Given that prose.codeaccelerator is no longer supported through the 'pip' tool, I have explored alternative methods to integrate it into my workflow.
After visiting 'https://prose-python-packages.azurewebsites.net/', I successfully downloaded and installed the 'azureml-codeaccelerator' Python wheel. However, I am facing challenges in understanding the list of attributes and APIs available within the 'azureml-codeaccelerator' package.
Additionally, I attempted to download 'prose-codeaccelerator,' but encountered an error message during the installation process. Gaining access to the proper documentation or guidance on the attributes and APIs associated with these packages would greatly benefit my research.
I am eager to learn more about the functionalities and capabilities of prose.codeaccelerator and would appreciate any help you could give me with this. Specifically, I would like information on the APIs and attributes that can be used within the 'azureml-codeaccelerator' package.
Furthermore, I would like to inquire about the error message I encountered while attempting to install 'prose-codeaccelerator' and seek guidance on resolving this issue.
I understand that your team's expertise and support are invaluable. I hope you could share insights, documentation, or any relevant resources that would aid me in effectively using prose.codeaccelerator for my research.
I kindly request that the response be sent to my email address at<EMAIL_ADDRESS>and I would be grateful for any assistance you can provide.
Thank you very much for your time and consideration. I look forward to hearing from you about this.
Best regards,
Yeshayahu Weiss
Ben-Gurion University in Israel
<EMAIL_ADDRESS>
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 51fde3a2-6da5-a1ef-1f39-39fc9cec1f94
Version Independent ID: 2ac1cb67-1f32-cf14-b65a-4d7cf2a77e36
Content: Generate code for data wrangling tasks - Azure Data Studio
Content Source: docs/big-data-cluster/use-prose-for-big-data-automation.md
Service: sql
Sub-service: machine-learning-bdc
GitHub Login: @WilliamDAssafMSFT
Microsoft Alias: wiassaf

Hi Yeshayahu Weiss-
This avenue of communication is for documentation feedback. This may not be the best forum for your question. I suggest you visit the repo for the PROSE code accelerator here: https://github.com/Microsoft/prose-codeaccelerator.
If you have further technical questions, I recommend Microsoft Q&A (SQL Server), Microsoft Q & A (Azure SQL), SQL Server Feedback.


Preparing release 0.9.0

Signed-off-by: Won Jun Jang<EMAIL_ADDRESS>

Coverage remained the same at 100.0% when pulling 1ba9475f0070642f158d20c1815f8a4d4f307254 on prep_0.9.0 into 162470d95bff06e8b46334b9bac1dc5430fcce49 on master.


Cannot delete hibernated cluster after enabling APIServerSNI feature gate

How to categorize this issue?

/area usability
/kind bug
/priority normal
What happened:
I triggered deletion for a Shoot which was hibernated since longtime. As part of the deletion flow, gardenlet wakes up the apiserver to ensure proper cleanup. However for such Shoot the apiserver fails to start with:
$ k -n shoot--foo--bar logs kube-apiserver-6d9c4f66bd-qplrj kube-apiserver
Error: invalid argument "" for "--advertise-address" flag: failed to parse IP: ""
Usage:
  kube-apiserver [flags]

Generic flags:

      --advertise-address ip                         The IP address on which to advertise the apiserver to members of the cluster. This address must be reachable by the rest of the cluster. If blank, the --bind-address will be used. If --bind-address is unspecified, the host's default interface will be used.
      --cloud-provider-gce-l7lb-src-cidrs cidrs      CIDRs opened in GCE firewall for L7 LB traffic proxy & health checks (default <IP_ADDRESS>/22,<IP_ADDRESS>/16)

Checking the Services, I see that the kube-apiserver Service is still of type LoadBalancer:
$ k -n shoot--foo--bar get svc kube-apiserver
NAME             TYPE           CLUSTER-IP       EXTERNAL-IP                                                               PORT(S)         AGE
kube-apiserver   LoadBalancer   <IP_ADDRESS>   a2d5e2238dc424faeac0fb013da0afoo-1566849bar.eu-west-1.elb.amazonaws.com   443:30654/TCP   11h

Checking the kube-apiserver container command, I see that advertise-address flag is empty:
      containers:
      - command:
        - /usr/local/bin/kube-apiserver
        - --enable-admission-plugins=Priority,NamespaceLifecycle,LimitRanger,PodSecurityPolicy,ServiceAccount,NodeRestriction,DefaultStorageClass,DefaultTolerationSeconds,ResourceQuota,StorageObjectInUseProtection,MutatingAdmissionWebhook,ValidatingAdmissionWebhook
        - --admission-control-config-file=/etc/kubernetes/admission/admission-configuration.yaml
        - --allow-privileged=true
        - --anonymous-auth=false
        - --audit-log-path=/var/lib/audit.log
        - --audit-policy-file=/etc/kubernetes/audit/audit-policy.yaml
        - --audit-log-maxsize=100
        - --audit-log-maxbackup=5
        - --authorization-mode=Node,RBAC
        - --advertise-address=
        - --client-ca-file=/srv/kubernetes/ca/ca.crt
        - --enable-aggregator-routing=true

What you expected to happen:
I would expect to be able to delete a hibernated Shoot after enablement of APIServerSNI feature gate.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

Gardener version: master
Kubernetes version (use kubectl version):
Cloud provider or hardware configuration:
Others:

This is affecting also waking up of shoot cluster that was hibernated since long time.

After some time, the kube-apiserver deployment has been properly configured with --advertise-address.

What it means after some time?

5-10 minutes later. I believe something wrong has happened with SNI because currently the --advertise-address flag is set to the ClusterIP of the service which is of type LoadBalancer  and this still so after several reconciliations and more than 1 hour later :open_mouth:.
cc @mvladev

I'm on it.

Have a look at #2895

I have just faced this issue with a freshly created cluster.
In my landscape there was no shoot clusters and the APIServerSNI feature gate is enabled.
I create a shoot cluster and its kube-apiserver service is of type LoadBalancer, this should not happen because this cluster never ever existed before.

I have just faced this issue with a freshly created cluster.
In my landscape there was no shoot clusters and the APIServerSNI feature gate is enabled.
I create a shoot cluster and its kube-apiserver service is of type LoadBalancer, this should not happen because this cluster never ever existed before.

This one is separate problem which is addressed in #2901


Send swing packets to self

LivingEntity#swingMainHand and LivingEntity#swingOffHand should show up for the client as well. Executing these functions on a player won't show up for the player themselves.

Did you test it out? IIRC the client itself is not aware of his own entity ID

I did test it out, it does swing the arm on my client.

Tested and it does cause an infinite loop in my case because the method is also called when the player signals his arm movement

Hmm, I could see there being situations where it is desirable to send the packet to the client and to not send it to the client. Maybe it could be an argument?

I agree that having the option is great, but I don't want to complicate the API too much.
There is probably a better way

At least in Spigot, LivingEntity#swingOffHand() & LivingEntity#swingMainHand() does send the packet to the client you call it on.


ModalRoute.of(context)?.settings.arguments is null when use onGenerateRoute

Steps to reproduce
In RouteGenerator is return:
MaterialPageRoute(           builder: (context) => const AddressForm(),           settings: settings,         )
On a page it is launched:
Navigator.of(context).pushNamed(                         AddressForm.routeName,                         arguments: {                           "item": addresses[index],                         },                       );
Expected results
The AddressForm page expected:
ModalRoute.of(context)?.settings.arguments to be non-null but the value of settings.arguments is null
Actual results
ModalRoute.of(context)?.settings.arguments is returning null
Code sample
Code sample
[Paste your code here]

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[Paste your output here]

For us to further investigate this issue, please provide a completed and minimal reproducible code sample that doesn’t include 3rd party plugins or complex production code. Also, please provide the output of flutter doctor -v as well. Thank you!


Array.setitem doesn't update the chunksize, resulting in bad graph traversal

Fixes #3730.
Mutation based on another array can result in chunk size changing. Chunk size is basis for deciding what keys to search the graph for. Therefore we need to make sure chunk size is up-to-date.

[ ] Tests added / passed
[ ] Passes flake8 dask

I have removed hypothesis.

There was one remaining request above, to remove the comments from the new code.

Thank you!
Ready to merge when it goes green.

Thanks for the fix @itamarst and for the review @martindurant !


Add line extension snapping mode

For hotkey-based line extension, hitting the key "V" while using the path tool enables snapping to whichever of the one or two imaginary infinite lines the being-dragged point's current position is closer to.
[Reopens #1285]

@0HyperCube I ended up rebasing it, but had to create a new PR for this. In response to my question for you in that earlier PR (#1285)...

I'm concerned that this adds 830 lines of code, that's way too much for a feature like this I would think. @TrueDoctor @0HyperCube could I please get your thoughts on this and how to proceed?

...we can now see the diff again properly. Do you think any of this code is salvageable, or is it just way too badly structured and we should just put this issue back up for grabs so someone else can implement it? (Please prioritize your current focus over spending time answering this for the next week or two, though, I'll remind you about this then.)

This PR seems to be already merged with grid?

I believe grid and this branch both have a common commit history that diverge at some point. But yeah, 830 lines to do something that should be done in 50 is not worth merging, so I agree with closing this.


onInputValidated runs continuously once is valid

Hi,
This is a great package but it seems like once a number is validated using the onInputValidated function then that function runs continuously ... at least on Android it does.
[✓] Flutter (Channel stable, 2.2.3, on macOS 11.2.1 20D75 darwin-x64, locale en-GB)
    • Flutter version 2.2.3 at /Users/chris/Developer/flutter
    • Framework revision f4abaa0735 (3 weeks ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/chris/Library/Android/sdk
    • Platform android-30, build-tools 29.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.0

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.58.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.24.0

Nope, ignore this .. I was setting state in the parent widget and it was updating the child

Nope, ignore this .. I was setting state in the parent widget and it was updating the child

@carman247 I do need to call setState() because I'm storing in my widget state the result of onInputValidated() in order to show custom validation messages.
How do you managed to solve this?


Librarian trades are glitched

Books with more than 2 enchantments (up to 4 from what ive seen)
How to recreate
-Get a villager and turn it into a librarian
-Enjoy
No starter trades aka no paper or bookshelves trades to further progress
How to recreate
-Same as above

You must have gotten both really lucky and at the sime time unlucky, since the librarian does have trades which do give you coins. See the image below.
As for the books fairly regularly containing more enchantments per book, this is intended behaviour. In contrast to vanilla randomly grabbing enchantments from the games registry, we "use" the Enchantment Table when creating our books, leading to more interesting results. The balance here could be up for debate, but this is something we are aware of and currently we do not believe it is an issue.

Is there a way for me to disable or change such behavior? I honestly don't mind the extra spice in those trades but ill love to keep vanilla trades if possible since books with multiple enchants have the potential to be OP but its very annoying getting a book like
"Sharpness 3, Piercing 2, Flame"
I also dont want to be rerolling for the perfect book for hours, getting a single enchantment makes re rolling less annoying
Also why isnt this mentioned in the curseforge page at all?

Villagers do offer enchanted books with single enchantments.
All of the documentation regarding configuring Numismatic Overhaul is available at our wiki: https://docs.wispforest.io/numismatic-overhaul/home/
This is linked on our CurseForge page.
If you simply wish to disable custom villager trades, you can simply disable them in the config file.
For now I will close this issue, as the villagers arent really glitched.


Consider not enumerating endpoint formats, and expose an API to set desired parameters instead?

Today I spent some time trying to consume this library from my emu project, a cross-platform set of libraries for writing emulators in Rust. Currently the audio stuff only works on OSX, as it depends on coreaudio-rs. The goal today was to add Windows and Linux support in one go by incorporating this library, as I'm much more in favor of wrapping a full-Rust library like this than a C library with Rust bindings, like portaudio. This would allow projects like my SNES audio unit emulator to be cross-platform, which would be quite rad :)
However, one roadblock I ran into fairly early on was that all of the supported formats for the endpoints enumerated by the WASAPI implementation were either 8000hz, 44100hz, or 48000hz. Since I need an endpoint that can support 32000hz, this wouldn't quite do. So I started digging around to see if I could find any existing audio resampling libraries in Rust, but to no avail.
However, I stumbled upon this discussion on reddit, and in particular, this quote:

The Windows API is more restrictive, so I designed cpal to return the list of supported formats one by one. Hardwares usually support a limited number of rates, channels and datatypes, so I thought that this would be a good design.

It's mentioned that the reason this library is enumerating endpoints at all was basically because of the WASAPI abstraction, which is limited to a few very specific audio formats when used in shared mode. This raises a couple questions for me, such as, why was shared mode used in the first place? Is this because it could potentially be more performant? Could DirectSound have been used instead?
It's also noted that the current scheme also breaks down a bit with ALSA, which can have endpoints that support resampling internally, so they report a very large number of supported formats.
Additionally, had the Windows implementation used DirectSound instead of WASAPI, a similar case to ALSA would've occurred; DirectSound also supports resampling internally, which means the number of supported formats for an endpoint would also potentially be quite large. I believe using WASAPI's exclusive mode would have also exhibited this issue with the current design. And while the Core Audio parts of this library for OSX are in sort of an un-maintained state, the same would certainly hold true for that API as well.
While I agree with the logic that the hardware itself might support a select few sample rates, it appears the OS API's are much less restrictive, and I think we should consider redesigning this API to reflect that.
Back to my particular case; it might not seem too bad implementing a resampler for my project, or even writing my own OS API abstractions to give me the flexibility I need, which includes changing sample rates etc on the fly (another thing the OS API's tend to support), but I imagine many other projects that want to consume this library will run into the same issue. Perhaps this means someone should rather be working on a good audio resampling library for Rust, but I see a shorter path to solve more problems by letting the underlying OS API's handle this instead, as they already can (and can be quite robust and reliable).
I'm not entirely sure how the API would look given such a fundamental change, but I'd like to try to open up the discussion at least and see what you think before I run off and try it and make a PR that may not have been welcome in the first place :)

While I agree with the logic that the hardware itself might support a select few sample rates, it appears the OS API's are much less restrictive, and I think we should consider redesigning this API to reflect that.

The idea behind this library is to offer the lowest possible common denominator between all platforms. All platforms does not mean only Windows, Linux and OSX.
The idea was to make it possible to extend to any other platform, even things like "bare metal". This is also why the API works with the writable buffers system.

because of the WASAPI abstraction, which is limited to a few very specific audio formats when used in shared mode.

I believe using WASAPI's exclusive mode would have also exhibited this issue with the current design.

I admit that I never tried exclude mode, but I was under the impression that only one application could use exclusive mode at a time. You don't want your application to return an error because there's already another application running that is potentially outputting sound.
Exclusive mode would give access to more formats, but not many more.

So I started digging around to see if I could find any existing audio resampling libraries in Rust, but to no avail.

but I imagine many other projects that want to consume this library will run into the same issue. Perhaps this means someone should rather be working on a good audio resampling library for Rust, but I see a shorter path to solve more problems by letting the underlying OS API's handle this instead, as they already can (and can be quite robust and reliable).

You should check out rodio.

However I agree that the formats enumeration API is crappy.
We need something a bit more generic that doesn't assume that only a limited number of formats is supported.
But cpal will never magically guarantee that a specific format is supported everywhere.

The idea behind this library is to offer the lowest possible common denominator between all platforms. All platforms does not mean only Windows, Linux and OSX.

The idea was to make it possible to extend to any other platform, even things like "bare metal". This is also why the API works with the writable buffers system.

Absolutely; don't get me wrong, I think this is the best lib out there in the Rust community so far for this type of thing, which is why I want to contribute in the first place :)

I admit that I never tried exclude mode, but I was under the impression that only one application could use exclusive mode at a time. You don't want your application to return an error because there's already another application running that is potentially outputting sound.

Exclusive mode would give access to more formats, but not many more.

I followed up on this a bit, and you're correct; exclusive mode means what it says on the tin - the application has exclusive access to the underlying audio hardware, which is a problem. We might want to look at DirectSound instead, as it's a bit more flexible in this regard, even though that may be a bit of work. I wouldn't mind looking into that, though, and that's sortof a separate issue I think.

You should check out rodio.

rodio looks great! And it might be able to solve my original problem for sure. I'll have to give that a shot.

However I agree that the formats enumeration API is crappy.

We need something a bit more generic that doesn't assume that only a limited number of formats is supported.

I would suggest exposing an API similar to what Core Audio etc expose, where you can query the current audio format for an endpoint, and attempt to set it to something else, but be prepared that it may fail because the format isn't supported. I don't think it has to be more complicated than that, actually.

But cpal will never guarantee that a specific format is supported everywhere.

Yeah, I don't think any library like this can, unless it supports its own resampling internally, which I think is definitely the wrong thing to do. I think a library at this level should be concerned with exposing the features available in the supported platforms, and not try to do any more magic than that. On that note, I really like where you've drawn that line between this lib and rodio, for instance. :+1:

I would suggest exposing an API similar to what Core Audio etc expose, where you can query the current audio format for an endpoint, and attempt to set it to something else, but be prepared that it may fail because the format isn't supported. I don't think it has to be more complicated than that, actually.

That's already the case!
Enumerating the list of formats only gives you the list of formats that is guaranteed to be supported. Voice::new lets you specify any audio format, even if they are not part of the list.

That's already the case!

Indeed it is, sorry, was thinking out loud and not so critically with that "suggestion" :)

Awesome to see you joining in on CPAL @yupferris :)

Thanks @mitchmindtree ! I'd love to see all of these rust audio libs playing nicely together, and we're actually pretty close I think. I wanna help out with ironing out all the kinks :)

Invalid issue; sorry I hadn't closed this sooner :)


Add First Version of Generic Modal Input Model

Description:
This pull request introduces the first version of a generic modal input model. The model has been developed to provide a standardized and flexible approach to modal input handling.
This is the first version of a Generic Modal that will handle all the modal callbacks in the future. For now on It's possibile to substitute the PromptModal and InputTextModal to this new one.

This is just a refactor, correct?

yes!


Identify API Processes

APIs to Use

Wikipedia

returns info about the destination
API Documentation

Some weather api

returns weather for destination city and 3 day forecast
Basic Weather API

Nice to Have APIs (with time)

Ticketmaster

returns local events in destination city by travel dates

Not to throw a wrench into things, but some of these may be useful APIs to explore. These are from rapidAPI and there are some things like flight search, tripAdvisor, etc.
One thing I like about it is that it will give you the code to enter into various languages. So, for example, you can select Node.JS/Axios or JS/Fetch or how to run it in C+ or other languages as well.
APIs to Explore


GH-1402 Support before & after future handling

Related issue:

https://github.com/tipsy/javalin/issues/1402

This branch is based on: (that's why it has these mirrored commits)

https://github.com/tipsy/javalin/pull/1397

Enables improved async handling by removing just one check in Context class. Artifact available on JitPack:
dependencies {
    implementation 'com.github.dzikoysk:javalin:7f3cc2f63c'
}

Nah, this change modifies just one line and I want to do some tests related to #1396, so I'll do it in the root PR to simplify this process, because managing this from fork is absolutely painful.


ClearButton from UITextField is not recorded with iOS 17

Describe the bug
Snapshotting a filled UITextField with an iOS 17 Simulator didn't record the ClearButton at the end of the text field anymore.
To Reproduce

Methode:

Simply create a single ViewController with an UITextField in it.
Set the clearButtonMode from the text field to .always.
Write a test for this controller where you first set a value to the text field befor snapshotting it.
iOS 16 test devices will capture the filled text field with clear button
iOS 17 test devices will capture the filled text field without clear button

Methode:

Use the attached sample project where I prepared the test scenario. In this test project there are 4 recorded snapshots. Empty and Filled states for iOS 16 and 17. They are recorded with an iPhone 14 and when you use an iOS 16 iPhone 14 and run all test both will succeed. When you run the tests with an iOS 17 iPhone 14 the second one (FilledAppearance) will fail.
TextInputBug.zip

Expected behavior

iOS 17 test devices will capture the filled text field with clear button

Environment

swift-snapshot-testing version 1.14.2
Xcode 15.0.1
Swift 5.9
OS: iOS 16.4 und iOS 17.0.1

Additional context
Some strange behaviour I ran into when debugging this bug:

If you set an breakpoint directly on the snapshotting line of the filled appearance test (in my test project its line 25 in the TextInputBugTests.swift file).
Run the tests.
After the system stopped at this breakpoint, take a Quick Look at the in the test created ViewController.
You will see the correct view with the clear button
After continuing the test it will succeed, instead of failing like when you not look at the ViewController

Hi @GHMarcus, I'm facing the same issue.
Did you find a work around for this?

@mat1th
Kind of, we ended up checking of we are running inside the Unit-Tests and setting clearButtonMode to .never for this cases.
For some search bars inside of our app it looks like this
if NSClassFromString("XCTest") != nil {
   searchBar.searchTextField.clearButtonMode = .never
}

Hope this will help you.

Hi @GHMarcus, thank you. Will try out if this also is a solution for me.


defaultValue behaves differently for US based numbers (+1201.....)

When I set the defaultValue to be something like "+12015555555" or "+12025555555" the onPhoneNumberChanged handler is called twice with the last call being:
false "(202) 555-5555" Object {} ""
When the default value does not start with the +, then it recognises the number:
true "1<PHONE_NUMBER>" Object {name: "United States", iso2: "us", dialCode: "1", priority: 0, areaCodes: null} "+12025555555"
This behaviour is reversed for all other countries I've tried (gb, ca, au), ie when the number is preceeded with a +, the onPhoneNumberChanged returns the correctly detected country code and number.
It seems that defaultCountry does not affect this behaviour, I've run the same tests with it set to the correct country, a different country, a empty string or not even declaring it and it has no effect.
My workaround is atm, if the country code I'm storing is 'us' then I regex remove the + from the number.

Fixed in v2.0.7.


Crashes attempting to run Luna-AI model

LocalAI version:

v1.40.0
Environment, CPU architecture, OS, and Version:

Compiled for CUDA on Linux thommopc 6.6.2-arch1-1 #1 SMP PREEMPT_DYNAMIC Mon, 20 Nov 2023 23:18:21 +0000 x86_64 GNU/Linux
Describe the bug

Attempting to load the Luna AI model using the YAML config from this guide https://localai.io/howtos/easy-model-import-downloaded/ will cause LocalAI to crash
To Reproduce

Follow the instructions for that guide and attempt to prompt the model
Expected behavior

The model responds with a answer
Logs

See attached text file
localaierror.txt
Additional context

Running the model without a config allows it to work

Notes from Discord
Removing the Backend from the yaml file, lets the model load...


Tensorflow failed to load model

The main model was trained on my local machine with a GTX 1050 Ti GPU.  The error below is from the docker container being deployed in a VM in the Digital Ocean, and I've also tried it again on my local machine and works perfectly.
Dockerfile config:
FROM  tensorflow/tensorflow:latest-py3
RUN apt update

COPY requirements.txt /requirements.txt
RUN python3 -m pip install -r requirements.txt && mkdir /app

COPY . /app
WORKDIR /app

ENTRYPOINT ["python3", "app.py"]

Error within the VM, where CPU is already being forced to be used via "tf.config.set_visible_devices([], 'GPU')"
2020-04-20 23:02:03.505874: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer.so.6'; dlerror: libnvinfer.so.6: cannot open shared object file: No such file or directory
2020-04-20 23:02:03.505973: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer_plugin.so.6'; dlerror: libnvinfer_plugin.so.6: cannot open shared object file: No such file or directory
2020-04-20 23:02:03.505983: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:30] Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.
2020-04-20 23:02:04.285763: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory
2020-04-20 23:02:04.285824: E tensorflow/stream_executor/cuda/cuda_driver.cc:351] failed call to cuInit: UNKNOWN ERROR (303)
2020-04-20 23:02:04.285854: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (sanic-server-5f779b76c9-xth26): /proc/driver/nvidia/version does not exist
2020-04-20 23:02:04.920805: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 AVX512F FMA
2020-04-20 23:02:04.928642: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency:<PHONE_NUMBER> Hz
2020-04-20 23:02:04.929167: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x41ce6a0 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2020-04-20 23:02:04.929206: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/training/py_checkpoint_reader.py", line 70, in get_tensor
    self, compat.as_bytes(tensor_str))
RuntimeError: The length checksum does not match: expected<PHONE_NUMBER> but actual is 432382948

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "app.py", line 17, in <module>
    TF = TensorflowImg()
  File "/app/ml_modules/tensorflow_img.py", line 28, in __init__
    self.model = self.__load_model()
  File "/app/ml_modules/tensorflow_img.py", line 48, in __load_model
    "KerasLayer": hub.KerasLayer})
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/keras/saving/save.py", line 150, in load_model
    return saved_model_load.load(filepath, compile)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/keras/saving/saved_model/load.py", line 89, in load
    model = tf_load.load_internal(path, loader_cls=KerasObjectLoader)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/saved_model/load.py", line 552, in load_internal
    export_dir)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/keras/saving/saved_model/load.py", line 118, in __init__
    super(KerasObjectLoader, self).__init__(*args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/saved_model/load.py", line 128, in __init__
    self._restore_checkpoint()
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/saved_model/load.py", line 280, in _restore_checkpoint
    load_status = saver.restore(variables_path)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/training/tracking/util.py", line 1248, in restore
    object_graph_string = reader.get_tensor(base.OBJECT_GRAPH_PROTO_KEY)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/training/py_checkpoint_reader.py", line 74, in get_tensor
    error_translator(e)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/training/py_checkpoint_reader.py", line 48, in error_translator
    raise errors_impl.OpError(None, None, error_message, errors_impl.UNKNOWN)
tensorflow.python.framework.errors_impl.OpError: The length checksum does not match: expected<PHONE_NUMBER> but actual is 432382948

Here a successful one from my local-machine
2020-04-21 01:55:36.154300: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer.so.6'; dlerror: libnvinfer.so.6: cannot open shared object file: No such file or directory
2020-04-21 01:55:36.156770: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer_plugin.so.6'; dlerror: libnvinfer_plugin.so.6: cannot open shared object file: No such file or directory
2020-04-21 01:55:36.157413: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:30] Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.
2020-04-21 01:55:37.103847: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory
2020-04-21 01:55:37.105032: E tensorflow/stream_executor/cuda/cuda_driver.cc:351] failed call to cuInit: UNKNOWN ERROR (303)
2020-04-21 01:55:37.105865: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (332fc060f5f6): /proc/driver/nvidia/version does not exist
2020-04-21 01:55:37.703255: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2020-04-21 01:55:37.722212: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency:<PHONE_NUMBER> Hz
2020-04-21 01:55:37.724314: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x4d226c0 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2020-04-21 01:55:37.724943: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
[2020-04-21 01:55:41 +0000] [1] [INFO] Starting localhost development
[2020-04-21 01:55:41 +0000] [1] [DEBUG]

                 Sanic
         Build Fast. Run Fast.

[2020-04-21 01:55:41 +0000] [1] [INFO] Goin' Fast @ http://<IP_ADDRESS>:8000
2020-04-21 01:55:42.388099: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer.so.6'; dlerror: libnvinfer.so.6: cannot open shared object file: No such file or directory
2020-04-21 01:55:42.389311: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer_plugin.so.6'; dlerror: libnvinfer_plugin.so.6: cannot open shared object file: No such file or directory
2020-04-21 01:55:42.390228: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:30] Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.
2020-04-21 01:55:43.083080: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory
2020-04-21 01:55:43.083171: E tensorflow/stream_executor/cuda/cuda_driver.cc:351] failed call to cuInit: UNKNOWN ERROR (303)
2020-04-21 01:55:43.083197: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (332fc060f5f6): /proc/driver/nvidia/version does not exist
2020-04-21 01:55:43.682208: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2020-04-21 01:55:43.690862: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency:<PHONE_NUMBER> Hz
2020-04-21 01:55:43.692032: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x3a17d60 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2020-04-21 01:55:43.692692: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
[2020-04-21 01:55:47 +0000] [964] [INFO] Starting localhost development
[2020-04-21 01:55:47 +0000] [964] [INFO] Starting worker [964]
^CProcess Process-1:
[2020-04-21 01:56:43 +0000] [964] [INFO] Stopping worker [964]
[2020-04-21 01:56:43 +0000] [964] [INFO] Server Stopped

@navalta3030
Please, let us know which TensorFlow version you are using? Request you to provide colab link or simple standalone code to reproduce the issue in our environment. then it is easy for localizing the issue faster. Thanks !

@ravikyram Hi,

Tensorflow version = 2.1.0

Steps to reproduce

git clone https://github.com/navalta3030/sanic_server.git
git checkout --track origin/no_issue
python3 -m venv .env
source .env/Scripts/activate
pip install -r requirements.txt
python app.py

The part where it fails is Here
The saved model is located Here

Closing this one.
The issue was on github action, the compilation was done over there and there is a bit of disallignment on their build-machine.


build: update dependencies of 11.0.x

This PR contains the following updates:
latest @babel packages
latest @angular 11.0.x packages and hashes
Last night I updated my websites and @babel/templates was fixed to an old version
so this synces the 11.0.x branch with @angular/* 11.0.x too,
as there's a little void updating these when master gets the next version.

@filipesilva can we have a patch release with updated deps?

Hi @matheo, thanks for this.
The latest Babel packages are consumed in version 11.1. Typically dependencies updates only happen in minors because of the risk of unexpected breakages.
Is there any reason why we need to update @babel/ packages in a patch version? Does it fix an outstanding issue?

@alan-agius4 nope, it just syncs the package-lock versions in the Angular Apps, no known issues tho

In such case it’s best not to update Babel packages in a patch version.

ok, closing this


Adding check for invokable controller

Fixes #301
Should also make #338 pass

Hi, thanks for the fix :+1:
Could you add the fixture as well, so we have it covered?

Perfect, thank you :+1:


ARROW-11340: [C++] Add vcpkg.json manifest to cpp project root

@kszucs could you review this please? My main purpose in adding this is to improve the experience for Arrow C++ devs using Windows, but I noticed it also relates to your TODO in #9096. vcpkg does not have any requirements.txt-style package enumeration mechanism, but it supports this JSON manifest as a mechanism of defining dependencies.
In the vcpkg install command, you can specify the path to the directory containing this manifest file with --x-manifest-root which later will change to --manifest-root. See details at https://vcpkg.readthedocs.io/en/stable/specifications/manifests/.
There are some differences between the packages listed in this manifest versus the packages you listed in the vcpkg install commands in #9096

This installs gtest and benchmark
This installs boost instead of separate boost-filesystem, boost-regex, etc.
This does not explicitly include the core feature of aws-sdk-cpp because explicitly including it causes an error, and it gets installed anyway

Thanks Ian for working on this!
I have a couple of questions:

could we define multiple manifest files for different use cases (e.g. for building wheels or having a minimal build)?
how can one utilize this manifest file (I assume we need to document this in the developer guide)?
why do we need to add a version string to the manifest (if it is mandatory than we need to update the version bumping scripts used during the release procedure)?

Could you setup a github actions build to test it?

Thanks Ian for working on this!
I have a couple of questions:

could we define multiple manifest files for different use cases (e.g. for building wheels or having a minimal build)?
how can one utilize this manifest file (I assume we need to document this in the developer guide)?
why do we need to add a version string to the manifest (if it is mandatory than we need to update the version bumping scripts used during the release procedure)?

Could you setup a github actions build to test it?

Replies inline

Thanks Ian for working on this!
I have a couple of questions:

could we define multiple manifest files for different use cases (e.g. for building wheels or having a minimal build)?

Yes, definitely. Or would it be better to use this one as the master copy and apply patches to it to create the copies for other use cases?
For safety, we should never name the copies vcpkg.json because Visual Studio automatically detects manifests with that file name.

how can one utilize this manifest file (I assume we need to document this in the developer guide)?

I'm working on that in ARROW-11336

why do we need to add a version string to the manifest (if it is mandatory than we need to update the version bumping scripts used during the release procedure)?

It's mandatory. (The vcpkg docs say so and I confirmed by testing.)

Could you setup a github actions build to test it?

Sure, I'll work on that

Replies inline

Thanks Ian for working on this!
I have a couple of questions:

could we define multiple manifest files for different use cases (e.g. for building wheels or having a minimal build)?

Yes, definitely. Or would it be better to use this one as the master copy and apply patches to it to create the copies for other use cases?
For safety, we should never name the copies vcpkg.json because Visual Studio automatically detects manifests with that file name.

how can one utilize this manifest file (I assume we need to document this in the developer guide)?

I'm working on that in ARROW-11336

why do we need to add a version string to the manifest (if it is mandatory than we need to update the version bumping scripts used during the release procedure)?

It's mandatory. (The vcpkg docs say so and I confirmed by testing.)

Could you setup a github actions build to test it?

Sure, I'll work on that

FYI, the version of vcpkg that is currently preinstalled on the Github Actions Windows images is 2020.11.12 (as noted here). This version has a bug (https://github.com/awslabs/aws-c-common/issues/734) that causes the installation of aws-cpp-sdk to fail. When running vcpkg in Github Actions on Windows, remove the preinstalled vcpkg and install the newest version from source.

FYI, the version of vcpkg that is currently preinstalled on the Github Actions Windows images is 2020.11.12 (as noted here). This version has a bug (https://github.com/awslabs/aws-c-common/issues/734) that causes the installation of aws-cpp-sdk to fail. When running vcpkg in Github Actions on Windows, remove the preinstalled vcpkg and install the newest version from source.

@github-actions crossbow submit test-build-vcpkg-win

@github-actions crossbow submit test-build-vcpkg-win

@github-actions crossbow submit test-build-vcpkg-win

@github-actions crossbow submit test-build-vcpkg-win

@github-actions crossbow submit test-build-vcpkg-win

@github-actions crossbow submit test-build-vcpkg-win

@kszucs I added a Crossbow test. It runs a GHA job on a Windows instance. The job installs the current version of vcpkg, installs all the dependencies listed in vcpkg.json, runs CMake with many Arrow features enabled, and builds Arrow.

@kszucs I added a Crossbow test. It runs a GHA job on a Windows instance. The job installs the current version of vcpkg, installs all the dependencies listed in vcpkg.json, runs CMake with many Arrow features enabled, and builds Arrow.

@github-actions crossbow submit test-build-vcpkg-win

@github-actions crossbow submit test-build-vcpkg-win

@github-actions crossbow submit test-build-vcpkg-win

@github-actions crossbow submit test-build-vcpkg-win

@github-actions crossbow submit test-build-vcpkg-win

@github-actions crossbow submit test-build-vcpkg-win

The Crossbow build is failing because of https://github.com/google/benchmark/issues/1046. I will remove Benchmark from the build for now.

The Crossbow build is failing because of https://github.com/google/benchmark/issues/1046. I will remove Benchmark from the build for now.

Some builds are failing apparently because of google/benchmark#1046. I will remove Benchmark from the build for now.

Could you note this as a comment?

Some builds are failing apparently because of google/benchmark#1046. I will remove Benchmark from the build for now.

Could you note this as a comment?

@github-actions crossbow submit test-build-vcpkg-win

@github-actions crossbow submit test-build-vcpkg-win

I believe the C++ / AMD64 Windows MinGW 64 C++ test failure is random and unrelated to the changes in this PR. It passed before I pushed the last two commits, and those commits only added comments and whitespace.

I believe the C++ / AMD64 Windows MinGW 64 C++ test failure is random and unrelated to the changes in this PR. It passed before I pushed the last two commits, and those commits only added comments and whitespace.

You can ignore the failure in this pull request.

You can ignore the failure in this pull request.

@github-actions crossbow submit test-build-vcpkg-win

@github-actions crossbow submit test-build-vcpkg-win

@kszucs we're getting two failures in ctest when the dependencies are installed with vcpkg:
[ RUN      ] TestStatisticsSortOrder/0.MinMax
D:/a/crossbow/crossbow/arrow/cpp/src/parquet/statistics_test.cc(667): error: Expected equality of these values:
  stats_[i].min()
    Which is: "\0\0\0\0"
  cc_metadata->statistics()->EncodeMin()
    Which is: "\x3\0\0\0"
D:/a/crossbow/crossbow/arrow/cpp/src/parquet/statistics_test.cc(835): error: Expected: this->VerifyParquetStats() doesn't generate new fatal failures in the current thread.
  Actual: it does.
[  FAILED  ] TestStatisticsSortOrder/0.MinMax, where TypeParam = struct parquet::PhysicalType<1> (0 ms)

[ RUN      ] TestStatistic.Int32Extremums
D:/a/crossbow/crossbow/arrow/cpp/src/parquet/statistics_test.cc(897): error: Expected equality of these values:
  stats->min()
    Which is: -2147483648
  expected_min
    Which is: 0
[  FAILED  ] TestStatistic.Int32Extremums (0 ms)

Do we need to apply a patch to one or more vcpkg ports to fix this? Is this why you apply ci/vcpkg/ports.patch to the vcpkg sources when building wheels?

@kszucs we're getting two failures in ctest when the dependencies are installed with vcpkg:
[ RUN      ] TestStatisticsSortOrder/0.MinMax
D:/a/crossbow/crossbow/arrow/cpp/src/parquet/statistics_test.cc(667): error: Expected equality of these values:
  stats_[i].min()
    Which is: "\0\0\0\0"
  cc_metadata->statistics()->EncodeMin()
    Which is: "\x3\0\0\0"
D:/a/crossbow/crossbow/arrow/cpp/src/parquet/statistics_test.cc(835): error: Expected: this->VerifyParquetStats() doesn't generate new fatal failures in the current thread.
  Actual: it does.
[  FAILED  ] TestStatisticsSortOrder/0.MinMax, where TypeParam = struct parquet::PhysicalType<1> (0 ms)

[ RUN      ] TestStatistic.Int32Extremums
D:/a/crossbow/crossbow/arrow/cpp/src/parquet/statistics_test.cc(897): error: Expected equality of these values:
  stats->min()
    Which is: -2147483648
  expected_min
    Which is: 0
[  FAILED  ] TestStatistic.Int32Extremums (0 ms)

Do we need to apply a patch to one or more vcpkg ports to fix this? Is this why you apply ci/vcpkg/ports.patch to the vcpkg sources when building wheels?

The issue may lay in the implementation, so I suggest to create follow-up issues in order to investigate it.

The issue may lay in the implementation, so I suggest to create follow-up issues in order to investigate it.

The issue may lay in the implementation, so I suggest to create follow-up issues in order to investigate it.

Ok, thank you. I added a TODO comment just above the ctest call, and I'll open a separate issue to investigate this. Can we merge this PR despite this Crossbow job failing? That way I can use the same Crossbow job to troubleshoot the issue in a separate PR.

The issue may lay in the implementation, so I suggest to create follow-up issues in order to investigate it.

Ok, thank you. I added a TODO comment just above the ctest call, and I'll open a separate issue to investigate this. Can we merge this PR despite this Crossbow job failing? That way I can use the same Crossbow job to troubleshoot the issue in a separate PR.

@kszucs After this is merged, there is a slight possibility that we could see unexpected behavior in ci/docker/python-wheel-windows-vs2017.dockerfile and ci/docker/python-wheel-manylinux-201x.dockerfile. I do not think this will happen, but there's a chance that Visual Studio's CMake will automatically identify the vcpkg.json manifest file and attempt to install all the packages according to that manifest instead of using the ones installed by the prior vcpkg command. This should not happen because vcpkg integrate install has not been run, but in the event that it does happen, the solution is to run vcpkg integrate remove and/or to delete vcpkg.json before running cmake.

@kszucs After this is merged, there is a slight possibility that we could see unexpected behavior in ci/docker/python-wheel-windows-vs2017.dockerfile and ci/docker/python-wheel-manylinux-201x.dockerfile. I do not think this will happen, but there's a chance that Visual Studio's CMake will automatically identify the vcpkg.json manifest file and attempt to install all the packages according to that manifest instead of using the ones installed by the prior vcpkg command. This should not happen because vcpkg integrate install has not been run, but in the event that it does happen, the solution is to run vcpkg integrate remove and/or to delete vcpkg.json before running cmake.

@github-actions crossbow submit wheel-manylinux2010-cp36m wheel-windows-cp36m

@github-actions crossbow submit wheel-manylinux2010-cp36m wheel-windows-cp36m

@github-actions crossbow submit wheel-manylinux2010-cp36m wheel-windows-cp36m

@github-actions crossbow submit test-build-vcpkg-win

I expect the test-build-vcpkg-win test to show a failure, for reasons described above

The test-build-vcpkg-win failure is for the same reasons as noted above in https://github.com/apache/arrow/pull/9287#issuecomment-769843489 and should not block this from being merged.

@github-actions crossbow submit wheel-manylinux2010-cp36m wheel-windows-cp36m

@github-actions crossbow submit wheel-manylinux2010-cp36m wheel-windows-cp36m

@github-actions crossbow submit test-build-vcpkg-win

@github-actions crossbow submit test-build-vcpkg-win

@github-actions crossbow submit wheel-manylinux2010-cp36m wheel-windows-cp36m

@kszucs My latest commits in this PR fix the unintended side effects that were occurring because of the addition of the manifest file cpp/vcpkg.json:

The Python wheel builds (which use vcpkg to install dependencies but are not supposed to use the manifest) were failing, because the existence of the manifest was causing the Visual Studio CMake toolchain to behave in some unexpected ways. I have set several variables and options that resolve this.
When a developer opened the cpp directory in the Visual Studio 2019 IDE, it would automatically recognize the manifest and initiate a vcpkg install regardless of whether the developer intended to use vcpkg to install dependencies. I added a CMakeSettings.json file to disable this behavior.

The wheel-manylinux2010-cp36m and wheel-windows-cp36m Crossbow builds are now passing
The test-build-vcpkg-win failure is for the same reasons as noted above in https://github.com/apache/arrow/pull/9287#issuecomment-769843489 and should not block this from being merged.


Method Bucket.getEntries() crushes

I got exception when I tried to use:
TypeError: Cannot convert undefined to a BigInt
    at BigInt (<anonymous>)
    at Function.parse (/home/atimin/Projects/flipback/reduct-storage/reduct-mqtt-example/node_modules/reduct-js/lib/cjs/EntryInfo.js:37:25)
    at /home/atimin/Projects/flipback/reduct-storage/reduct-mqtt-example/node_modules/reduct-js/lib/cjs/Bucket.js:55:82
    at Array.map (<anonymous>)
    at Bucket.getEntryList (/home/atimin/Projects/flipback/reduct-storage/reduct-mqtt-example/node_modules/reduct-js/lib/cjs/Bucket.js:55:45)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async /home/atimin/Projects/flipback/reduct-storage/reduct-mqtt-example/reader.js:13:15

I used an old version of reduct storage


Use new Net:SSH host key verify values

Fixes #8482 by prompting to continue if the host key is not recognized.
This attempts to tell Net:SSH to accept and write the key but it is only
temporarily accepting.
This changes the parameters of --ssh-verify-host-key (which is new) to
take the Net::SSH values, which get passed through by train. This allows
the user more options than only verifying or not.
Signed-off-by: Bryan McLellan<EMAIL_ADDRESS>

@btm can you add the flag changes to the release notes


Can't correctly invoke a function with a string parameter on React by Unity

Describe the bug
In a sample project, I'm invoking a function within the Unity WebGL application to the React component, with a string as a parameter. This string is a simple sentence, but becomes an integer (which changes with time) when I get it in the React component listener. May this be some strange pointer issue?
To Reproduce
Steps to reproduce the behavior:

Unity snippets:

void Update () {
    if (Input.GetMouseButtonDown(1))
      this.OutgoingMsgR("THIS IS FOR REACT!");
  }

  [DllImport("__Internal")]
  private static extern void OutgoingMsg(string message);
  public void OutgoingMsgR (string message) {
    Debug.Log(message);
      OutgoingMsg(message);
  }

JSLib plugin:
mergeInto(LibraryManager.library, {
  OutgoingMsg: function(message) {
    ReactUnityWebGL.OutgoingMsg(message);
  }
});

React snippets:

this.unityContent.on("OutgoingMsg", message => {
      console.log(message)
      this.setState({
        ...
      })
    })

Here, the message variable should be THIS IS FOR REACT! , but I'm getting these integers instead (just some samples, the integer seems to be growing with time):

17884352
17905344
17942320
17942320
17976784
...

Expected behavior
I should receive the string I'm sending from Unity into the React component.
Screenshots
N. d.
Desktop (please complete the following information):

OS: Fedora 28
Chrome, latest

Smartphone (please complete the following information):
Not tested.
Additional context
Nothing particular. Function invocation works flawlessly with integer variables.

I found myself the solution. I'm very sorry: this isn't a react-unity-webgl issue, but it is related to JSLib plugins.
To correctly use a string as a parameter, in the JSLib plugin, you should do the following:
mergeInto(LibraryManager.library, {
  OutgoingMsg: function(message) {
    ReactUnityWebGL.OutgoingMsg(Pointer_stringify(message));
  }
});

As also reported in the official Unity documentation.

React Unity WebGL ErrorEvent {isTrusted: true, message: "Script error.", filename: "", lineno: 0, colno: 0, …}
Uncaught SyntaxError: Unexpected token / in JSON at position 0
at Object.parse ()
at XMLHttpRequest.t.onload (UnityLoader.js:4)
getting these two errors if i change the JSLib file as you mentioned above


time: time.Parse accepts out of range value for offsets, and can't always be roundtripped

When passing an offset like +99:99 to time.Parse like so:
func main() {
	t, err := time.Parse("-07:00", "+99:99")
	fmt.Println(err, t.Format(time.RFC3339))
	_, off := t.Zone()
	fmt.Println("offset", off)

	// Round-trip.
	fmt.Println(time.Parse("-07:00", t.Format("-07:00")))
}

The initial Parse will work without error, but the second fails. The above outputs:
<nil> 0000-01-01T00:00:00+100:39
offset 362340
0001-01-01 00:00:00 +0000 UTC parsing time "+100:39" as "-07:00": cannot parse "+100:39" as "-07:00"

The 99 minutes overflows to 01:39. The roundtrip doesn't work because Parse checks if the numbers in hour:min are exactly two digits, so that does return an error.
This is a bit of an obscure edge case that came up during fuzzing; can check that offset >86400 for outrageous offsets to throw an error on parse, but validating the hour:min requires re-parsing the date as that information isn't available.
Everything else (second, minute, hour, day, month) already throws an out of range error so this seems like a good fix. AFAIK these offsets never have and never will be valid. Below is a patch to do exactly that.
commit cfb8f654e8
Author: Martin Tournoij<EMAIL_ADDRESS>Date:   Fri May 17 11:34:12 2024 +0100

    time: return out of range errors for invalid timezone offsets

diff --git a/src/time/format.go b/src/time/format.go
index 875fb36df8..7b43b5bb05 100644
--- a/src/time/format.go
+++ b/src/time/format.go
@@ -1242,6 +1242,12 @@ func parse(layout, value string, defaultLocation, local *Location) (Time, error)
 			if err == nil {
 				ss, _, err = getnum(seconds, true)
 			}
+			if hr > 24 {
+				return Time{}, newParseError(alayout, avalue, "", value, ": offset hour out of range")
+			}
+			if mm > 59 {
+				return Time{}, newParseError(alayout, avalue, "", value, ": offset minute out of range")
+			}
 			zoneOffset = (hr*60+mm)*60 + ss // offset is in seconds
 			switch sign[0] {
 			case '+':
diff --git a/src/time/time_test.go b/src/time/time_test.go
index 86335e3796..d110c28d4c 100644
--- a/src/time/time_test.go
+++ b/src/time/time_test.go
@@ -832,8 +832,8 @@ func TestUnmarshalInvalidTimes(t *testing.T) {
 		{`[]`, "Time.UnmarshalJSON: input is not a JSON string"},
 		{`"2000-01-01T1:12:34Z"`, `<nil>`},
 		{`"2000-01-01T00:00:00,000Z"`, `<nil>`},
-		{`"2000-01-01T00:00:00+24:00"`, `<nil>`},
-		{`"2000-01-01T00:00:00+00:60"`, `<nil>`},
+		{`"2000-01-01T00:00:00+25:00"`, `parsing time "2000-01-01T00:00:00+25:00": offset hour out of range`},
+		{`"2000-01-01T00:00:00+00:60"`, `parsing time "2000-01-01T00:00:00+00:60": offset minute out of range`},
 		{`"2000-01-01T00:00:00+123:45"`, `parsing time "2000-01-01T00:00:00+123:45" as "2006-01-02T15:04:05Z07:00": cannot parse "+123:45" as "Z07:00"`},
 	}

With 1.22, and current master branch

I think this is a dupe of #20555

I don't think this is quite #20555.  The problem here is not that it can't be roundtripped, it's that we are accepting meaningless values.