Flutter web video bug

I want to display video on flutter web. I have tried using the video_player plugin, the chewie plugin and using HtmlElementView with a VideoElement. None of them are working correctly. The biggest problem is that I cannot seem to be able to go fullscreen. In addition, there is a weird white dotted background.
Steps to Reproduce
Here is the code used for HtmlElementView:
import 'dart:ui' as ui;
import 'package:flutter/material.dart';
import 'package:universal_html/html.dart';

class VideoElementWeb extends StatefulWidget {
  final String src;

  VideoElementWeb(this.src);

  @override
  _VideoElementWebState createState() => _VideoElementWebState();
}

class _VideoElementWebState extends State<VideoElementWeb> {
  @override
  void initState() {
    // ignore: undefined_prefixed_name
    ui.platformViewRegistry.registerViewFactory(
        'video-el-web',
        (int viewId) => VideoElement()
          ..width = 640
          ..height = 360
          ..autoplay = true
          ..controls = true
          ..src = widget.src);
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return HtmlElementView(viewType: 'video-el-web');
  }
}

Expected results:
I expect to be able to go fullscreen and not have the weird dotted background.
Actual results:
Here is the actual result I see:
https://user-images.githubusercontent.com/22012669/124591332-766acb80-de5c-11eb-99c3-05f3ce4864bd.mp4
This video is from the video_player plugin
https://user-images.githubusercontent.com/22012669/124591426-91d5d680-de5c-11eb-9727-1781a44d3c8d.mp4
This video is from the HtmlElementView. The recording software stops for some reason when I try to go fullscreen, but the browser seems to try to go fullscreen and then immediately go back. The weird dots also appears.
This bug is also tracked in the chewie plugin: https://github.com/brianegan/chewie/issues/499

Logs
$ flutter doctor -v
[√] Flutter (Channel stable, 2.2.3, on Microsoft Windows [Version 10.0.19041.1052], locale nb-NO)
    • Flutter version 2.2.3 at C:\flutter\flutter
    • Framework revision f4abaa0735 (5 days 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 C:\Users\Sondr\AppData\Local\Android\sdk
    • Platform android-29, build-tools 29.0.3
    • Java binary at: C:\Users\Sondr\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\201.7199119\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 4.1.0)
    • Android Studio at C:\Users\Sondr\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\201.7199119
    • 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-b01)

[√] IntelliJ IDEA Ultimate Edition (version 2020.3)
    • IntelliJ at C:\Users\Sondr\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\203.6682.168
    • Flutter plugin version 54.1.3
    • Dart plugin version 202.8070

[√] IntelliJ IDEA Ultimate Edition (version 2021.1)
    • IntelliJ at C:\Users\Sondr\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\211.6693.111
    • Flutter plugin version 55.1.5
    • Dart plugin version 211.6693.108

[√] VS Code, 64-bit edition (version 1.57.1)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.23.0

[√] Connected device (2 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 91.0.4472.124
    • Edge (web)   • edge   • web-javascript • Microsoft Edge 91.0.864.54
    ! Device 34447e3f is not authorized.
      You might need to check your device for an authorization dialog.

• No issues found!

Hi @sondresorbye,
Thanks for filing the issue, Currently the video player doesn't go full screen on web or other platforms. There's an open request for it to make it happen, https://github.com/flutter/flutter/issues/64397. I see that you used controls = true which makes the video go full screen, but that's a workaround and may not fully use the full screen potential  and might not work on all platforms. I ran your sample code and I was able to run it in fullscreen mode using the workaround on macOs.
Regarding, white dots in background issue, does it occur only while playing video or without it too ? If the latter, can you provide an updated code sample that shows the issue ? Also check this similar open issue specific to windows for your reference: https://github.com/flutter/flutter/issues/77832

@maheshmnj, thanks for your reply.
I was not able to make it go fullscreen on neither windows nor macOs in chrome. Here is a video form trying to go fullscreen on macOs:
https://user-images.githubusercontent.com/22012669/124620326-a70d2e00-de79-11eb-8b1d-48e588d0806f.mov
As you can see, it went fullscreen for a short period of time before going back, just like on windows. I guess I have to wait for #64397 to be fixed.
Regarding the weird black dots, they only appear on windows during video playback.

I do not experience this issue when using the html web-renderer. I will use this renderer till the issue is fixed.

By the way here's the demo when running your sample code on the latest stable channel
https://user-images.githubusercontent.com/31410839/124702295-cbb2e580-df0d-11eb-8977-f41ee6427107.mov

flutter doctor -v
[✓] Flutter (Channel stable, 2.2.3, on macOS 11.4 20F71 darwin-arm, locale en-IN)
    • Flutter version 2.2.3 at /Users/mahesh/Documents/flutter
    • Framework revision f4abaa0735 (5 days 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 30.0.3)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • 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.1

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

[✓] IntelliJ IDEA Community Edition (version 2021.1.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 57.0.5
    • Dart plugin version 211.7233

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

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 11.4 20F71 darwin-arm
    • Chrome (web)    • chrome • web-javascript • Google Chrome 91.0.4472.114

• No issues found!

You can follow up for updates on the dots issue here https://github.com/flutter/flutter/issues/77832, I am going to close this issue as a duplicate If you disagree feel free to revert back and I will reopen it.
Thank you.


Get the library and server to create handles

Functions such as UpnpInit2, UpnpSetWebServerRootDir, etc. operate on some internal, global handle. I think it would be better if (some variation of) these functions would return a handle, so other functions like registering a device would be done on specific handles.
Use cases could include:

Starting the library without starting the internal server, and not having to worry about which interface and port to use
Initializing multiple web servers and adding devices, virtual directories, etc. to individual server

Agreed this would be useful.
The reality is that you would have to put together these changes yourself, but I am sure that they would be gladly received.

Folks, please take a look at #255.

Can we close this issue? It has already been implemented.

Doesn't this question answer itself?

The last time I did something like this I got complaints :smile:

No complains for 8 month now and it's implemented. Everything that could come up now would be a new issue - closing.

There hasnt actually been a release with this code in yet, though.

That's right, but not the point. If there no problems with the code this will be in the release when master get's a new version. The issues are always fixed with the commit not the release. Admitted, the release will not be short after the fix in this case.


Add initial state to suggestions

Closes https://ethyca.atlassian.net/browse/PROD-1255
Description Of Changes
This was a very strange bug, and I think it was introduced by https://github.com/ethyca/fides/pull/4294#discussion_r1362890811 but even that seems to be a bit of a red herring...
First I found that if I reverted that particular change described in that comment, things worked. I did a diff between systemBody and result.data, then added all the fields until I found the one that was causing things to break which was mysteriously third_country_transfers. There's no rhyme or reason to this as far as I can tell, so I dug further...
Then I realized the only fields that were being reset were the dictionary fields, so I looked specifically at useDictSuggestion.
It seems like this line https://github.com/ethyca/fides/blob/aking/prod-1255/fix-system-info-saving/clients/admin-ui/src/features/system/dictionary-form/DictSuggestionInputs.tsx/#L88-L92 was causing problems. The initialValues were properly set, but that bit of code would reset all those fields to empty strings so values would be incorrect. Again, this only happens when third_country_transfers is included, which is very strange, and I suspect is not entirely the root cause and may be a red herring (or a sign of something else).
By adding a new suggestion state initial we can get around this—that line will only fire when we actually want "presuggestions" which I think works pretty well.
https://github.com/ethyca/fides/assets/24641006/9d99385c-1b5b-4d14-994b-423a2d73f3df
Code Changes

[x] Add a new initial state to suggestions

Steps to Confirm

[ ] See steps in Roger's bug report.
[ ] Make sure "pre suggestions" still work

Pre-Merge Checklist

[ ] All CI Pipelines Succeeded
[x] Issue Requirements are Met
[x] Update CHANGELOG.md

If we are very lucky, perhaps this will fix https://github.com/ethyca/fides/issues/4288 too 🤞

Investigating CI failures which appear to be on main now...


Tabs should work without required ul and li Nav classes

This Works:

    Home
    Profile

H..

P..

This Markup does not open tab
Click profile -> Click home -> Click profile and tab panel does not open

      Home
      Profile

Tab content same as above

I think it would be really great if nav-item and nav-link classes were not required as they are semantic to a nav and Tabs have many other use cases.  Interested in thoughts on this.

Hi @mmplisskin,
Can you specify the release of Bootstrap you use ? please

4.0.0.alpha6

Not sure I personally agree - tabs should work on any HTML elements and shouldn't be bound to
 and
 elements specifically. To me it makes sense to provide any style/functionality through classes and ID's, regardless of the HTML tags used.

Sorry if it is confusing what I was suggesting but please reread.

Same issue, I'm using bootstrap alpha 6 and tabs need li but even if you have something like

                        Simple Alert

Tabs will stop working. Which is strange because in bootstrap v3 everything worked out just fine.

Tabs aren't bound to ul and li markups they are other examples in our docs see : https://getbootstrap.com/docs/4.0/components/navs/
for example :

  Active
  Link
  Link
  Disabled

The only requirement we have it's the parent should have one of this classes : .nav or .list-group and the links will have an .active class added when they are active that's all
Bootstrap is a CSS/JS Framework so we provide usefull classes and markups 👍
I hope I helped you, if you have a more precisely issue do not hesitate to open one 👍

@Johann-S This is not really what I was getting at, I will try to rephrase:
Is it possible to isolate tab behavior from nav stylings, it would make sense to me that anything could behave as a tab by adding the required role and data attributes?

@Johann-S wrote:

The only requirement we have it's the parent should have one of this classes : .nav or .list-group ..

IMHO its not mentioned in documentation. Or it is not clear from documentation. See: https://getbootstrap.com/docs/4.0/components/navs/#javascript-behavior
I expected something different then class nav is used in javascript to identify tabs parts, for e.g. data- atribute. If you want to make javascript depending on class I think it is a good habit to add some prefix to that class to mark that javascript is depending on it and one should not remove it. Something like .js--nav.


EPM API Endpoint Support

Summary
Add support for EPM API Endpoints
Basic example
NA
Motivation
Support additional CyberArk API Endpoints.

Coming soon
IN all seriousness you can see whats currently available by switching to the #9-epm-api-endpoint-support branch.


[ERR_MODULE_NOT_FOUND] while creating project

Hi, I'm just starting to use serverless-stack but I cannot even start. When I type npm init sst I receive this error:
internal/process/esm_loader.js:74
    internalBinding('errors').triggerUncaughtException(
                              ^

Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'fs' imported from /Users/user/.npm/_npx/36981/lib/node_modules/create-sst/bin/create-sst.mjs

I have looked all over the internet but couldn't found the solution. Hope you can help me :)

It was the node version, sorry


[Bug]: /.well-known/shopify/monorail/unstable/produce_batch requests responding with 400 (Bad request) when using theme dev --password <Theme Access App token>

Please confirm that you have:

[X] Searched existing issues to see if your issue is a duplicate. (If you’ve found a duplicate issue, feel free to add additional information in a comment on it.)
[X] Reproduced the issue in the latest CLI version.

In which of these areas are you experiencing a problem?
Theme
Expected behavior
No errors appear.
Actual behavior
When running shopify theme dev --password <Theme Access App token>, browser console shows
POST http://<IP_ADDRESS>:9292/.well-known/shopify/monorail/unstable/produce_batch 400 (Bad Request)

⚠ It is showing no error with a Custom App token though!
 But I've removed it in https://github.com/Shopify/cli/pull/1484. It will be included in the next stable release, and it's already in the current pre-release, in case you want to try.

@gonzaloriestra – Awesome, thanks for the fix. I tried it out and it's nearly working as a charm.
Just the error
Refused to execute script from 'http://<IP_ADDRESS>:9292/wpm<EMAIL_ADDRESS>because its MIME type ('application/json') is not executable, and strict MIME type checking is enabled.

seems to have come back, because web-pixels-manager got renamed to wpm.
In case you haven't stumbled upon this issue: The fix …
-IGNORED_ENDPOINTS = ["shopify/monorail", "mini-profiler-resources", "web-pixels-manager"]
+IGNORED_ENDPOINTS = ["shopify/monorail", "mini-profiler-resources", "wpm"]

lets the error disappear, but I'm not sure if that's all that's needed?

Oh, I didn't know about that renaming. That change should be enough, thanks! I'll create another PR

@Street369 You can ignore that request, it's about analytics. But could you give me more details about it? What are you running and which CLI version? Thanks.

@Street369 could you send me a screenshot of the console with the errors?

Thanks. I think that's caused by ad blockers installed on the browsers. Nothing to worry about! The store will work normally and we'll just miss some analytics information.

@gonzaloriestra Yes, correct. I have ublock installed in the extensions. And yes again, to remove UA for GA4, I messed up the Analytics, and I don't know how to.

@gonzaloriestra Many thanks for your time, I really appreciate it.


Enabled configuring the composer path in the app.php config

Hi all,
this is my first pull request ever and while I have been using Laravel for some time, I have a limited knowledge of the framework itself. However, I did not just want to request something without a suggestion.
Assuming a project as a structure like so (or any other where composer.json does not rest in the Laravel base path)
.../composer.json
.../src/Application/Domain
.../src/Presentation/Backend
.../src/Presentation/Frontend
.../src/Infrastructure/Laravel
It is generally possible to declare blade, js, ... file in the Presentation folders and configure the config/view.php to find them or webpack/mix to compile to the desired folders in /public. Also the scripts in the composer file can be easily adjusted to the individual needs.
However, some artisan commands, e.g. route:list will not work since they will use the getNamespace() function in Illuminate/Foundation/Application which assumes composer.json to be at the base path of the Laravel installation.
To my knowledge this cannot be configured.
Leaving composer.json in the Laravel folder is not an option, since for example Forge will assume a composer at the "true project root".
My suggested solution enables a developer to add a composer_path variable to the config/app.php, specifying the relative path to the composer file from the Laravel base path. I modified the test for the method to include such a scenario. The namespace will be discovered correctly and the artisan commands will work.
The proposed implementation should not harm any existing installations, therefore I requested to merge with 9.x
I am a bit afraid that the proposed solution is "hacky" since I do not fully understand how the Application class is used.
For example, it seems like an alternative to implement a property $composerPath and corresponding accessors comparable to useStoragePath, useDatabasePath, ... but I don't understand how/when they would be set.
Of course I am willing to learn and improve the PR.
Also I am not aware if there are other situations where the assumption of composer.json being at the Laravel base path is being made.
Thank you!

We really shouldn't be allowing to customize this no matter what the reasons are. We also don't recommend changing the app directory to something else.

Just to be clear, I am not proposing changing the app directory or the structure of the Laravel installation.


Method parameters not autocompleted

Description
Hey :)
The title is self explanatory, I did take a look at the gradient and completions implementation and I'm not sure why it doesn't get autocompleted
The gradient uses the same elem macros as the rest of the code.
I'm investigating
unrelated but came up while investigating, test -subset shouldn't skip the headers obviously but it does right now, I'll fix that soon
Reproduction URL
No response
Operating system
No response
Typst version

[X] I am using the latest version of Typst

This just applies to method parameters in general.


Support for asyncio ?

I noticed that there is no mention of asyncio support. Are there any plans to support asyncio in the future? Currently, when async generators are used, it throws a TypeError: 'async_generator' object is not an iterator.

It's something I've considered adding, but I've no immediate plans

Just adding a real-world use case: the generative models from Google AI return a JSON stream. However, since json-stream does not support async iterators, I need to make a sync API call. And this has to be done on a thread to avoid blocking the main thread with mostly just waiting for the API to respond.
Since there is workaround, I can still use json-stream here, but it is somewhat inconvenient.


The HTML doesn't display the exported object

I would like to know if when exporting to an html file it can show the objects displayed as shown in the following screenshot.
I have exported as html, but I can't visualizar the object (geopandas and raster tile).
Output in Google Colab

HTML output in the web browser

@ambarja You need to activate the message queue to make it work when using the MapWidget object:
m = Map(map_options)
m.use_message_queue()
# ...

with open("app.html", "w") as f:
    f.write(m.to_html(style="height: 800px;"))

I will activate this by default in a future release :-)

@ambarja You need to activate the message queue to make it work when using the MapWidget object:
m = Map(map_options)
m.use_message_queue()
# ...

with open("app.html", "w") as f:
    f.write(m.to_html(style="height: 800px;"))

I will activate this by default in a future release :-)
@crazycapivara
I have been used this code, but the result is the same :c

