WIP: Fix #645 Unclosed client session

Summary
WebClient with run_async=True does not close the aiohttp ClientSession if an exception is raised from async with session.request(...) as res, see #645. This PR uses try-finally statement to make sure the session is closed.
Requirements (place an x in each [ ])

[x] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@NoAnyLove Thanks for taking the time to make this PR!
I'm not confident that we've managed to add a unit test reproducing the issue yet. The failure rate of the test without your fix is not 100% at least on my local machine. Running the operation multiple times in the test helped me make it a bit more stable. But it's not yet 100%.

Hi @seratch, what system and python version do you use? I tested a few days ago, the failure rate was pretty low on Windows 8.1 + Python 3.8.3 x64, but it's 100% on Ubuntu 18.04.04 +Python 3.6.9.
When I tested it today, the failure rate becomes pretty high on Windows 8.1 + Python 3.8.3 x64. It's quite strange, I haven't figure out what affects the failure rate, I guess it might be something ralated to the timeout limit.

I've verified with only macOS 10.15.4 + Python 3.8.2. The failure rate was low (less than 50%).

Hi @seratch, sounds good to me.
For the unstable test case, I think it is caused by Python sometimes gabarge collects the client session after finishing the test case. I added gc.collect() to force it to gc before finishing the test case.
It works good on my box, can you please try it again. If it still cannot guarantee 100% failure rate, I'll make an another commit to remove the issue_645_ part. Thanks.

@NoAnyLove
I just verified the test failure rate is 100% in 20+ executions on my laptop. So, now I think we can safely merge this PR as-is and close the issue 🎉 If some report the same issue even after releasing a new version including this change, we can reopen the issue.
Thank you very much again for taking the time on this and such great contribution 🙇


Reload not triggering on linked style sheet in index.html

Describe the bug
In my index.html there is a linked style sheet. When a change is made inside the style.css file the app doesn't reload/refresh automatically to reflect the changes but I need to manually press refresh to see the changes.
<!DOCTYPE html>

        <link href='/css/style.css' rel='stylesheet' type='text/css'/>

System Info

required vite version: 1.0.0-rc.1
required Operating System: Ubuntu 20.10
required Node version: 12.18.2

CSS linked this way are not considered part of the app's module graph (for now).
Instead, import it from your main.js:
import '/css/style.css'

This is fixed in 2.0.

This is fixed in 2.0.


gem dupe glitch

when using vial of arcane extraction if you have multiple vials in the table and you shift click the gem you extract as many copies of each gem as you have vials in the stack
while a net loss in gem dust it can be used to trade for copies of very well rolled gems

fixed in 5.7.4


[Kubecon EU 2024] Platform WG - Morning meetup / Coffee

We've been working with  @abangser so that we can have a small place at the https://www.lebelluneparis.com/ to meet and share a coffee before "the big day". It's near the kubecon's venue  (5 minutes)
Meet us on tuesday 19/03 from 07h15 to 8h45 (exact details/location/costs is waiting for confirmation)
https://framadate.org/mi8N2yFdWTzbMO7u
Let us know (with the poll link ) if you're going to join us (so that i know if i need to book more).
I'm in touch with the bellune to book a small place near the bar. I'll preorder a thermos of coffee, a few pastries /cake and an orange juice. If you want more i believe that you'll be able to order at the bar a few extra things (but if you want a complete breakfast you should probably get one at your hotel).
Estimated : 10 people (up to 20 possibly ?).
I've also requested if we can use the bar the other days of the wek as a few people would like to reuse the place.
We'll share the bill but it looks like that we'll be able to get some sponsors
Discussions on slack: https://cloud-native.slack.com/archives/C020RHD43BP/p1706099927099729

Translated quote from the venue via @antoine-sncf :
For breakfast on March 19, we can provide you with three pastries per person (30), 2 thermoses of coffee and 2 carafes of orange juice.
For this it would cost 10 euros per person.
Indeed, if you wish to add items, you can ask the server and pay this supplement on site.
For people who wish to return on other days, if there are many of them, you should notify me in advance so that I can organize their arrivals and also apply the group rate (10 euros).
If people are alone, the price of our express breakfast at the bar is 12 euros per person including:
1 DETOX JUICE
Orange, carrot, lemon, ginger, acerola
1 homemade fruit salad
1 granola with cottage cheese
A CHOICE :
Honey, agave syrup, maple syrup
OR
1 hot drink, 1 fruit juice, 3 pastries
I think we can assume no more than 20 people so that is ~200eur per day. So far we have the following people happy to sponsor: @loujaybee from GitPod,