Google Colab

Web Browser

You have to do this directly after initializing the map, otherwise it will not work!

You have to do this directly after initializing the map, otherwise it will not work!

please Is possible to share an example ?

@crazycapivara  thank you very much for the support!
🚀 ❤


Transaction support for other DS

Currently in transaction mode, we have options for updating only limited data structure.
For ex: List is not supported.
Is there any reason for this?

Complexity of implementation.

Understood. Lua script could be an alternative.


Improve exceptional handling. Don't rethrow a new exception better

What changes were proposed in this pull request?

Why are the changes needed?

Does this PR introduce any user-facing change?

alluxio-bot, merge this please


ONC FHIR Challenge Vulnerability: Token creation and validation

Two separate issues here but can be fixed with a similar patch. The oauth server used in this repo as an example was not a fully implemented oauth server. Replacing our mock oauth server with a fully secured oauth server should remediate both the following issues, but they need to be verified independently.
First issue is that with a client id and client secret, tokens can be self generated without going to an oauth server, and then used to access resources.
Second issue is that a client secret is not required to request an auth token when the client is "trusted".

mock services has been removed


Removed all endmethod and endclass comments

Resolves #1570

Done using find/replace
(endmethod.)\s*".* for $1
(endclass.)\s*".* for $1

cool
we have some open pull requests, which might have conflicts when this is merged, not sure if to merge this one first or later

Just curious, what exactly does reducing compilation size impact (and is the effect noticeable)? I saw similar comments in our own code.

not much, I guess
The comments were auto generated by some old pretty printer versions

conflicts, I'll prioritize getting the pull requests with features in, not sure when the queue is more or less empty so this can be merged

yeah, lets close this for now


fix website navigation on intro.html

Small fix of the documentation website navigation.

I think we can add the yarn.lock to gitignore, right?


Update kiwi-news-attestate.yaml

most of the entries were wrong so I fixed them

Thanks Tim!
We haven't done analysis on ethereum mainnet contracts yet, that's why they were missing previously. Thank you for adding them 😄
A few requests before I can merge your PR:
* [ ]   0xee324c588ceF1BF1c1360883E4318834af66366d is the payout address in [your app attestation](https://vote.optimism.io/retropgf/3/application/0x50565b1e518ab91b14ef50fdab91a63623fb5951e96c18918e36be5aeb6fd297), which is why we included it here. Could you remove that edit?

* [ ]   Could you update the tags for 0x1633451fF7cD3688c944634b08829326DF316dD7 to `safe` and `wallet`. (We handle indexing of multisig contracts differently.)

Hey I just added both points and hope the PR is now good to go. Actually I was wondering, we recently had your blog post about opensource observer on our site (we liked it!) https://news.kiwistand.com/stories?index=0x655e6cd3334fb098fb4d6522ab7d3208b2cb48af2bc63cb3e726c885fc81c501ea447343 and it shows some activity from us, but is this base on the new or the old data then?

Thank you @TimDaub . I just merged your latest additions. I also signed up for Kiwi News -- incredible work, we need this! ✨
The data on the site will soon reflect these changes. I may re-run my lists and analysis for RetroPGF a final time to catch data updates, but no guarantees.

I also signed up for Kiwi News -- incredible work, we need this! ✨

Amazing I'm so happy to see!!

The data on the site will soon reflect these changes. I may re-run my lists and analysis for RetroPGF a final time to catch data updates, but no guarantees.

<3


[Wave] Fun projects for beginnners

Are you interested in learning more about GPU programming and developing cool optimizations? Do you want to help build next generation and state-of-the-art machine learning models and layers? Do you want to define the future programming paradigm of machine learning and GPU layers? Look no further, come join us in building "Wave"!
Here are some fun starter tasks to look at:
Core infrastructure

[ ] Implement backwards attention kernel on TKW
[ ] #285 - @nithinsubbiah
[x] Auto detection of hardware architecture in runtime - https://github.com/iree-org/iree-turbine/pull/279
[ ] Support more architecture in codegen aside from CDNA.
[ ] Refactor Wave ops definition and make it autogen documentations
[ ] Replace compile context with compile command

Useful Integration/Deployment on LLM and GenAI model

[ ] Implement Pytorch Linear Layer (forward, backward) that uses custom TKW kernel
[ ] Implement Pytorch Conv2d Layer (forward, backward) that uses custom TKW kernel
[ ] Implement Pytorch Attention Layer (forward, backward) that uses custom TKW kernel
[ ] Integrate Wave kernel into sharktank for e2e S.T we can inject IR from TKW into model IR.

Useful Operations for Quantized LLM and GenAI workload

[x] #322 - @NoumanAmir657
[ ] Add support for tkw.round_even (math::RoundEvenOp)
[ ] #339 - @NoumanAmir657
[ ] Add support for tkw.clamp (takes upper bound, lowerbound arguments and combines tkw.minimum and tkw.maximum)
[ ] Add support for tkw.min (reduction) dependent on tkw.minimum (elementwise)

Would this be open for someone who has almost no knowledge of GPU programming except for some basic understanding.

Hi @NoumanAmir657 thanks for reaching out! There are plenty of tasks to go around, depending on your experience level, would probably assign easier tasks to start with.

Hi @NoumanAmir657 thanks for reaching out! There are plenty of tasks to go around, depending on your experience level, would probably assign easier tasks to start with.

Hi, yes would love any pointers to which task would help me getting started. You can assign me whichever you see fit and I can work towards it

@NoumanAmir657 I think a good starter task is to implement tkw.abs and it's lowering into math.absfOp or math.absIOp in math dialect of MLIR. Here is a sample of a similar task on reciprocal (https://github.com/iree-org/iree-turbine/commit/82852d13198be9f18f6a070b2762bdaf6e78c5f3).
LMK what you think. :)
Disclaimer: if this(or any task assigned to external collaborator) becomes high priority, someone internal may take on this task to get it out asap.

@NoumanAmir657 I think a good starter task is to implement tkw.abs and it's lowering into math.absfOp or math.absIOp in math dialect of MLIR. Here is a sample of a similar task on reciprocal (https://github.com/iree-org/iree-turbine/commit/82852d13198be9f18f6a070b2762bdaf6e78c5f3).
LMK what you think. :)
Disclaimer: if this(or any task assigned to external collaborator) becomes high priority, someone internal may take on this task to get it out asap.

Yes this seems a good starting point. I shall make a PR soon. Thanks!

thanks @NoumanAmir657 for the awesome work with tkw.abs! let me know if you're interested in picking up other issues. The next important thing for us is adding support for tkw.minimum (elementwise) and extending it's support to tkw.min(reduction) but feel free to pick other things more aligned with your interest of course.

thanks @NoumanAmir657 for the awesome work with tkw.abs! let me know if you're interested in picking up other issues. The next important thing for us is adding support for tkw.minimum (elementwise) and extending it's support to tkw.min(reduction) but feel free to pick other things more aligned with your interest of course.

Thanks for getting me started. I want to contribute more. Over the weekend, I will go over issues and decide on one. Thanks!

@raikonenfnu Hi. You can assign me the tkw.minimum issue.
Thanks!

Hi. You can assign me the tkw.minimum issue.

@NoumanAmir657 SG! thanks :)

Hi, can I volunteer for the tkw.round_even support?, thanks :)

Hi, can I volunteer for the tkw.round_even support?, thanks :)

Sounds great! :)

@egebeysel Here are some sample PRs that does similar thing to what you'd be doing: (https://github.com/iree-org/iree-turbine/commit/82852d13198be9f18f6a070b2762bdaf6e78c5f3, https://github.com/iree-org/iree-turbine/commit/71eb1c8bfbb8c053a3684caabdc7df6648e7d794)
But in this case, you'd want to lower tkw.round_to_even to math.round_even from the math standard dialect in MLIR https://mlir.llvm.org/docs/Dialects/MathOps/#mathroundeven-mathroundevenop. Do reach out if you have any questions! :)


Remove old JAX restrictions for Winows

Description
Support for JAX on windows was improved. This change removes the nox file restrictions on JAX. This builds on #3932 and keeps that one focused on just ODES.
Fixes #3941
Key checklist:

[x] No style issues: $ pre-commit run (or $ nox -s pre-commit) (see CONTRIBUTING.md for how to set this up to run automatically when committing locally, in just two lines of code)
[x] All tests pass: $ python run-tests.py --all (or $ nox -s tests)
[x] The documentation builds: $ python run-tests.py --doctest (or $ nox -s doctests)

You can run integration tests, unit tests, and doctests together at once, using $ python run-tests.py --quick (or $ nox -s quick).
Further checks:

[x] Code is commented, particularly in hard-to-understand areas
[x] Tests added that prove fix is effective or that feature works

This will be rebased/forced pushed after #3932 is merged


Invalid JSON received from frontend.

Got Invalid JSON received from frontend. message when login with neptune account login. It may due to I am using socks proxy. Please kindly suggest a way to solve this problem.
I modified neptune/client.py file on func  def _upload_tar_data(self, experiment, api_method, data): to:
         proxies = {"http": "socks5h://<IP_ADDRESS>:9999", 'https': 'socks5h://<IP_ADDRESS>:9999'}
         return session.send(session.prepare_request(request), proxies=proxies)

So that it works for neptune-client without command line.

Hi @zmonoid,
From what I can see in our system, your account is bound to the newer version of Neptune, which relies solely on the neptune-client pip package and isn't compatible with neptune-cli (sorry for the confusion here!). This means, that you cannot use neptune account login, instead, you should rely on Python API from neptune-client and API Tokens
About using a proxy, we'll add it to our roadmap, but we're also happy to accept a PR :)

@pitercl
Thanks for your answer.
Is there anyway we can still use neptune run --config cfg.yaml python main.py ?

Right now the new library doesn't come with a feature-rich CLI - instead, we deviver (almost?) entire functionality via Python API. You can simply run
python main.py

and within your code write something like
import neptune
with neptune.create_experiment(...) as exp:
    exp.send_metric(...)
    exp.send_text(...)
    ... etc.

Are you missing any particular features in the Python API?

@zmonoid
You can easily parse your cfg.yaml to the neptune config object.
There is a class that does just that in the neptune-contrib project.
Feel free to take it from here.

@pitercl @jakubczakon
Thanks very much for your answer~
This is really a great project.


[Feature] 甘特图增加右键任务显示菜单功能

What problem does this feature solve?
目前布局右侧右键好像默认显示一个菜单
增加api配置菜单内容
What does the proposed API look like?
textmenu

感谢你的反馈！我们已经收到你的问题，并将在后续进行处理。
如果有开发者对这个 issue 感兴趣，请在issue下方留言“认领该issue”，留言后开始你的创作提pr给我们！
欢迎大家参与开源共建！我们非常感激每一位贡献者，提交pr后我们将为参与共建的开发者准备一份礼品。
参与共建可参考：https://visactor.io/vtable/guide/Contribution_Guide
与官方开发者交流问题可以下载飞书app扫码加入飞书群：

再次感谢你的支持！
Thank you for your feedback! We have received your question and will deal with it later.
If any developer is interested in this issue, please leave a message "claim this issue" below the issue. Welcome to participate in open source co-construction!
We are very grateful to every contributor. After submitting the PR, we will prepare a gift for the developers who participated in the co-construction.
For participation in co-construction, please refer to: https://visactor.io/vtable/guide/Contribution_Guide
To communicate with official developers, you can download the Feishu app and scan the QR code to join the Feishu group！
Thank you again for your support!


Fix UI issues

Fix issue #1809

Coverage increased (+0.05%) to 54.591% when pulling 074343cd9cd703db176e9f0e8e5078f5fc71b5d6 on steven-zou:dev into 61d84694ff3d11ecfb36c3b984b9439cb86ea704 on vmware:dev.


Dnadales/861 docker linux package builder

See mk-package/README.md
Closes #861
Closes #821

We have an issue with the copyright  requirement:
Searching for Copyright notice:
TorXakis - Model Based Testing
Copyright (c) 2015-2017 TNO and Radboud University
See LICENSE at root directory of this repository.

./ci/mk-package/ubuntu/mk-package.sh
#Files = 419
#Violations = 1
Fail
Use /test/copyright/FixCopyrightNotices.bat to add missing copyright notices.

How to solve it?
Especially,  since both #!/bin/bash and our copyright want to be at the first line.

It seems I can't reopen this pull request, so I am making a new issue out of it.

Oh, darn, I forgot to add the copyright notice there (how come it passed CI?).
The other shell files begin like this:
#!/bin/bash

# TorXakis - Model Based Testing
# Copyright (c) 2015-2017 TNO and Radboud University
# See LICENSE at root directory of this repository.