After seeing the poll results, I have confirmed at the belune the option for 3 days : tue/wed/thu (the friday seems uncertain) for 10 persons minimum. I'll confirm the actual numbers again 1 week before the event (12/03)  up to 20.
I've personnaly guaranteed the paiement in case there is a paiement card issue onsite (we'll find a way later).

After seeing the poll results, I have confirmed at the belune the option for 3 days : tue/wed/thu (the friday seems uncertain) for 10 persons minimum. I'll confirm the actual numbers again 1 week before the event (12/03) up to 20.
I've personnaly guaranteed the paiement in case there is a paiement card issue onsite (we'll find a way later).

@antoine-sncf - just to clarify, are you saying we're doing all 3 mornings? Or just the Tuesday

All 3.
The first version of the poll was just "are you coming on tuesday" but Abby was thinking that somple might want to meet more than once.

All 3.
The first version of the poll was just "are you coming on tuesday" but Abby was thinking that somple might want to meet more than once.

I would love to join as well! Is there somewhere we have to register? Or just show up at the venue?

If you voted at the poll on top that's enougth

To make sure we have complete details here as well as the slack thread:
We will ideally have people register via https://framadate.org/mi8N2yFdWTzbMO7u, however, *anyone is very welcome to arrive on the day if they didn't have time to register or were not aware.
Full context:
Registration is really only useful up to 1 week before KubeCon as it will influence the amount of pastries / coffee that we want to preorder.
It was decided in slack that the numbers are not "orders" for food/drink, but more for planning. So we will be first come first serve for refreshments and encourage anyone to come that is able!

I'll confirm the numbber of people tomorrow to the Bellune.
I see that we have https://framadate.org/mi8N2yFdWTzbMO7u
16 for tuesday
13 for wednesday
14 for thurrsday
I Will confirm "for estimated 20" on tuesday and "for estimated 15" the 2 other days

This was a HUGE success. Thank you again to @antoine-sncf for all the hard work planning this and to the sponsors: GitPod, Krumware and Syntasso (Kratix.io).
We had ~20 people every day (even Friday!) and had some great chats. If anyone would like to write up a summery blog that would be amazing, but I will let that come in as a separate PR / Issue.
We should look to set these up for each KubeCon given the success of this one 💪
Here are some of my posts which capture the key pictures from the event:
https://www.linkedin.com/posts/abbybangser_day-4-of-cncf-tag-app-delivery-delivery-morning-activity-7176884098559291393-Fpe6
https://www.linkedin.com/posts/syntasso_kubecon-platformengineering-activity-7176497868180979712-kLjY


Rubocop warns that department needs migration, but doesn't migrate

Expected behavior
When RuboCop warns the user that no department name is given and that the Migration cop needs to be run it should successfully migrate the cop comments.
Actual behavior
I have a bit of ruby code that contains a rubocop disable comment like this:
    # rubocop : disable CyclomaticComplexity
    def merge(predicate, hash1, force = false)
      raise "the predicate should be of type: boolean, not: #{predicate.class.name}" unless [true, false].include?(predicate)
      return if hash1.nil?
      @hash = @hash.merge(hash1) if predicate && !force
      @hash = @hash.merge!(hash1) if predicate && force
    end
    # rubocop : enable CyclomaticComplexity

When running rubocop these legacy department-less comments produce a warning:
Inspecting 1 file
/Users/tsmith/dev/the_world/mapr/libraries/mapr_utils.rb: Warning: no department given for CyclomaticComplexity. Run `rubocop -a --only Migration/DepartmentName` to fix.
/Users/tsmith/dev/the_world/mapr/libraries/mapr_utils.rb: Warning: no department given for CyclomaticComplexity. Run `rubocop -a --only Migration/DepartmentName` to fix.
.