I think this should keep the copyright tyrant happy :)

Indeed: how did it pass CI? See #902


Position of leader lines getting distorted

Hi. I have a usecase where I am removing and adding lines on route change. On reload, I am getting lines at correct position. Once I switch view, I remove the earlier lines from the dom and then append new lines inside the wrapper. List of svgs get reflected inside the wrapper div but their position is incorrect. If I reload the page, I get the position alright. Possibly there is some issue in removing lines. Attaching code snippet for your reference.
` removeMapping() {
this.svgArr.forEach(svg => {
document.body.appendChild(svg);
});
this.mappingArr.forEach(arrow => {
arrow.remove();
});
this.mappingArr = [];
this.mappingArrowStartEnd = [];
this.svgArr = [];
}
appendArrowsInWrapper() {
const elmWrapper = document.getElementById('arrow-wrapper');
const rectWrapper = elmWrapper.getBoundingClientRect();
elmWrapper.style.transform = 'translate(-' +
(rectWrapper.left + pageXOffset) + 'px, -' +
(rectWrapper.top + pageYOffset) + 'px)';
if (this.svgArr.length > 0) {
this.svgArr.forEach(svg => {
elmWrapper.appendChild(svg);
});
}
}
`

Hi @kd2801, thank you for the comment.
Could you show me your code by using e.g. https://jsfiddle.net/ ?

can't share the entire code. Can you please make some changes in this fiddle https://jsfiddle.net/op2gnk0t/ and alternately add/remove leader lines. Maybe using a toggle button.

In my case, the svgs are appended correctly, its their positions which are not calculated correctly.

If you can reproduce that, someone might help you.
To reproduce that, could you show me new example code in https://jsfiddle.net/  ?

Check this https://jsfiddle.net/mzj1kx2q/

Hmm... What is expected result for you?

Your code has various problems.
For example, you try to use lines that were already removed again. Those lines never work.
See document:
https://anseki.github.io/leader-line/#remove
Why did you remove those?

Hmm... What is expected result for you?

I want to remove the existing lines and append new lines. The problem is I cant figure out why the positions are not correctly calculated.

Removed lines never work.
See document:
https://anseki.github.io/leader-line/#remove
You can use hide() instead, or make new lines.

No reply came, then this abandoned issue is closed.


KeyError: 'HTTPServer'

A combination of https://github.com/NCAR/intake-thredds/issues/37 and https://github.com/NCAR/intake-thredds/issues/26
I was trying the same logic to access the GFS archive
url = "simplecache::https://rda.ucar.edu/thredds/catalog/files/g/ds084.1/2020/20200101/catalog.xml"
intake.open_thredds_merged(
    url,
    path=["gfs.0p25.2020010100.f*.grib2"],
    driver="netcdf",
    concat_kwargs={"dim": "time"},
    xarray_kwargs=dict(
        engine="cfgrib", backend_kwargs=dict(filter_by_keys={"cfVarName": "t2m"})
    ),
).to_dask()

This gives KeyError: 'HTTPServer' with the Traceback below
KeyError                                  Traceback (most recent call last)
<ipython-input-6-d2ab48b9bee8> in <module>
      1 url = "simplecache::https://rda.ucar.edu/thredds/catalog/files/g/ds084.1/2020/20200101/catalog.xml"
----> 2 intake.open_thredds_merged(
      3     url,
      4     path=["gfs.0p25.2020010100.f*.grib2"],
      5     driver="netcdf",

~/opt/miniconda3/envs/test_env/lib/python3.9/site-packages/intake_xarray/base.py in to_dask(self)
     67     def to_dask(self):
     68         """Return xarray object where variables are dask arrays"""
---> 69         return self.read_chunked()
     70
     71     def close(self):

~/opt/miniconda3/envs/test_env/lib/python3.9/site-packages/intake_xarray/base.py in read_chunked(self)
     42     def read_chunked(self):
     43         """Return xarray object (which will have chunks)"""
---> 44         self._load_metadata()
     45         return self._ds
     46

~/opt/miniconda3/envs/test_env/lib/python3.9/site-packages/intake/source/base.py in _load_metadata(self)
    234         """load metadata only if needed"""
    235         if self._schema is None:
--> 236             self._schema = self._get_schema()
    237             self.dtype = self._schema.dtype
    238             self.shape = self._schema.shape

~/opt/miniconda3/envs/test_env/lib/python3.9/site-packages/intake_xarray/base.py in _get_schema(self)
     16
     17         if self._ds is None:
---> 18             self._open_dataset()
     19
     20             metadata = {

~/opt/miniconda3/envs/test_env/lib/python3.9/site-packages/intake_thredds/source.py in _open_dataset(self)
     95
     96         if self._ds is None:
---> 97             cat = ThreddsCatalog(self.urlpath, driver=self.driver)
     98             for i in range(len(self.path)):
     99                 part = self.path[i]

~/opt/miniconda3/envs/test_env/lib/python3.9/site-packages/intake_thredds/cat.py in __init__(self, url, driver, **kwargs)
     28         self.url = url
     29         self.driver = driver
---> 30         super().__init__(**kwargs)
     31
     32     def _load(self):

~/opt/miniconda3/envs/test_env/lib/python3.9/site-packages/intake/catalog/base.py in __init__(self, entries, name, description, metadata, ttl, getenv, getshell, persist_mode, storage_options)
     98         self.updated = time.time()
     99         self._entries = entries if entries is not None else self._make_entries_container()
--> 100         self.force_reload()
    101
    102     @classmethod

~/opt/miniconda3/envs/test_env/lib/python3.9/site-packages/intake/catalog/base.py in force_reload(self)
    156         """Imperative reload data now"""
    157         self.updated = time.time()
--> 158         self._load()
    159
    160     def reload(self):

~/opt/miniconda3/envs/test_env/lib/python3.9/site-packages/intake_thredds/cat.py in _load(self)
     79
     80         self._entries.update(
---> 81             {
     82                 ds.name: LocalCatalogEntry(
     83                     ds.name,

~/opt/miniconda3/envs/test_env/lib/python3.9/site-packages/intake_thredds/cat.py in <dictcomp>(.0)
     85                     self.driver,
     86                     True,
---> 87                     {'urlpath': access_urls(ds, self), 'chunks': {}},
     88                     [],
     89                     [],

~/opt/miniconda3/envs/test_env/lib/python3.9/site-packages/intake_thredds/cat.py in access_urls(ds, self)
     73             elif self.driver == 'netcdf':
     74                 driver_for_access_urls = 'HTTPServer'
---> 75             url = ds.access_urls[driver_for_access_urls]
     76             if 'fsspec_pre_url' in self.metadata.keys():
     77                 url = f'{self.metadata["fsspec_pre_url"]}{url}'

~/opt/miniconda3/envs/test_env/lib/python3.9/site-packages/siphon/catalog.py in __getitem__(self, key)
    219     def __getitem__(self, key):
    220         """Return value from case-insensitive lookup of ``key``."""
--> 221         return super(CaseInsensitiveDict, self).__getitem__(CaseInsensitiveStr(key))
    222
    223     def __setitem__(self, key, value):

If I try and get at one file
url = "https://rda.ucar.edu/thredds/catalog/files/g/ds084.1/2020/20200101/catalog.xml"
source = intake.open_thredds_cat(url)
source['gfs.0p25.2020010100.f000.grib2']

it'll use driver: intake_xarray.opendap.OpenDapSource. This will failure later without some cfgrib like filtering.
If I add simplecaching and driver="netcdf" I get the HTTPServer error:
url = "simplecache::https://rda.ucar.edu/thredds/catalog/files/g/ds084.1/2020/20200101/catalog.xml"
source = intake.open_thredds_cat(url, driver="netcdf")

Similarly I get the HTTPServer error using open_thredds_merged
url = "simplecache::https://rda.ucar.edu/thredds/catalog/files/g/ds084.1/2020/20200101/catalog.xml"
source = intake.open_thredds_merged(url, path=["gfs.0p25.2020010100.f000.grib2"], driver="netcdf")

On this thredds server, there seems to be no HTTPServer, see https://rda.ucar.edu/thredds/catalog/files/g/ds084.1/2020/20200101/catalog.html?dataset=files/g/ds084.1/2020/20200101/gfs.0p25.2020010100.f000.grib2.
A quick check is always to exchange xml with html and browse the files by mouse. Opendap is available and therefore works, but opendap and caching are incompatible.


Added sheet number argument to processFile

Hi Steve,  Enhanced as discussed.  I did not run npm version major, but that will need to be done.  Please let me know if you have any questions or need more changes/tests/doc/etc.  Cheers

Coverage remained the same at 100.0% when pulling e7845753cc4bbfe52e8d7c5e6633450ee91bdf57 on binarymax:master into d3dd61e6419e8cf5078c29b039903c749746222d on stevetarver:master.

Current coverage is 98.75% (diff: 100%)

Merging #12 into master will not change coverage

@@             master        #12   diff @@
==========================================
  Files             1          1
  Lines            80         80
  Methods           1          1
  Messages          0          0
  Branches         18         18
==========================================
  Hits             79         79
  Misses            0          0
  Partials          1          1

Powered by Codecov. Last update d3dd61e...e784575

@binarymax see PR #13 that add more complex functionality

binarymax, published version 2.0.0 with your changes. I have evolved those changes a bit. Thanks for the initial work on this.
Apologies for the time it took to get this out. Don't want to whine about work, but, I'm sure you've had those months as well.


About GPU memory needed for inference

Great work!
May I ask what's the GPU memory needed for inference? Is a single 2080ti with 11 GB enough?

Great work! May I ask what's the GPU memory needed for inference? Is a single 2080ti with 11 GB enough?

Thanks. Inference on a single 3090 needs at least 5.1GB of memory. A single 2080ti 11GB would be enough.


[Communities Enabler] Architecture revamp from hard code to smart contract

Problem
Currently, the communities feature on DevHub is hard coded and only DevDAO developers with certain permissions have the ability to make updates. This makes it hard to scale the number of communities with the features and permissions that user need. This enabler ticket is to change our architectural model from hard code to smart contract, which will remove the dependency for several tickets, including #78,  #79, #80, #81, #102, and #106.
User Story
This task is not intended for DevHub users, but developers. As a developer, I am able to create and edit DevHub communities by calling smart contract methods.
Acceptance Criteria

Communities are stored in smart contract state
A view function to list all communities with id, name, thumbnail and short description for #79
A call function to create community with following fields:

short url aka slug (not possible at the moment)
Community name (limit to 30 chars)
short description (limit to 60 chars)
feature image url
thumbnail image url
overview tab content markdown string
events tab content markdown string
Admin users – user can designate all the users who will have admin
permissions to edit this community. By default the user who creates the
page gets listed as an admin.
User can designate multiple labels for their community. One primary label is required.
community telegram: if enabled, one or more link
community admin permission. Only who can edit
community github: if enabled, one or more github repo. Each repo with optional labels

A call function to update community. Only admins are allowed to update the community and the admin can update any field as mentioned in create community

Hi @ailisp – Can you please help triage this ticket (e.g. add any details to make it ready for development as well as estimated size)?

Hi @ailisp – I believe you already completed this, so closing this. Please reopen if this is inaccurate.


Multiple distros in one script

Check distribution name in the beginning, do/don't execute distro-specific things.

Nope, use branches instead.


Added makefiles for analyzer and gdb_test_program.

This lets users build these projects from macOS or Linux. The .bat build scripts are still present for Windows.

Modified analyzer generate_python.py to be Python3 compatible, as well as take input and output files as arguments.
Rebuilt analyzer and gdb_test_program with gcc 7.3.1 (GNU Tools for Arm Embedded Processors 7-2018-q2-update). flash.py is updated with the new analyzer, which seems to be noticeably faster, from 592.1 kB/s to 1297.7 kB/s when tested on a FRDM-K82F board.
Updated .gitignore files to ignore .o, .d, and .map, and added a local .gitignore in analyzer/ to ignore the main.{bin,elf,py} outputs.

/morph test

/morph test


Allow user to automatically report their OpenRefine installation configuration

Following discussions on the forum when drafting the 2024 user survey, this issue proposes adding an option for a user to visualize and share OpenRefine's configuration settings.
The user can copy-paste this information and provide it when creating a bug or requesting support on the forum.
Proposed solution
Add an option on the right menu to view OpenRefine configuration. This will open a new tab with the following information (the list is non-definitive; feel free to add or remove)

version of OpenRefine
OS and its version
current browser and its version
list of extensions installed and their version
list of reconciliation services installed
variables value for -p -i -H -w -d - -v -x -c from refine file or passed when starting OpenRefine
variable values from refine.ini including

REFINE_MAX_FORM_CONTENT_SIZE
REFINE_MEMORY
REFINE_MIN_MEMORY
JAVA_HOME
JAVA_OPTIONS
REFINE_AUTOSAVE_PERIOD

language set
from the preferences

ui.browsing.listFacet.limit
notification.status

Number of projects (I don't know if at this stage we want to collect project-specific statistics)

We can add a button to send the information to the development team so we can compile statistics.

I'm not sure what value the number of projects adds here. Does it help with debugging?
@Abbe98 Can you expand on your thumbs down?

I've realized that thanks to #6421, the About page now includes some of that information.

version of OpenRefine
list of extensions installed
Java version

I agree that from a troubleshooting perspective, the number of projects does not provide meaningful information.


read and write band names

@kongdd This should let you read and write tif files with names for each band. For Raster, the Band dimension has names:
julia> rast = Raster(f)
3600×1500×7 Raster{Float64,3} with dimensions:
  X Projected range(-180.0, stop=179.9, length=3600) ForwardOrdered Regular Intervals crs: WellKnownText,
  Y Projected range(89.9, stop=-60.0, length=1500) ReverseOrdered Regular Intervals crs: WellKnownText,
  Band Categorical String[GPP, Ec, …, ET, days_coverage] ForwardOrdered

from file:
/home/raf/Downloads/PMLV2_yearly_G010_v014_2017-01-01.tif

You can select the layer by name:
julia> rast[X=20..80, Y=-30..0, Band=At("ET")]
599×299 Raster{Float64,2} with dimensions:
  X Projected range(20.0, stop=79.8, length=599) ForwardOrdered Regular Intervals crs: WellKnownText,
  Y Projected range(-0.1, stop=-29.9, length=299) ReverseOrdered Regular Intervals crs: WellKnownText
and reference dimensions:
  Band Categorical String[ET] ForwardOrdered
...

Notice you have to specify what dimension to use as stack layers:
st = RasterStack("/home/raf/Downloads/PMLV2_yearly_G010_v014_2017-01-01.tif"; layersfrom=Band)
st[:Ec]

Closes #255

Awesome. Thank u.

Codecov Report

Merging #259 (7f2e0eb) into master (97a699a) will increase coverage by 0.14%.
The diff coverage is 97.14%.

@@            Coverage Diff             @@
##           master     #259      +/-   ##
==========================================
+ Coverage   86.39%   86.53%   +0.14%
==========================================
  Files          36       36
  Lines        2579     2606      +27
==========================================
+ Hits         2228     2255      +27
  Misses        351      351

Impacted Files
Coverage Δ

src/sources/gdal.jl
92.27% <95.23%> (+0.07%)
:arrow_up:

src/array.jl
93.47% <100.00%> (+0.53%)
:arrow_up:

src/filearray.jl
97.67% <100.00%> (+0.23%)
:arrow_up:

src/methods/replace_missing.jl
100.00% <100.00%> (ø)

src/stack.jl
90.00% <0.00%> (+0.83%)
:arrow_up:

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Remove dummy files

/cherrypick release-1.0

/cherrypick release-1.0

/cherrypick release-1.0

/cherrypick release-1.0

/cherrypick release-1.0

/cherrypick release-1.0


Sample k8s infrastructure

I recently built out some k8s infrastructure to host Oragono. It consists of the following components:

Oragono Config ConfigMap. This does exactly what it says it does, the only caveat being that I have the user's password still in there.

MOTD. Having this in YAML is interesting. I've encountered some problems where k8s thought I was making a (Go) map when I used colons in the MOTD.

Deployment. This should probably be a StatefulSet but it works for now. TLS is stored in /secrets, MOTD and Oragono config are in /config, and the db is stored in /data.

TLS Certs. I use certman. This is pretty pluggable as long as it outputs a TLS private and public key.

Service. I'm on DigitalOcean and using a LoadBalancer with a PROXY configuration.

Let me know:
a. your thoughts
b. where to put such a thing

This all sounds great! I think basically I'd want to take a PR that does two things:

Adds example k8s configs to distrib/k8s (alongside the Dockerfile and related Docker stuff)
Adds a section to docs/MANUAL.md describing how to use them

Some questions:

When you say "the user's password", are you talking about an operator password hash? I think the preferred solution to this problem, as of #696, is for operators to authenticate via certificate fingerprint. Alternately, they can use strong unique secrets as passwords, which will mean that their password hashes are not sensitive.
Hashbang included the motd as a non-YAML static file, would that be applicable in this case? https://github.com/hashbang/k8s-irc/commit/a6322a0bf07551e442434870747522c55a110a34#diff-e31ad8da8f28f0d815652e0a603d9ad4R9
Does your setup provide high availability, i.e., if the system running Oragono fails, will k8s spin up a replacement instance, attached to the same shared datastore volume, behind the same load balancer?

Perfect. I'll start switching to this on my cluster.
It looks like hashbang is just using Kustomize, which ends up generating a ConfigMap as I did. I'm not sure what actually caused the issue with the YAML parsing in my ConfigMap other than when I stopped using colons the error went away. There are other block scalars in YAML that might resolve the issue I had. I'll try recreating it.
Yes. The Deployment (ReplicaSet) strategy has worked nicely. I've been able to iterate quickly by killing the pod and a split second later it's back up and running. It might actually be favorable to run a StatefulSet into the future given some of the things that you've talked about in regards to a high availability strategy, but for now, the Deployment object will work.


adding in summary tag

relates: redhat-openshift-ecosystem/openshift-preflight#369
adding in summary tag to support call to pyxis

Signed-off-by: Adam D. Cornett<EMAIL_ADDRESS>

/retest

/approve

/approve


No-op events unknown on StoryLive

Since StoryLive is responsible for rendering components, any events from the components are sent to StoryLive. If handle_event is called for an unknown event, a FunctionClauseError will be raised, crashing the LiveView. This can be particularly problematic for any components that trigger an event on render.
This commit adds a catch all clause to handle_event/3

thank you Gary!


Possible to use multiple formats in the same cell or use template?

I've started work on a project that uses this gem and a new requirement is to match the format of a template excel file and add data to the template.
Issue is that the template has a header row with multiple styling formats within a single cell. IE: FIrst few lines of text in the string is italic, while the last line is bold. Is that possible with this (doesn't look like it)? Alternatively, is it possible to use this to edit an existing excel file (also doesn't look like it)? If not, what gem might be better suited to doing either of the two?
So a single cell might look like this (it also has a background color, but that seems easy enough):
Some text here with bold in the middle
BOLD TEXT

Hi, thank you for using write_xlsx gem.
Worksheet#write_rich_string might help you in this case.
see https://cxn03651.github.io/write_xlsx/worksheet.html#write_rich_string

@cxn03651 Thanks that helps a ton. Looks to be exactly what I needed.


Double clicking the icon will crash the app

Describe the bug
In the WPF UI Gallery example, when I double click the icon next to the title in the title bar, it will silently crash the app.
Any ideas what is happening?
To Reproduce
Double click the icon in the title bar
Expected behavior
Do nothing
Screenshots
No response
OS version
Build 19045
.NET version
7.0
WPF-UI NuGet version
3.0.0-prev2
Additional context
No response

If you don't want this behavior, set CloseWindowByDoubleClickOnIcon="False" in ui:TitleBar.


[Databox] az databox job create: Add new parameter --transfer-type --transfer-configuration-type --transfer-filter-details to support managing import or export` jobs

az databox job create: Add new parameter --transfer-type --transfer-configuration-type --transfer-filter-details to support managing import or export` jobs
az databox job create/update: Add new parameter --kek-type --kek-identity --kek-url --kek-vault-resource-id to support managing customer managed key
az databox job: Add new subcommand mark-devices-shipped to support marking devices shipped
Migrate az databox commands to aaz

close https://github.com/Azure/azure-cli/issues/25778
close https://github.com/Azure/azure-cli/issues/25777
This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

Databox


Label drop down not sorted alphabetically

Actual: Label drop down not sorted alphabetically
Expected: Label drop down sorted alphabetically

Thank you @wardbekker
But this Repo is only for the web-sdk.
This issue is for the frontend-o11y plugin.
Cheers 👋

Adding wontfix label because this issue belongs to frontend-o11y plugin.


Cope with missing HDF keys

Fixes https://github.com/dask/dask/issues/5934
Putting the proposed solution concretely: the "private" method mentioned in the issue is here only used as the fallback, relying on the pandas keys(), which may or may not get fixed in the meantime.
The line should be at least commented, and we could use gathering a test case from https://github.com/pandas-dev/pandas/pull/32723 or elsewhere. I think it's fine to do this kind of thing, but indeed the whole HDF module is fairly complex.

cc @TomAugspurger. I think we should fix this locally until pandas does.

The line should be at least commented, and we could use gathering a test case from pandas-dev/pandas#32723 or elsewhere.

Agreed. A TODO comment to remove would also be nice.

@st-bender , this seems to fail on py36. Have you any idea on the version combinations that you expect to work and what to look out for? I would appreciate if you looked in the logs or ran the test yourself to see if you understand it.

@st-bender , this seems to fail on py36. Have you any idea on the version combinations that you expect to work and what to look out for? I would appreciate if you looked in the logs or ran the test yourself to see if you understand it.

Thanks for poking me, I am quite busy right now, but had a quick look at the log.
My observation was that the py36 stack uses pandas 0.23.4 which should not be affected by the patch at all, I manually downgraded to that version for some time to keep dask working.
I don't have an environment with those versions set up for testing, and from the pandas error it is really hard to tell what the problem is. Something of zero size gets passed, but I am not sure where it is coming from.
The testcases look good to me, thanks for setting them up! Maybe one can additionally check for dd.read_hdf(path, "/group/table*') to test for wildcard matching?
Then what about mixed files? If key is in a pandas table, then keys will not be empty, but what if there is another one (or one where fnmatch() would match) in a pytables table that can be converted to a fitting pandas table? This will then not be found by dask if you just check for empty keys. Maybe very rare but you never know.
I'll see if I can find some time later next week.

I found some time to play a little bit around, basically pandas-dev/pandas#21543 broke compatibility by skipping non-pandas objects. I tried to adapt the approach from pandas to dask and wrote a test case for a strangely mixed case. Here is a solution I came up with, still depends on hdf._handle and things; patch to hdf.py and a test:
https://gist.github.com/st-bender/97d78da1cc6a3ef1b917e02455522dd6
Still not sure what goes wrong with py36 and pandas 0.23.4 though, but  maybe the approach fixes that?

The trouble is, that now you walk all the nodes in every case - and this may be a potential performance issue, right?

The trouble is, that now you walk all the nodes in every case - and this may be a potential performance issue, right?

Yes it is, I wrote that in the issue report, you can also read the other issues; the performance was the reason why pandas' .keys() and .groups() methods were changed. But with dask's approach this seems inevitable, first to make the testcase work, and second it aims to be a drop-in replacement for pandas.
The reason is the following difference to pandas:

pandas simply uses .get(key) to read the data, it doesn't care if it key exists or not, it will fail in cases when the data cannot be converted to a pandas dataframe
dask allows wildcards in key and thus has to find all the data in the file that matches the key.

If you find a way to solve this puzzle without a performance hit, please.
One thing one could try is to skip this traversal if key does not contain wildcards:
if not has_wildcard(key):
    keys = [key]
else:
    <fnmatch() magic here>

dask allows wildcards in key

So we can just do get in the case that there is no wildcard?

Sorry, @st-bender , my thought was to get this quickly done; but I seem not to have accelerated anything!
The py36 version, with 0.23.x pandas, should now be running identical to the previous code, but it still fails for your test case.

Sorry, @st-bender , my thought was to get this quickly done; but I seem not to have accelerated anything!
The py36 version, with 0.23.x pandas, should now be running identical to the previous code, but it still fails for your test case.

Hi @martindurant thanks for all the work.
Your approach looks good to me.
The failure is very strange, and I know that it worked before, but I can't recall if the pytables version was also different or something else, compared to the current py36 ci setup. The problem seems to occur at this point:
https://github.com/dask/dask/blob/0a5312df5b1b8fd6e3236b85c10abcf63feaa460/dask/dataframe/io/hdf.py#L355
Changing stop to 1 made the tests pass, but it failed on a real-world case, so that's not an option.
I tested with pandas 0.24 -- no luck, same problem, but 0.25.3 worked.
I don't know the policy, but if dask could up the pandas dependency to 0.25.3, your approach seems to work.
However, would you mind to include the mixed case in the test? I had that included in the gist.
Just to be on the safe side that everything works as expected, and we don't miss anything in strange cases.

@TomAugspurger , where are we with pandas version support now?

Pandas >= 0.23.
On Fri, May 22, 2020 at 3:18 PM Martin Durant<EMAIL_ADDRESS>wrote:

@TomAugspurger https://github.com/TomAugspurger , where are we with
pandas version support now?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/pull/6204#issuecomment-632895049, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKAOIT5G4L5E6WH3L36GKDRS3M2RANCNFSM4M73F5WQ
.

Found it:
pandas-dev/pandas#26818 fixing pandas-dev/pandas#11188 between 0.24.2 and pandas 0.25.0
@TomAugspurger Any special reason for keeping 0.23 as a minimum pandas version?

We bumped it somewhat recently. Typically we bump it when workarounds become more hassle than they’re worth. I don’t think something in HDF IO would qualify for that.
Can the test be skipped for older versions of pandas?

On May 23, 2020, at 13:30, Stefan Bender<EMAIL_ADDRESS>wrote:

Found it:
pandas-dev/pandas#26818 fixing pandas-dev/pandas#11188 between 0.24.2 and pandas 0.25.0
@TomAugspurger Any special reason for keeping 0.23 as a minimum pandas version?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Can the test be skipped for older versions of pandas?

We certainly could, but the idea was to try to get things working on all the combinations... I still don't see why this is failing on the old version, though, since it ought to be doing the same as the previous code, and @st-bender reports that this used to work OK.
I don't mind letting this corner case slide, but I wouldn't want to take that decision alone.

We bumped it somewhat recently. Typically we bump it when workarounds become more hassle than they’re worth. I don’t think something in HDF IO would qualify for that.

Fair enough.

Can the test be skipped for older versions of pandas?

@martindurant would work for me. As I said, I have no clue how and why it worked, although I filed the bug basically because of that change. I can't go back, too much has changed in the meantime, maybe it worked with py35? I honestly don't remember. And so far nobody else complained, and I would be happy when it works again with all recent pandas versions.
Instead of endlessly going back and forth, what about submitting the fix, skipping the py36 test, and adding a note to the docs that say something like:
Note
------
Import of non-pandas tables requires pandas >= 0.25.
Using wildcards in `key` will impact performance, use with care.

I personally don't put much value on HDF IO for older versions of pandas. I think it's OK to ignore that case.

Back to you, @TomAugspurger

I think merge this when you're ready. I won't have time to look at it.
On Wed, May 27, 2020 at 2:14 PM Martin Durant<EMAIL_ADDRESS>wrote:

Back to you, @TomAugspurger https://github.com/TomAugspurger
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/pull/6204#issuecomment-634881698, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKAOITWERWU2GRJQNKMQQDRTVRATANCNFSM4M73F5WQ
.


CRITICAL Cold init failed: Session call failed

Hey,
when I'm trying to start the exe file on Windows 10 I get this error.
MAIN    : 2022/09/29 14:04:39 main.go:128: INFO     windscribe-proxy client version v1.2.0 is starting...
MAIN    : 2022/09/29 14:04:39 main.go:195: WARNING  Failed to load client state: open wndstate.json: The system cannot find the file specified.. Performing cold init...
MAIN    : 2022/09/29 14:04:39 main.go:198: CRITICAL Cold init failed: Session call failed: Post "https://api.windscribe.com/Session?platform=chrome": read tcp <IP_ADDRESS>:11342-><IP_ADDRESS>:443: wsarecv: An existing connection was forcibly closed by the remote host.
Any suggestions to fix it?
Thanks in advance.

Just tested on Rostelecom and I see same error. Hopefully I'll fix it soon.

Hi!
Yes, it is rostelecom.

Released v1.3.0. Now it is able to contact API, but apparently all servers are banned by their IP. Though, it should start working if Windscribe will rotate their proxy servers to new hosts.

Thank you.

@Ulka17 Consider alternatives. These two should work:

https://github.com/Snawoot/opera-proxy
https://github.com/Snawoot/hola-proxy


fix: hardcode chain ID for now in EthTester provider

What I did
As we wait for a web3.py fix, we can hardcode the chain ID in eth tester.
How I did it
always return<PHONE_NUMBER>40537 in chain_id for eth tester
How to verify it

Checklist

[ ] All changes are completed
[ ] New test cases have been added
[ ] Documentation has been updated

Ah looks like this solution won't work. We are going to have to upgrade web3.py somehow or wait for 5.0 patch from them


Economic Changes, pt 2

DONE (very partial list):

Added an "EXPERIMENTAL BUILD - NOT FINAL!" message onscreen in Flight Mode so it's clear that ALL THIS MAY CHANGE
Made the Mine job work (mostly) correctly: ships MoveTo asteroid, mine item, MoveTo a trader, sell item
Made the Transport job work (mostly) correctly: ships MoveTo source trader, buy item, MoveTo a destination trader, sell item
Made the Economy properly analyze the value of all Transport jobs available
Made the Think() action use a payout test, rather than Flow, for finding the best available job for a Player-managed asset
Significantly revised the Trader logic to correctly understand how to make bids (for items to sell) and asks (for items to buy)
Connected the asks and bids of each station-based Trader to the Inputs and Outputs of the Factory connected to that Trader
Bids are generated when a Trader's Factory requires more Inputs for a production run
Asks are generated when a Trader's Factory has produced new Outputs
Star system generation: every system has a Solar Energy plant
Star system generation: when more than 1 station is enabled (Config.gen.nStations in Local.lua), randomly create only Refineries (for now)
Added the ability of ships to return to a station when they go idle (because no jobs available)
Added the ability to Pause/Unpause (see key binding info below)
Made the WASD keys work in System Map while game is paused
Prevented docking/undocking while game is paused

KNOWN ISSUES (also a partial list; fixes to the known issues are planned!):

Adding lots of asteroids and stations kills the frame rate (many, many mining jobs possible!)
Factories sort of work, but need significantly more testing (and the production rates are currently whack)
The full loop of mining / refining / production / sale / consumption has not yet been implemented
Ships that go idle because no jobs currently DockAt a random station, not the closest one
Ships that go idle because no jobs may never wake up!
Ships can get stuck with unsold items if some other ship made the sale first
AI players don't yet make use of a system's Flow numbers to decide what capital improvements to make
When the game is paused, ships can still move their turrets and fire
Ships that dock with Stations right on top of a Planet get a bad view when docked or after undocking

looked good to me

looked good to me

Thanks for the quick check!


More uniforms (missing u_model)

Add one missing uniform for u_model and set all the view uniforms in Style instead of Tile

The u_model and u_modelView that we use now aren't quite the same as the ones provided in tangram-js:

The js u_model is from the absolute world origin to the tile while ours is from the center of the map view to the map tile.
The js u_modelView doesn't include transforming z into camera space, so that in the position shader block, position.z = 0 will place something on the ground
In js, when you change the value of position in a vertex shader, the operation is in meters.. which means that camera viewport is in.. meters?

While trying to enumerate the differences here I've realized that I'm probably a little confused about this myself. Perhaps @bcamper can illuminate? :)

Yes, u_model translates tile coordinates into world space (this is my understanding of the traditional model matrix).
Yes, u_modelView does not do any z transformation, so that users modifying the vertex position in a shader block can treat z = 0 as the ground plane. While this is unconventional, this seemed a lot easier for users to reason about than to make z some negative distance from the camera (ground plane would be camera height * -1). I considered calling this matrix something other than "model view" for that reason, but ultimately decided it was a matter of semantics, and might be more confusing than to just use the MVP terminology. (Side note, it wasn't practical to let users modify vertex position directly in absolute world coordinates before the view matrix was applied, which might have been more more straightforward, because of precision issues with 32-bit floats and spherical mercator space.)
u_modelView does keep coordinates into meters, with XY relative to the camera. Meters seemed appropriate to me because again, my understanding of a typical view matrix is that it will leave coordinates in world units, but relative to the camera (rather than absolute).
The u_projection matrix is a standard perspective matrix (for perspective camera), with the camera placed at [0, 0, height], where camera height is in meters: https://github.com/tangrams/tangram/blob/master/src/camera.js#L169 (height * 2 is the far clipping plane). The z translate step is included in the projection matrix.
Additional, currently WebGL-specific functionality is applied to tweak the apparent vanishing point of the camera while leaving the visible ground area un-changed -- this is to match the viewable area of traditional web mercator maps.
Let me know if any of that doesn't make sense... there are some compromises, but all in all it seemed to be the most practical balance.

Awesome, that helps a lot! I think we can make this work in a compatible way, but there are some further considerations for the view system we have in tangram-es.
In js, the position block comes directly after multiplying position by u_modelView, so the position that a user is modifying is relative to the camera in x & y and relative to the ground in z - makes sense so far. But when your view matrix includes tilting and rotation, it's no longer very intuitive to manipulate position after being multiplied by u_modelView. This problem is why I've made the model matrix in tangram-es is a little different.
Our u_model is the transformation from a world origin to the local coordinates of a model (tile), and the world origin we use is the current center of the map view (as opposed to the origin of the web-mercator coordinate system). This is so that our vertex pipeline could work something like this:
vec4 position = u_model * a_position;

#pragma tangram: position
// do position transformations in meters, x and y correspond to meters East and North
// from the current map center and z corresponds to meters above the ground

gl_Position =  position * u_viewProjection;

In a way, it's like the tangram-es u_model is like the tangram-js u_modelView and the tangram-es u_viewProjection is like the tangram-js u_projection

One proposal is to provide a set of constant global variables that give consistent results to commonly needed values, as an alternative to directly exposing the matrices themselves (at least not exposing in a supported/documented way). So far we've discussed the need for:

position in tile space (g_model_position?)

this has different scales in JS (tile bound is [0, 4096]) and ES (tile bound is [-1, 1]), a global var would normalize this to a common scale (and/or we can start storing them in the same space)
position is VBO packed in different ways in JS (normalized short) and ES (float), a global var would account for this to hide the unpacking from the user
#define UNPACK_SHORT(x) (x * 32767.)
#define TANGRAM_TILE_SCALE 4096.
const vec3 g_model_position = UNPACK_SHORT(a_position.xyz) / TANGRAM_TILE_SCALE;

position in world space (g_world_position?)

for procedural textures, re-projecting, etc.
this has precision issues but can still be useful

position in wrapped world space (g_wrapped_world_position?)

modified form of world space, wrapped to a scale that allows for procedural textures without precision issues

Any others? The proposed names above aren't that great, but just getting notes down for now. Thoughts on this approach?

I like the idea of providing global variables for these values. It would be nice if we could just initialize them as const so to enforce that they aren't accidentally written to, but GLSL only allows const for compile-time constants and function arguments :\
We could provide macros that act like read-only variables:
#define WORLD_POSITION vec3(g_world_position)
Or provide functions that return the desired value:
vec3 world_position() { return thing; }
Or just let the globals fend for themselves and document that they shall not be written to. Can't really think of anything nicer at the moment.
Names are always hard. We could say local and global instead of model and world, but I could live with either as long as it's consistent and documented.
There's a tiny voice nagging me that this might be somewhat specific to web-mercator; do other projections have comparable cartesian mappings?

So @bcamper would it be sane to try to normalize g_model_position to [0, 1] for coordinates within a tile? The same will need to be done on JS for eraser-map to be cross-compatible.

I think so, will give it a try later today.
On Monday, October 5, 2015, Matt Blair<EMAIL_ADDRESS>wrote:

So @bcamper https://github.com/bcamper would it be sane to try to
normalize g_model_position to [0, 1] for coordinates within a tile? The
same will need to be done on JS for eraser-map to be cross-compatible.
—
Reply to this email directly or view it on GitHub
https://github.com/tangrams/tangram-es/pull/315#issuecomment-145601235.

Closing for now, will return to this when we decide how to normalize u_model between here and tangram-js.

See https://github.com/tangrams/tangram/pull/197


Roll Flutter Engine from 9c8e5cb226e4 to e00d4051ab1d (1 revision)

https://github.com/flutter/engine/compare/9c8e5cb226e4...e00d4051ab1d
2024-09-27<EMAIL_ADDRESS>iOS: Migrate FlutterAppDelegate to ARC (flutter/engine#55472)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC bdero<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Add: How to publish AMPs

Turned the blog post into a sample. Had to do some tweaks to the markdown processing as well.
@kul3r4 PTAL

LGTM


round robin or similar algo w/retries for rotating when we hit bad RPC clients

sometimes a tx or query can fail, and we need to have a redundant way to make queries/txs

[x] default endpoints
[x] retry logic when failure is understood to be issue with a node/peer
[x] allow user to add endpoints

related https://github.com/osmosis-labs/telescope/issues/14

closing as this should be in something like cosmos kit and not telescope


Hardware interface

This refactors the Arduino code and also adds in a safety kill switch.  It also lets it run the first go, eliminating the previous bug with relaunching.

I'm going to merge this as an admin because it works.


CI: Create workflow to rebase this fork to the latest upstream tag

This workflow runs daily and opens a PR is there is a new tag available upstream, to sync it to that tag.

Thanks @EwoutH. Two issues I think I see with the mechanics of this:

this is going to open a new PR for the same tag each day until the first PR is merged, isn't it?
this action should not run on forks (that'd make the same mess that Dependabot makes)

@mckib2 what do you think? The notifications may be useful, assuming the issues above are taken care of.

Thanks for reviewing!

this is going to open a new PR for the same tag each day until the first PR is merged, isn't it?

Good remark! Fortunatly the peter-evans/create-pull-request step considers this, and only opens up a PR if there isn't one open already.

this action should not run on forks (that'd make the same mess that Dependabot makes)

Excellent catch. I addressed that in e146f29.

@mckib2 what do you think? The notifications may be useful, assuming the issues above are taken care of.

Yes, I think this would be useful.  Is it (or can it?) tag appropriate maintainers such as myself?  If it's a burden in the future, we can always turn it off


feat: support SD2.1 and SD2.1-base

Adds support for SD 2.1 and SD2.1-base by updating dreambooth.py with latest (as of today) HF script + various Replicate modifications.

Note: predict.py now returns a List[Path] which is different from trainers used in Dreambooth API - it may confuse the Dreambooth API.


Add gadenbuie/revealjs-text-resizer

https://pkg.garrickadenbuie.com/revealjs-text-resizer/

Thanks for the pointer, I added slides and revealjs. Would you consider trimming quarto- from the tags and using the remaining tag as categories (discarding the quarto and quarto-extension tags, possibly others). Then quarto-slides and quarto-revealjs would show up as the bare slides and revealjs?


High/Low I/O

hog all available cores and threads for non-transfer operations.

Total nightmare. Can't tell if my methods just have that much inherit overhead or I'm deadlocking many times. Some methods take a liberal approach to work duplication and error handling trying to see if there is hope in continuing with that approach. Others are just broken or incomplete remnants of a lost mind. In the end everything was 3x slower on average than the current implementation. Womp, Womp...
from collections import deque
from concurrent.futures import FIRST_COMPLETED, ProcessPoolExecutor, wait
from multiprocessing import Manager
from pathlib import Path, PureWindowsPath

def _localmap(localdir, remotedir):
    _mapping = []

    try:
        if localdir.startswith(':', 1) or localdir.startswith('\\'):
            localdir = PureWindowsPath(localdir)
        else:
            localdir = Path(localdir).expanduser().resolve()

        for localpath in Path(localdir).iterdir():
            if localpath.is_dir():
                local = localpath.as_posix()
                remote = Path(remotedir).joinpath(localpath.name).as_posix()
                _mapping.append((local, remote))
    except Exception as err:
        return localdir, [], err

    return localdir, _mapping, None

def fasttree(localdir, remotedir, recurse=True):
    mappings = {}

    with ProcessPoolExecutor() as executor:
        futures = {executor.submit(_localmap, localdir, remotedir): localdir}

        while futures:
            done, _ = wait(futures)

            for future in done:
                localdir, _mappings, err = future.result()

                if err:
                    print(f'Error processing directory {localdir.as_posix()}: {err}')
                else:
                    mappings[localdir.as_posix()] = _mappings
                    print(_mappings)

                    if recurse:
                        for _local, _remote in _mappings:
                            if _local not in mappings:
                                new_future = executor.submit(_localmap, _local, _remote)
                                futures[new_future] = _local

                del futures[future]

    return mappings

104 function calls in 6.564 seconds
from collections import deque
from concurrent.futures import FIRST_COMPLETED, ProcessPoolExecutor, wait
from multiprocessing import Manager
from pathlib import Path, PureWindowsPath

def _localmap(localdir, remotedir):
    _mapping = deque()

    try:
        if localdir.startswith(':', 1) or localdir.startswith('\\'):
            localdir = PureWindowsPath(localdir)
        else:
            localdir = Path(localdir).expanduser().resolve()

        for localpath in Path(localdir).iterdir():
            if localpath.is_dir():
                local = localpath.as_posix()
                remote = Path(remotedir).joinpath(localpath.name).as_posix()
                _mapping.appendleft((local, remote))
    except Exception as err:
        return localdir, [], err

    return localdir, _mapping, None

def fasttree(localdir, remotedir, recurse=True):
    mappings = {}

    with ProcessPoolExecutor() as executor:
        futures = {executor.submit(_localmap, localdir, remotedir): localdir}

        while futures:
            done, _ = wait(futures)

            for future in done:
                localdir, _mappings, err = future.result()

                if err:
                    print(f'Error processing directory {localdir.as_posix()}: {err}')
                else:
                    mappings[localdir.as_posix()] = _mappings

                    if recurse:
                        for _local, _remote in _mappings:
                            if _local not in mappings:
                                new_future = executor.submit(_localmap, _local, _remote)
                                futures[new_future] = _local

                del futures[future]

    return mappings

104 function calls in 6.795 seconds
from collections import deque
from concurrent.futures import ProcessPoolExecutor, as_completed
from pathlib import Path, PureWindowsPath
from itertools import chain

def _localmap(localdir, remotedir):
    _mapping = deque()

    try:
        if localdir.startswith(':', 1) or localdir.startswith('\\'):
            localdir = PureWindowsPath(localdir)
        else:
            localdir = Path(localdir).expanduser().resolve()

        for localpath in sorted(Path(localdir).iterdir(), reverse=True):  # Sort to maintain order
            if localpath.is_dir():
                local = localpath.as_posix()
                remote = Path(remotedir).joinpath(localpath.name).as_posix()
                _mapping.append((local, remote))  # Use append() for sorted order
    except Exception as err:
        return localdir, deque(), err

    return localdir, _mapping, None

def fasttree(localdir, remotedir, recurse=True):
    mappings = {}

    with ProcessPoolExecutor() as executor:
        future_to_dir = {executor.submit(_localmap, localdir, remotedir): localdir}
        processed_dirs = set()

        while future_to_dir:
            for future in as_completed(future_to_dir):
                localdir, _mappings, err = future.result()

                if err:
                    print(f'Error processing directory {localdir}: {err}')
                else:
                    mappings[localdir] = _mappings
                    print(_mappings)

                    if recurse:
                        for _local, _remote in _mappings:
                            if _local not in processed_dirs:
                                processed_dirs.add(_local)
                                new_future = executor.submit(_localmap, _local, _remote)
                                future_to_dir[new_future] = _local

                del future_to_dir[future]

    return mappings

104 function calls in 6.695 seconds
from collections import deque
from concurrent.futures import ProcessPoolExecutor, wait, FIRST_COMPLETED
from pathlib import Path

def _localmap(localdir, remotedir):
    _mapping = deque()

    try:
        for localpath in localdir.iterdir():
            if localpath.is_dir():
                _mapping.append((localpath, remotedir.joinpath(localpath.name)))
    except Exception as err:
        return localdir, deque(), err

    return localdir, _mapping, None

def fasttree(localdir, remotedir, recurse=True):
    mappings = {}

    localdir = Path(localdir).expanduser().resolve(strict=True)
    remotedir = Path(remotedir).expanduser().resolve(strict=True)

    with ProcessPoolExecutor() as executor:
        future_to_dir = {executor.submit(_localmap, localdir, remotedir): localdir}
        processed_dirs = set([localdir])

        while future_to_dir:
            done, _ = wait(future_to_dir.keys(), return_when=FIRST_COMPLETED)

            for future in done:
                parent_dir, dir_mappings, err = future.result()

                if err:
                    print(f'Error processing directory {parent_dir}: {err}')
                else:
                    mappings[parent_dir.as_posix()] = [(subdir_local.as_posix(), subdir_remote.as_posix()) for subdir_local, subdir_remote in dir_mappings]

                    if recurse:
                        for subdir_local, subdir_remote in dir_mappings:
                            if subdir_local not in processed_dirs:
                                future_to_dir[executor.submit(_localmap, subdir_local, subdir_remote)] = subdir_local
                                processed_dirs.add(subdir_local)

                del future_to_dir[future]

    return mappings

104 function calls in 12.766 seconds
from concurrent.futures import ProcessPoolExecutor
from pathlib import Path, PureWindowsPath

def _localmap(localdir, remotedir):
    _mapping = []
    localdir_path = Path(localdir)
    remotedir_path = Path(remotedir)

    try:
        for localpath in localdir_path.iterdir():
            if localpath.is_dir():
                local = str(localpath)
                remote = str(remotedir_path.joinpath(localpath.name))
                _mapping.append((local, remote))
        return localdir, _mapping, None
    except Exception as err:
        return localdir, None, err

def fasttree(localdir, remotedir, recurse=True):
    mappings = {}
    to_process = [(localdir, remotedir)]

    with ProcessPoolExecutor() as executor:
        while to_process:
            futures = {executor.submit(_localmap, *dirs): dirs for dirs in to_process}
            to_process = []

            for future in futures:
                localdir, _mappings, err = future.result()
                if err:
                    print(f'Error processing directory {localdir}: {err}')
                    continue

                mappings[localdir] = _mappings

                if recurse and _mappings:
                    to_process.extend(_mappings)

    return mappings


kubeadm: add TS entry about joining 1.18 nodes to 1.17 cluster

k/k PR:
https://github.com/kubernetes/kubernetes/pull/89537
tracking issue in k/kubeadm:
fixes kubernetes/kubeadm#2079
/kind bug
/sig cluster-lifecycle
/priority important-soon

@kubernetes/sig-cluster-lifecycle-pr-reviews

/assign @jimangel

fixed typo "Not -> Note" https://github.com/kubernetes/website/compare/db3f09f57395f2c3025369627e416d2639efafbe..ae6b7b3dc5cc9a2bcb4d2f052d1aec55b0fff640

/lgtm

/approve

@sftim i didn't include the --- change or "move to a file" was still WIP.

@sftim i didn't include the --- change or "move to a file" was still WIP.

Sorry; I hope you don't mind!
I was happy to see this merged, in fact I'm also happy to send in a follow-up PR to make the changes I suggested.
Would you like to suggest those changes @neolit123 and then I can approve them?
(If you outright don't want a PR merged that has the lgtm label, I think it's safest to mark it WIP so that Prow and reviewers also know, and you can also /lgtm cancel).

yeah, i think this is fine as is.
you can send the followup if you want and i can LGTM it.

OK, cool. I'll send a follow-up later / tomorrow.

(I didn't send that follow up yet)