The problem is that running this command produces the same output:
rubocop -a --only Migration/DepartmentName /Users/tsmith/dev/the_world/mapr/libraries/mapr_utils.rb
Inspecting 1 file
/Users/tsmith/dev/the_world/mapr/libraries/mapr_utils.rb: Warning: no department given for CyclomaticComplexity. Run `rubocop -a --only Migration/DepartmentName` to fix.
/Users/tsmith/dev/the_world/mapr/libraries/mapr_utils.rb: Warning: no department given for CyclomaticComplexity. Run `rubocop -a --only Migration/DepartmentName` to fix.

RuboCop version
0.78.0

This is still (or again?) happening on latest release, 1.44.1
$  bundle exec rubocop -v
1.44.1

$ bundle exec rubocop -a --only Migration/DepartmentName
/Users/pboling/src/.../client.rb: Warning: no department given for RescueException. Run `rubocop -a --only Migration/DepartmentName` to fix.
/Users/pboling/src/.../client.rb: Warning: no department given for RescueException. Run `rubocop -a --only Migration/DepartmentName` to fix.
/Users/pboling/src/.../client.rb: Warning: no department given for RescueException. Run `rubocop -a --only Migration/DepartmentName` to fix.
/Users/pboling/src/.../client.rb: Warning: no department given for RescueException. Run `rubocop -a --only Migration/DepartmentName` to fix.
/Users/pboling/src/.../listener.rb: Warning: no department given for RescueException. Run `rubocop -a --only Migration/DepartmentName` to fix.
/Users/pboling/src/.../listener.rb: Warning: no department given for RescueException. Run `rubocop -a --only Migration/DepartmentName` to fix.
/Users/pboling/src/.../listener.rb: Warning: no department given for RescueException. Run `rubocop -a --only Migration/DepartmentName` to fix.
/Users/pboling/src/.../listener.rb: Warning: no department given for RescueException. Run `rubocop -a --only Migration/DepartmentName` to fix.
Inspecting 515 files
...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

515 files inspected, no offenses detected

It doesn't fix the offense, despite saying it will.


[firebase_storage] Flutter run with any iOS simulator always fails with Lost connection to device

After adding firebase_storage: ^3.1.6 as a dependency flutter run with any iOS simulator always fails with Lost connection to device. When I remove package from dependencies it goes as expected.
flutter run lib/debug.dart --verbose

...

** BUILD SUCCEEDED **

[+1280 ms]  └─Compiling, linking and signing... (completed in 18.1s)
[   +2 ms] Xcode build done.

...

[   +9 ms] Updating assets
[+1643 ms] Manifest contained wildcard assets. Inserting missing file into build graph to force rerun. for more information see
#56466.
[  +23 ms] Syncing files to device iPhone 8...
[   +8 ms] Scanning asset files
[  +18 ms] <- reset
[        ] Compiling dart to kernel with 0 updated files
[   +5 ms] <- recompile package:speak_peak/debug.dart 94396d54-8249-4102-be34-f8d6f79ae104
[        ] <- 94396d54-8249-4102-be34-f8d6f79ae104
[  +67 ms] Service protocol connection closed.
[  +13 ms] Lost connection to device.

flutter doctor -v

[✓] Flutter (Channel stable, 1.20.1, on Mac OS X 10.15.5 19F101, locale en-US)
    • Flutter version 1.20.1 at /Users/ivan/flutter
    • Framework revision 2ae34518b8 (6 days ago), 2020-08-05 19:53:19 -0700
    • Engine revision c8e3b94853
    • Dart version 2.9.0

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/ivan/Library/Android/sdk
    • Platform android-29, 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-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.9.3

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 46.0.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

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

[✓] Connected device (1 available)
    • iPhone 8 (mobile) • E441C283-FD88-420B-A98A-0F644E8C5DD5 • ios • com.apple.CoreSimulator.SimRuntime.iOS-13-5 (simulator)

• No issues found!

When build with XCode, native logs appear:
2020-08-12 14:03:23.718063+0400 Runner[21867:1177678] *** Terminating app due to uncaught exception ‘com.firebase.core’, reason: ‘App name can only contain alphanumeric, hyphen (-), and underscore (_) characters’