IE9 prompts user to Stay or Leave page when uploading from My Computer in Kloudless

Steps to reproduce:

Use Internet Explorer 9 to log in.
Add multiple local files to the Kloudless interface via My Computer.
Click upload.

Expected: Upload starts immediately with no prompts.
Observed:  See screenshot, user is prompted to stay or leave the page.

Thanks. Confirmed that IE 9 triggers beforeunload on a variety of events ( https://msdn.microsoft.com/en-us/library/ms536907(v=vs.85).aspx ). While this is okay, it leads to the observed behavior when combined with the condition at https://github.com/Kloudless/file-explorer/blob/master/src/explorer/js/app.js#L958

We've disabled this behavior for IE < 11 for now: e75384bce12811d96c9de8ff2fab7bc349c698a0 . I'll update this issue when this is released.

This has been released.

Thanks @vinodc!


[thanks] for forking

really appreciate how you carried the torch forward from upstream repo. many thanks!

Any new good forks? as this repository seems abandoned.

sigh. this is disappointing.


[WiP] OpenCL support

OpenCL support

numba.ocl namespace
OpenCL driver bindings
code generation thought SPIR 1.2
vectorize support

Only tested on Linux + AMD hardware
The lack of generic address space support is making it difficult for high-level programming.  Current implementation assume all array in global memory space.  The lack of inttoptr/ptrtoint also makes array with non contiguous layout (numpy order 'A') impossible.  These limitation poses a barrier to further implementation.
We can provide this as an experimental support.  OpenCL 2.0 will have generic address space and may make inttoptr/ptrtoint possible.
TODO:

[ ] clean up user interface
[ ] math functions

this looks exciting @sklam :+1:  any progress?

This work is blocked pending support of the SPIR 2.0 standard (which is not yet finalized) in OpenCL runtimes.  We really need the support for generic pointer address spaces in order for this Numba target to integrate into the general compiler pipeline.

Does this (https://appdevelopermagazine.com/2462/2015/3/4/Khronos-Group-Introduces-New-Vulkan-Hardware-Driver-API-and-SPIR-V-Intermediate-Language-Shared-by-Vulkan-and-OpenCL-2.1/) affect this work in any way?

I think it provides a path in the future for OpenCL support in Numba, but it will require the OpenCL 2.1 standard to be approved and implemented.  (Historically, it has taken a long time for OpenCL standards to be implemented broadly, even if we ignore NVIDIA, who is typically the slowest since they already have CUDA.)
We also require LLVM to add the necessary SPIR-V support, but it sounds like that is already actively being investigated by developers on the LLVM mailing list.

Can we pull the ocl-compiler branch from Siu's repo into Numba (to preserve this bit of history), but then close this PR?  We won't be coming back to OpenCL until we see how SPIR-V is implemented in OpenCL 2.1.

The work is preserved as https://github.com/numba/numba/tree/ocl-compiler

@seibert I stumbled across this old issue. In various posts from 2015 you mentioned several blocking requirements. Do you have the time to write a short follow-up with the state of availability now (4 years later)?
I imagine, other numba users searching for "numba" and "OpenCL" will land here as well and would benefit from a short update. - Though I understand if you do not have the time...

What has changed most with OpenCL is that the current standard has moved from SPIR (which is an LLVM-based IR) to SPIR-V (which is not LLVM at all).
Someone could write a Numba target for OpenCL, but would need to confirm the following:

Is there a reliable path to translate something like LLVM IR into SPIR-V?  Numba pipeline is pretty focused on emitting LLVM IR, so making it do something entirely different would require a significantly larger amount of work.

Does SPIR-V work on a wide enough range of hardware / software OpenCL implementations to be interesting for users?  (Apple's dropped OpenCL, so macOS is out unless someone has a SPIR-V to Metal compiler.)  Most important is probably NVIDIA and AMD GPUs + x86 multicore CPU on Linux and Windows.  Note that we were frequently surprised by OpenCL bugs during past OpenCL development, so we're a bit cautious.

Basically, we're not actively looking at OpenCL support (with all the other things on our todo list), but if someone wants to work on this, we would try to figure out a clear target extension API so that such an extension could develop asynchronous to the core Numba repository.

@seibert Thank you very much for taking the time to explain this so clearly.

Hello, it's 2 year since the last post. But I think now there might be a solution to convert LLVM IR code to SPIR-V using KhronosGroup/SPIRV-LLVM-Translator. And about SPIR-V support, I think it might be possible now as multiple vendor also support Vulkan (both nVidia, and AMD)
I could be wrong though, because I'm not sure about the technical detail. If so please correct me

we would try to figure out a clear target extension API so that such an extension could develop asynchronous to the core Numba repository.

A quick 2022 update: the target extension API is pretty much complete and the CUDA target uses it, so it should be possible to add out-of-tree support for an OpenCL backend to Numba from 0.56 onwards. Unfortunately it's not really documented, but one could follow the pattern adopted by the CUDA target - the main classes to follow the implementation of would be CudaCodeLibrary, JITCUDACodegen, CUDABackend, CUDACompiler, CUDATarget, and CUDADispatcher.


Broker info retrieved using subctl command shows some differences with original file

What happened:
When Submariner (0.16.0-rc1) is installed on OCP 4.14.0-rc0 deployments and we try subctl recover-broker-info command, it successfully recovers the broker-info.subm file. However, when I try diff with the original file, I see some (non-functional) differences. AFAIU the the retrieved file would work without any issues.
I'm reporting this issue mainly to highlight that we are seeing some differences which was not the case when the same command was used with previous versions of OCP.

Yeah, as mentioned in the bug report, the differences should not affect the functionality.
But its going to make it a bit difficult for us to check if the retrieved broker-info.subm is matching with the original file. For example, earlier, I used to take backup of the original broker-info.subm file and compare it with the retrieved one using the simple diff command and there used to be no differences. However, with OCP 4.14 (and maybe new K8s versions), we have to use base64 -d and compare individual fields.


issue with Cassandra in pekko-sample-distributed-workers-scala

On a stable Debian (OpenJDK 17), the example pekko-sample-distributed-workers-scala will fail on a exception while using sbt run or sbt "runMain worker.Main cassandra".
The  logs
Starting Cassandra on port client port: 9042 storage port 45209 host <IP_ADDRESS> java version 17.0.10+7-Debian-1deb12u1
WARNING: A terminally deprecated method in java.lang.System has been called
WARNING: System::setSecurityManager has been called by org.apache.cassandra.security.ThreadAwareSecurityManager (file …/pekko-samples/pekko-sample-distributed-workers-scala/target/cassandra-db/cassandra-bundle.jar)
WARNING: Please consider reporting this to the maintainers of org.apache.cassandra.security.ThreadAwareSecurityManager
WARNING: System::setSecurityManager will be removed in a future release
Exception (java.lang.AssertionError) encountered during startup: java.lang.reflect.InaccessibleObjectException: Unable to make field private int java.io.FileDescriptor.fd accessible: module java.base does not "opens java.io" to unnamed module @11b03c1f
java.lang.AssertionError: java.lang.reflect.InaccessibleObjectException: Unable to make field private int java.io.FileDescriptor.fd accessible: module java.base does not "opens java.io" to unnamed module @11b03c1f
…
[error] 	at worker.Main$.startCassandraDatabase(Main.scala:101)

you could add something like this to the build.sbt
run / javaOptions ++= Seq("--add-opens", "java.base/java.lang=ALL-UNNAMED")

unfortunately, this will cause issues if you use Java 8 or 11
when we get around to doing a PR to fix this, we'll probably need to add a condition that checks the java runtime version

Thank you for your quick answer ! I also had to add run / fork := true as warned by sbt ([warn] Compile / run / javaOptions will be ignored, Compile / run / fork is set to false). Unfortunately I still have the error.  I also tried adding the same option for java.util (random pick on Internet).


Lidarr deadline exceeded

I've recently started getting these errors with Lidar (which has recently increased in size significantly, not in media files but in synced artists from Shopify integration), and I haven't been able to update my filters in a while (as far as I can tell from the logs).  All the other *arrs are not having this issue (which
I don't feel like my library is particularly large, but assuming there isn't some other bug, perhaps the query could be optimized or the deadline timeout increased? Let me know if you need other information.
Logs:
2024-07-12T18:00:02-04:00 DBG gathering titles... client=lidarr type=lidarr
2024-07-12T18:01:02-04:00 ERR error while processing Lidarr, continuing with other clients error="api.Get(album): ioutil.ReadAll: context deadline exceeded (Client.Timeout or context cancellation while reading body)" client=lidarr type=lidarr
2024-07-12T18:01:02-04:00 ERR Errors encountered during processing Arrs: job=process-filters
2024-07-12T18:01:02-04:00 ERR Lidarr - lidarr: api.Get(album): ioutil.ReadAll: context deadline exceeded (Client.Timeout or context cancellation while reading body) job=process-filters

Environment Details:

Docker: 20.10.23
Host: Synology NAS
omegabrr: v1.13.0

Seems like this issue has gone away. Perhaps my lidarr instance was just overloaded scanning all the new media that was added.

Reopening, looks like this is an intermittent issue.

Hi! It's got a 60 second timeout which is pretty reasonable. Seem like you have intermittent issues so it's likely something in your setup rather than on an application level.
How many artists and albums do you have synced in there? Above 1000? 10000?
Are you running lidarr or other arrs on the NAS? If you do, is any of the config/data dirs for the arrs on any storage that is NFS mounted? The arrs with the default SQLite database does not work will with that type of setup and can lead to issues like this.

Thanks for the reply, I think I must just be barely reaching that 60 second timeout, depending on the available CPU/SSD usage on my system and how fast lidarr is able to respond (slower especially of other scheduled tasks in Lidarr are running). All my *arrs are setup the same way, only lidarr has this issue, but it only intermittently succeeds so on average it's taking longer than 60 seconds I suspect.
Here is some metadata from my library, I have a lot of monitored artists  >1000 (due to shopify sync) but don't currently have a large media library on disk.
Artists: 1639
Inactive: 91
Continuing: 1548
Monitored: 25
Unmonitored: 1614
Tracks: 2503
Files: 2491
Total File Size: 20.5 GiB

Regarding the config/data dirs, I am not using any NFS mounted drive. I have local HDD's for all the media, and docker and all the configuration lives on the SSD. For media/downloads hardlinks are working.
Any other ideas besides increasing the timeout?


add COVID-19 Italy Monitor WebApp

added the COVID-19 Italy Monitoring dashboard (https://covidashit.herokuapp.com/) to applications.json


Remove nonfunctional grid keyword in finder plot

Fixes #588.
As noted on #588, a recent change to the SkyView module resulted in the grid keyword being removed:
https://github.com/astropy/astroquery/pull/2979

I added the skyview_kwargs option to pass kwargs to skyview, since the default arguments result in some very badly pixelated images if you change the field of view.

You have to fix code style and rebase. Thanks!


Batching actions

I'm not sure if I've just missed something in mobx docs.
I have several cases where I might do something like this:
@model('SomeModelCollection')
class SomeModelCollectionModel extends Model({
	collection: prop(() => objectMap<SomeModel>()),
}) {
	@modelAction
	add(id: string, model: SomeModel) {
		// some additional logic
		this.collection.set(id, model);
	}
}

// some reaction
reaction(() => rootStore.entities.someModel.collection.values(), () => console.log('Reaction');

// somewhere in my code
const arr: ISomeModel[] = ... // array with models
const collection = getRoot(this).entities[collectionName];

// will it be batched?
arr.forEach(modelPayload => {
	const model = new SomeModel(modelPayload);
	collection.add(model.id, model);
});

I'm curious will my forEach block trigger a single reaction call and/or snapshot? Since each collection.add call is the model action call and I'm changing the values of the map.

In theory it should batch AFAIK, since it executes inside the same acttion

Well actually you should probably wrap the array for each with a mobx action / runInAction

Summarizing, changes will batch as long as they are inside action, runInAction, reaction effect, modelAction or modelFlow

Cool, I will reopen it if I find a case where it's not, thank you!

Summarizing, changes will batch as long as they are inside action, runInAction, reaction effect, modelAction or modelFlow

Are you sure about this? I'm trying to do something like this:
@modelFlow
applyChanges = _async(function* (this: NoteStore) {
  console.log('pushing note1')
  const note1 = Note.build({title: 'note1'})
  this.notes.push(note1)

  yield* _await(delay(50))

  console.log('pushing note2')
  const note2 = Note.build({title: 'note2'})
  this.notes.push(note2)

  console.log('all pushed!')
})

Then, I have this observer watching for changes of notes:
autorun(() => {
  console.log(`current notes count: ${this.notes.length}`)
})

The observer is getting called after each note is added. Isn't it supposed to be called once after entire modelFlow is finished?

in model flows batches are done between yield and yield

Oh. Is there any way to get it to execute an entire flow like that in one batch?

mobx only supports sync batches, so no. your best bet would be to delay all state mutations at the end of the flow

Sorry to bother you again, but I have one more question:
What's the use of modelFlow if it doesn't really batch updates? You could just create async function on your model and use await, and it would be the same, no?

the reason is the same than why mobx flow exists
https://www.mobxjs.com/best/actions.html


Accept dots in the TSIG key names

Closes #53
Signed-off-by: Stephan Austermühle<EMAIL_ADDRESS>

I have incorprated this into 0.99.2 and is now available in the latest release 0.99.3 (dff1c9b16ca5b4e11f2ff768df877534654471d9).


Tag image built

Right now sources are deterministic because based on the source code but the data we save in the database are not because of the Image that is the sha of the docker layer and this one is not deterministic.
This PR is a proposal to change the data in the database by saving a tag instead of the id of the docker layer.

We build the docker image but we tag the output with sid:hash
We save the tag in the database instead of the sha from the docker layer
We have a service in database that is constant whatever computer/docker version.... 🎉

These data can now be exchanged on the network and on different computer and so be shared on the marketplace.
Bonus: Now we have some nice informations with docker images

vs

I'm not sure I really follow here. This doesn't change the system in docker, it just creates a tag/alias to access this non-deterministic "ID" from docker. It still doesn't fix anything related to the actual build of docker (this will need to be solved but not the purpose of this PR).
We are not sharing anyway any compiled sources and have to rebuild everything all the time so this will always be linked to the latest built version. But it give us a way to have something that every computer will generate the same way and so everyone can verify that the source code was not changed. The version built is another thing that for now is not verifiable.

I'm not sure I really follow here. This doesn't change the system in docker, it just creates a tag/alias to access this non-deterministic "ID" from docker. It still doesn't fix anything related to the actual build of docker (this will need to be solved but not the purpose of this PR).
We are not sharing anyway any compiled sources and have to rebuild everything all the time so this will always be linked to the latest built version. But it give us a way to have something that every computer will generate the same way and so everyone can verify that the source code was not changed. The version built is another thing that for now is not verifiable.

What I mean is, yes Docker image is not a part of actual source code but it's a close relative. A piece of dependency installed by the instructions inside Dockerfile may affect how the source will behave. Which means it'll make the source code to change indirectly.
It is also possible to manipulate the actual source code with the instructions inside Dockerfile. For example, Dockerfile might be fetching some extra source code files from the internet and put them next to the service's source files. This is a possible hack & a security issue which there is no way to detect it unless user check it manually.
As a result, it's not good to force deterministic behaviour. It's not possible to know if the program's behaviour will change or not between different builds of Dockerfile.


Add more unit_tests.

split AttributeContext::Context into ContextUpdate, move it into its own files
write unit_tests:  attirbute_test.cc, attribte_context_test.cc and context_update_test.cc

Jenkins job mixerclient/presubmit passed

Jenkins job mixerclient/presubmit passed

Jenkins job proxy/mixerclient-pr passed

Jenkins job proxy/mixerclient-pr passed


Media Services Version 2.0.3

Based on https://github.com/Azure/azure-rest-api-specs/pull/6143

/azp run azure-sdk-for-net - mgmt

@BrianBlum Please manually generate the SDK and update the PR. We have disabled auto PR

@dsgouda, thanks, I'll update the PR. Is there somewhere I should look for the latest process?

@BrianBlum you can use the generate.ps1 script as before to generate the code.

@dsgouda, it looks like you already merged the auto PR change #6431.
I reran generate.ps1, and there were no differences in the newly generated files.
6431 contained just the 21 files that changed based on Azure/azure-rest-api-specs#6143

@dsgouda, it looks like you already merged the auto PR change #6431.
I reran generate.ps1, and there were no differences in the newly generated files.
6431 contained just the 21 files that changed based on Azure/azure-rest-api-specs#6143

Thanks for confirming this.

@dsgouda  Thanks for the merge. In the future, will the .net sdk be merging autoPRs?
And the generate.ps1 is a step we should run to confirm that the correct changes are in the repo?

Auto PRs will be merged after 06/11

Thanks!


convert typing-dependencies as dev-dependencies

some runtime-dependencies are actually dev-dependencies:

typed-ast
types-setuptools
types-tom

acc / cit

the deps are not installed per default, if this package is installed.

as they might be needed by others in upstream, we still might add them es an extra called "typing"

@madpah this feature has the lowest prio of them all.
it did not work at the first try, and it might have impact on other downstream projects.
so i hereby close this PR and reject my feature request.


Flutter Web: Named Routes are Bugged

There is no log output for this. I am using named routes in my Flutter web application and the back button in the browser does not always navigate to the previous route (it will navigate to a completely different route instead). Also there are times where it will navigate to the proper route (the url changes appropriately) but the application will not navigate to the route properly.
When I restart my application, my routes seem to work just fine at first. It seems like this problem only arises when navigating after a long period of time across the application. Something seems to be wrong in the cache of the application but there is no stack trace pointing to what is causing this. I am not popping any of the pages from the "stack." For all my navigation I am using Navigator.of(context).pushNamed(// Route Name)

Hi @khari998
can you please provide your flutter doctor -v?
Also, to better address the issue,
would be helpful to have your flutter run --verbose
and if you could post a self contained app on github
or the steps to reproduce it.
Thank you

`flutter doctor -v
[✓] Flutter (Channel master, v1.10.15-pre.368, on Mac OS X 10.15 19A602, locale en-US)
• Flutter version 1.10.15-pre.368 at /Users/Khari/Documents/Dev_Projects/flutter
• Framework revision 3cd8c3142c (11 hours ago), 2019-10-31 19:35:52 -0700
• Engine revision 8ea19b1c76
• Dart version 2.6.0 (build 2.6.0-dev.8.2 bbe2ac28c9)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.1)
• Android SDK at /Users/Khari/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.1
• ANDROID_HOME = /Users/Khari/Library/Android/sdk
• ANDROID_SDK_ROOT = /Users/Khari/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_152-release-1343-b01)
• All Android licenses accepted.
[!] Xcode - develop for iOS and macOS (Xcode 11.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 11.1, Build version 11A1027
✗ CocoaPods installed but not working.
You appear to have CocoaPods installed but it is not working.
This can happen if the version of Ruby that CocoaPods was installed with is different from the one being used to invoke it.
This can usually be fixed by re-installing CocoaPods. For more info, see https://github.com/flutter/flutter/issues/14293.
To re-install CocoaPods, run:
sudo gem install cocoapods
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 3.4)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 37.1.1
• Dart plugin version 183.6270
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
[✓] VS Code (version 1.39.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.5.1
[✓] Connected device (2 available)
• Chrome     • chrome     • web-javascript • Google Chrome 78.0.3904.87
• Web Server • web-server • web-javascript • Flutter Tools
! Doctor found issues in 1 category.`
`flutter run --verbose
[  +27 ms] executing: [/Users/Khari/Documents/Dev_Projects/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +37 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] 3cd8c3142c3f08b6b85b2149df67e7c5249f4872
[        ] executing: [/Users/Khari/Documents/Dev_Projects/flutter/] git describe --match v*.. --first-parent --long --tags
[  +24 ms] Exit code 0 from: git describe --match v*.. --first-parent --long --tags
[        ] v1.10.14-368-g3cd8c3142
[   +9 ms] executing: [/Users/Khari/Documents/Dev_Projects/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[   +6 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/master
[        ] executing: [/Users/Khari/Documents/Dev_Projects/flutter/] git ls-remote --get-url origin
[   +5 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +50 ms] executing: [/Users/Khari/Documents/Dev_Projects/flutter/] git rev-parse --abbrev-ref HEAD
[   +7 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] master
[   +6 ms] executing: sw_vers -productName
[  +15 ms] Exit code 0 from: sw_vers -productName
[        ] Mac OS X
[        ] executing: sw_vers -productVersion
[  +15 ms] Exit code 0 from: sw_vers -productVersion
[        ] 10.15
[        ] executing: sw_vers -buildVersion
[  +14 ms] Exit code 0 from: sw_vers -buildVersion
[        ] 19A602
[  +31 ms] executing: /usr/bin/xcode-select --print-path
[  +10 ms] Exit code 0 from: /usr/bin/xcode-select --print-path
[        ] /Applications/Xcode.app/Contents/Developer
[   +1 ms] executing: /usr/bin/xcodebuild -version
[ +145 ms] Exit code 0 from: /usr/bin/xcodebuild -version
[   +3 ms] Xcode 11.1
Build version 11A1027
[  +67 ms] executing: /Users/Khari/Library/Android/sdk/platform-tools/adb devices -l
[   +6 ms] Exit code 0 from: /Users/Khari/Library/Android/sdk/platform-tools/adb devices -l
[        ] List of devices attached
[  +16 ms] executing: /Users/Khari/Documents/Dev_Projects/flutter/bin/cache/artifacts/libimobiledevice/idevice_id -h
[  +68 ms] /usr/bin/xcrun simctl list --json devices
[ +130 ms] More than one device connected; please specify a device with the '-d ' flag, or use '-d all' to act on all devices.
[  +55 ms] Chrome     • chrome     • web-javascript • Google Chrome 78.0.3904.87
[   +1 ms] Web Server • web-server • web-javascript • Flutter Tools
[  +14 ms] "flutter run" took 611ms.
#0      throwToolExit (package:flutter_tools/src/base/common.dart:28:3)
#1      RunCommand.validateCommand (package:flutter_tools/src/commands/run.dart:287:7)

#2      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:532:11)

#3      FlutterCommand.run. (package:flutter_tools/src/runner/flutter_command.dart:457:33)

#4      AppContext.run. (package:flutter_tools/src/base/context.dart:157:29)

#5      _rootRun (dart:async/zone.dart:1124:13)
#6      _CustomZone.run (dart:async/zone.dart:1021:19)
#7      _runZoned (dart:async/zone.dart:1516:10)
#8      runZoned (dart:async/zone.dart:1463:12)
#9      AppContext.run (package:flutter_tools/src/base/context.dart:156:18)

#10     FlutterCommand.run (package:flutter_tools/src/runner/flutter_command.dart:446:20)
#11     CommandRunner.runCommand (package:args/command_runner.dart:197:27)

#12     FlutterCommandRunner.runCommand. (package:flutter_tools/src/runner/flutter_command_runner.dart:416:21)

#13     AppContext.run. (package:flutter_tools/src/base/context.dart:157:29)

#14     _rootRun (dart:async/zone.dart:1124:13)
#15     _CustomZone.run (dart:async/zone.dart:1021:19)
#16     _runZoned (dart:async/zone.dart:1516:10)
#17     runZoned (dart:async/zone.dart:1463:12)
#18     AppContext.run (package:flutter_tools/src/base/context.dart:156:18)

#19     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:367:19)

#20     CommandRunner.run. (package:args/command_runner.dart:112:25)
#21     new Future.sync (dart:async/future.dart:222:31)
#22     CommandRunner.run (package:args/command_runner.dart:112:14)
#23     FlutterCommandRunner.run (package:flutter_tools/src/runner/flutter_command_runner.dart:251:18)
#24     run.. (package:flutter_tools/runner.dart:63:22)

#25     _rootRun (dart:async/zone.dart:1124:13)
#26     _CustomZone.run (dart:async/zone.dart:1021:19)
#27     _runZoned (dart:async/zone.dart:1516:10)
#28     runZoned (dart:async/zone.dart:1500:12)
#29     run. (package:flutter_tools/runner.dart:61:18)

#30     AppContext.run. (package:flutter_tools/src/base/context.dart:157:29)

#31     _rootRun (dart:async/zone.dart:1124:13)
#32     _CustomZone.run (dart:async/zone.dart:1021:19)
#33     _runZoned (dart:async/zone.dart:1516:10)
#34     runZoned (dart:async/zone.dart:1463:12)
#35     AppContext.run (package:flutter_tools/src/base/context.dart:156:18)

#36     runInContext (package:flutter_tools/src/context_runner.dart:64:24)

#37     run (package:flutter_tools/runner.dart:50:10)
#38     main (package:flutter_tools/executable.dart:65:9)

#39     main (file:///Users/Khari/Documents/Dev_Projects/flutter/packages/flutter_tools/bin/flutter_tools.dart:8:3)
#40     _startIsolate. (dart:isolate-patch/isolate_patch.dart:303:32)
#41     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)`

The only way i have seen to reproduce the error is to click on widgets that navigate to named routes in the application. It does not happen initially. But over time the routes eventually break. Routes work at first as directed initially. It seems to happen at random. I'll try and make another basic application with routes that reproduces this.

Do you see any exceptions in the console when the routes break?

Nothing in the console but I finally figured out how to reproduce this bug. I am on the most recent version of flutter. I traversed through all my routes and then started going back to see when they would start breaking. What I noticed was that the root route in the browser has a hashtag i.e. localhost:{PortNumber}/#/ but when you navigate backwards enough it loses the hash tag and becomes localhost/{PortNumber} without the /#/. Once this happens, no further routes will load in the url. They will navigate correctly when clicked on but the url will stay at localhost/{PortNumber} no matter which route that is clicked on instead of going to for example: localhost/{PortNumber}/#/about
In the previous version of flutter, there would be times when clicking on routes would give the right URL but would not navigate to the right route. This does not seem to be happening after the latest upgrade but the urls are still bugged when replicating the following step above.
Also I am able to go backwards through my routes but I am not able to go forwards after going backwards to a previous route. (The forwards button in the browser is greyed out)

Thanks for providing more info - @yjbanov here's a small app to demonstrate:
sample
import 'package:flutter/material.dart';
import 'package:flutter/painting.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  MyApp();

  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State {
  Widget build(BuildContext context) {
    return MaterialApp(
      routes: {
        '/': (ctx) => HomePage(),
        '/favorites': (ctx) => FavoritesPage(),
      },
    );
  }
}

class HomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: RaisedButton(
          child: Text('Go!'),
          onPressed: () {
            Navigator.of(context).pushNamed('/favorites');
          },
        ),
      ),
    );
  }
}

class FavoritesPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Center(
        child: Text('hi'),
      ),
    );
  }
}

Steps to reproduce:

Run the app
press back button
press RaisedButton to navigate
observe URL is not updated

This might be related to #38785

In newest upgrade, the back button on chrome does not let me go back at all to the home page. Same for other routes as well.

@mdebbar can you please triage this and assign an appropriate milestone?

I also noticed that opening the Shrine page in the flutter gallery now causes some navigation problems. Not sure if it's related to this issue or not, but it used to work fine before, so this must be kind of regression. I'll take a look.

I'm also seeing weird/inconsistent routing behaviour.  Any update on this?

@SeanOThomas could you please share a minimal code snippet that reproduces the behavior you are seeing? That would help a lot.

Seems like it is still not working. I'm on the master channel at the moment and im using the onGenerateRoute function in a material app and compiling it for web. For me it does not show the route name at all in the url.
All my routes are starting with "/" so that it should generate a route like localhost:xxxx/#/page/subpage etc. But it does not do that.
The thing is that i had it working a few weeks ago without a problem. I'll try to reproduce that and let you know.

Ok, i reproduced it. It dont know if that is related to this issue, but it may help (?). If you only use the onGenerateRoute function to navigate to named routes they are not appearing in the url. If you use the routes property and you navigate to a route it works as expected. The other thing i found out is, that the initialRoute is not working.
Example:
Imagine an app containing two routes /login and /main, specified in the routes property of the Material App.
When starting the app the initialRoute is set to /login. So if you open the webapp it shows the URL localhost:xxxx/#/. It is missing the /login at the end.. From login the /main route is pushed. It will show just fine in the URL like localhost:xxxx/main. If we navigate back to login then it will also show the route in the url like localhost:xxxx/#/login.
Seems like a weird behaviour.

Thanks @hauketoenjes for the details. This is very helpful.

Here is a little code snippet which demonstrates this behaviour. The strange thing is, that i cant reproduce the bug with the initial route atm (i did a clean install of flutter on windows and got that only on linux, but that is not the important issue, could be related to my installation).
This code snippet starts an app with a button to /main. If you click it, everything works as expected in the URL. You can navigate back and everything. If you press the "Navigate To Another Page" button on the main page it will handle the route through the onGenrateRoute function and dont upgrade the URL.
This can also reproduce the behaviour described earlier in this issue that when you press back till the end the whole URL route thing breaks (I guess like @johnpryan described). Hope this helps. Seems like it has something to do with the onGenerateRoute function.
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Named Route Navigation',
      onGenerateRoute: (settings) {
        switch (settings.name) {
          case '/anotherPage':
            return MaterialPageRoute(builder: (_) => AnotherPage());
            break;
          default:
            return MaterialPageRoute(builder: (_) => LoginPage());
            break;
        }
      },
      routes: {
        '/login': (context) => LoginPage(),
        '/main': (context) => MainPage(),
      },
      initialRoute: "/login",
    );
  }
}

class LoginPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: MaterialButton(
          onPressed: () {
            Navigator.pushNamed(context, "/main");
          },
          child: Text("Navigate To Main"),
        ),
      ),
    );
  }
}

class MainPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          children: <Widget>[
            MaterialButton(
              onPressed: () {
                Navigator.pushNamed(context, "/login");
              },
              child: Text("Navigate To Login"),
            ),
            MaterialButton(
              onPressed: () {
                Navigator.pushNamed(context, "/anotherPage");
              },
              child: Text("Navigate To Another Page (onGenerateRoute"),
            ),
          ],
        ),
      ),
    );
  }
}

class AnotherPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: MaterialButton(
          onPressed: () {
            Navigator.pushNamed(context, "/login");
          },
          child: Text("Navigate To Login"),
        ),
      ),
    );
  }
}

@hauketoenjes when you create a MaterialPageRoute on onGenerateRoute or somewhere inside the app you should also fill the settings name param. Otherwise the route won’t have a name and the url won’t
show as desired
onGenerateRoute: (settings) {
        switch (settings.name) {
          case '/anotherPage':
            return MaterialPageRoute(builder: (_) => AnotherPage(), settings: settings);
            break;
          default:
            return MaterialPageRoute(builder: (_) => LoginPage(), settings: settings);
            break;
        }
      },

Well ok, that was my bad than i guess :sweat_smile:...
But than there is still the bug with the back button. It breaks the whole URL navigation thing if you press back till the end of the navigation history as i described earlier in this issue.

Yeah agree this solves one problem, but even the gallery demo of flutter web still have the problem you last mentioned

If anyone still needs a reproduceable demo, I have one that reproduces consistently. Just let me know if you need it.

@searchy2 please do share 😄

Please reopen this because this bug is annoying. What additional information do you need?????

I also had this bug. I used ListView on my app. In my app, I found this bug when I tried to change the screen by pressing the cell quickly after scrolling the ListView quickly.
Below are three errors and a screenshot of the bugs I saw.
Assertion failed: org-dartlang-app:///packages/flutter/src/widgets/framework.dart:4911:14(){
    // check that it really is our descendant
    Element ancestor = dependent_parent;
    while (ancestor != this && ancestor != null)
      ancestor = ancestor._parent;
    return ancestor == this;
  }()
is not true

Assertion failed: org-dartlang-app:///packages/flutter/src/widgets/framework.dart:3374:12
element._debugLifecycleState == _ElementLifecycle.inactive
is not true

Assertion failed: org-dartlang-app:///packages/flutter/src/widgets/framework.dart:5568:12
child == _child
is not true

Sometimes when developing with Hot Reload, reloading while in an route puts the back stack into a bad state and you are unable to navigate back. This problem does not appear too often in production on desktop but does appear sometimes on mobile browsers.
The named route issue can be reproduced as follows:

Visit https://gallery.imfast.io/flutterwebsites/minimal/
Click on "Style" in the top menu bar.
Click on "Style" again. The address bar should display https://gallery.imfast.io/flutterwebsites/minimal/#/style
Go back, the address bar now displays https://gallery.imfast.io/flutterwebsites/minimal/#/ but the page is the first "Style" page.

The source code can be found in this repo: https://github.com/Codelessly/FlutterMinimalWebsite
Here's the routing snippet:
MaterialApp(
      initialRoute: "/",
      routes: {
        "/": (context) => ListPage(),
        "/post": (context) => PostPage(),
        "/style": (context) => TypographyPage(),
      },
      theme: Theme.of(context).copyWith(platform: TargetPlatform.android),
      debugShowCheckedModeBanner: false,
    );

@kalupas226  from the stacktrace, it looks like that exception isn't related to routing. Could you please file a separate issue for it? Could you also check if the same issue occurs on other platforms (iOS, Android) or if it's only on web?
@searchy2 thanks for sharing the detailed repro. It's going to be very helpful when I come back to work on this issue.

pushNamedAndRemoveUntil works well, but the URL does not change. Looks like url just not invalidated, because after open/close any dialogs url magically fixes:))

I have a web application that was working fine about 2 months ago. I had to go to the Dev branch because of some hotfix, and now my Flutter Web projects don't work anymore.
onGenerateRoute is returning null;
Reproduction code:
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(
        child: MaterialApp(
      initialRoute: "/",
      onGenerateRoute: (settings) {
        print("SETTINGS: ${settings.name}");
        // print: SETTINGS:
        // settings is null
        switch (settings.name) {
          case '/':
            return MaterialPageRoute(
              builder: (_) => First(),
              settings: settings,
            );
          case '/second':
            return MaterialPageRoute(
              builder: (_) => Second(),
              settings: settings,
            );
          case '/third':
            return MaterialPageRoute(
              builder: (_) => Third(),
              settings: settings,
            );
          default:
            return MaterialPageRoute(
                settings: settings,
                builder: (_) => Scaffold(
                      body: Center(
                          child: Text('No route defined for ${settings.name}')),
                    ));
        }
      },
    ));
  }
}

class First extends StatefulWidget {
  @override
  _FirstState createState() => _FirstState();
}

class _FirstState extends State<First> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      floatingActionButton: FloatingActionButton(onPressed: () {}),
      appBar: AppBar(
        leading: IconButton(
          icon: Icon(Icons.add),
          onPressed: () {
            //  Get.snackbar("hi", "i am a modern snackbar");
          },
        ),
        title: Text('First Route}'),
      ),
      body: Center(
        child: RaisedButton(
          color: Colors.blue,
          child: Text('Open route'),
          onPressed: () {
            // Get.toNamed("/second");
          },
        ),
      ),
    );
  }
}

class Second extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        leading: IconButton(
          icon: Icon(Icons.add),
          onPressed: () {
            //  Get.snackbar("hi", "i am a modern snackbar");
          },
        ),
        title: Text('second Route'),
      ),
      body: Center(
        child: RaisedButton(
          color: Colors.blue,
          child: Text('Open route'),
          onPressed: () {
            //  Get.toNamed("/third");
          },
        ),
      ),
    );
  }
}

class Third extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Third Route "),
      ),
      body: Center(
        child: RaisedButton(
          color: Colors.blue,
          onPressed: () {
            //  Get.back();
          },
          child: Text('Go back!'),
        ),
      ),
    );
  }
}

Flutter Doctor:
$ flutter doctor v
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel dev, v1.18.0-dev.5.0, on Linux, locale pt_BR.UTF-8)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 3.6)
[✓] IntelliJ IDEA Community Edition (version 2019.3)
[✓] Connected device (2 available)

• No issues found!

The same project works normally on Android and iOS, but on Flutter web, the undefined route screen that I programmed on onGenerateRoute is displayed because settings is returning null.

@mdebbar I'm not sure, but your commit may not have broken the routes named in FlutterWeb? Or may the recent changes in the browser have done this?
Version 1.17 works normally, but the current version of Flutter web is broken. The initial route is always null, onGenerateRoute does not receive the callback, and there is no way to work on Flutter Web without named routes, the url address depends on them.
I'm looking for commits from version 1.17 to version 1.18 to find out what broke.

@hauketoenjes when you create a MaterialPageRoute on onGenerateRoute or somewhere inside the app you should also fill the settings name param. Otherwise the route won’t have a name and the url won’t
show as desired
onGenerateRoute: (settings) {
        switch (settings.name) {
          case '/anotherPage':
            return MaterialPageRoute(builder: (_) => AnotherPage(), settings: settings);
            break;
          default:
            return MaterialPageRoute(builder: (_) => LoginPage(), settings: settings);
            break;
        }
      },

Well, that unfortunate.
This should be well documented instead of us digging through bug reports.
Thanks.

I have a web application that was working fine about 2 months ago. I had to go to the Dev branch because of some hotfix, and now my Flutter Web projects don't work anymore.
onGenerateRoute is returning null;
Reproduction code:
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(
        child: MaterialApp(
      initialRoute: "/",
      onGenerateRoute: (settings) {
        print("SETTINGS: ${settings.name}");
        // print: SETTINGS:
        // settings is null
        switch (settings.name) {
          case '/':
            return MaterialPageRoute(
              builder: (_) => First(),
              settings: settings,
            );
          case '/second':
            return MaterialPageRoute(
              builder: (_) => Second(),
              settings: settings,
            );
          case '/third':
            return MaterialPageRoute(
              builder: (_) => Third(),
              settings: settings,
            );
          default:
            return MaterialPageRoute(
                settings: settings,
                builder: (_) => Scaffold(
                      body: Center(
                          child: Text('No route defined for ${settings.name}')),
                    ));
        }
      },
    ));
  }
}

class First extends StatefulWidget {
  @override
  _FirstState createState() => _FirstState();
}

class _FirstState extends State<First> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      floatingActionButton: FloatingActionButton(onPressed: () {}),
      appBar: AppBar(
        leading: IconButton(
          icon: Icon(Icons.add),
          onPressed: () {
            //  Get.snackbar("hi", "i am a modern snackbar");
          },
        ),
        title: Text('First Route}'),
      ),
      body: Center(
        child: RaisedButton(
          color: Colors.blue,
          child: Text('Open route'),
          onPressed: () {
            // Get.toNamed("/second");
          },
        ),
      ),
    );
  }
}

class Second extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        leading: IconButton(
          icon: Icon(Icons.add),
          onPressed: () {
            //  Get.snackbar("hi", "i am a modern snackbar");
          },
        ),
        title: Text('second Route'),
      ),
      body: Center(
        child: RaisedButton(
          color: Colors.blue,
          child: Text('Open route'),
          onPressed: () {
            //  Get.toNamed("/third");
          },
        ),
      ),
    );
  }
}

class Third extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Third Route "),
      ),
      body: Center(
        child: RaisedButton(
          color: Colors.blue,
          onPressed: () {
            //  Get.back();
          },
          child: Text('Go back!'),
        ),
      ),
    );
  }
}

Flutter Doctor:
$ flutter doctor v
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel dev, v1.18.0-dev.5.0, on Linux, locale pt_BR.UTF-8)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 3.6)
[✓] IntelliJ IDEA Community Edition (version 2019.3)
[✓] Connected device (2 available)

• No issues found!

The same project works normally on Android and iOS, but on Flutter web, the undefined route screen that I programmed on onGenerateRoute is displayed because settings is returning null.

Try removing the initial route as you already have it specified in onGenerateRoute. From what I understand, Flutter knows to treat "/" as the initial route so it shouldnt have to be specified

I have a web application that was working fine about 2 months ago. I had to go to the Dev branch because of some hotfix, and now my Flutter Web projects don't work anymore.
onGenerateRoute is returning null;
Reproduction code:
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(
        child: MaterialApp(
      initialRoute: "/",
      onGenerateRoute: (settings) {
        print("SETTINGS: ${settings.name}");
        // print: SETTINGS:
        // settings is null
        switch (settings.name) {
          case '/':
            return MaterialPageRoute(
              builder: (_) => First(),
              settings: settings,
            );
          case '/second':
            return MaterialPageRoute(
              builder: (_) => Second(),
              settings: settings,
            );
          case '/third':
            return MaterialPageRoute(
              builder: (_) => Third(),
              settings: settings,
            );
          default:
            return MaterialPageRoute(
                settings: settings,
                builder: (_) => Scaffold(
                      body: Center(
                          child: Text('No route defined for ${settings.name}')),
                    ));
        }
      },
    ));
  }
}

class First extends StatefulWidget {
  @override
  _FirstState createState() => _FirstState();
}

class _FirstState extends State<First> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      floatingActionButton: FloatingActionButton(onPressed: () {}),
      appBar: AppBar(
        leading: IconButton(
          icon: Icon(Icons.add),
          onPressed: () {
            //  Get.snackbar("hi", "i am a modern snackbar");
          },
        ),
        title: Text('First Route}'),
      ),
      body: Center(
        child: RaisedButton(
          color: Colors.blue,
          child: Text('Open route'),
          onPressed: () {
            // Get.toNamed("/second");
          },
        ),
      ),
    );
  }
}

class Second extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        leading: IconButton(
          icon: Icon(Icons.add),
          onPressed: () {
            //  Get.snackbar("hi", "i am a modern snackbar");
          },
        ),
        title: Text('second Route'),
      ),
      body: Center(
        child: RaisedButton(
          color: Colors.blue,
          child: Text('Open route'),
          onPressed: () {
            //  Get.toNamed("/third");
          },
        ),
      ),
    );
  }
}

class Third extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Third Route "),
      ),
      body: Center(
        child: RaisedButton(
          color: Colors.blue,
          onPressed: () {
            //  Get.back();
          },
          child: Text('Go back!'),
        ),
      ),
    );
  }
}

Flutter Doctor:
$ flutter doctor v
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel dev, v1.18.0-dev.5.0, on Linux, locale pt_BR.UTF-8)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 3.6)
[✓] IntelliJ IDEA Community Edition (version 2019.3)
[✓] Connected device (2 available)

• No issues found!

The same project works normally on Android and iOS, but on Flutter web, the undefined route screen that I programmed on onGenerateRoute is displayed because settings is returning null.

Try removing the initial route as you already have it specified in onGenerateRoute. From what I understand, Flutter knows to treat "/" as the initial route so it shouldnt have to be specified if you are using it in onGenerateRoute. I have passed a function into onGenerateRoute for all my routes

I have a web application that was working fine about 2 months ago. I had to go to the Dev branch because of some hotfix, and now my Flutter Web projects don't work anymore.
onGenerateRoute is returning null;
Reproduction code:
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(
        child: MaterialApp(
      initialRoute: "/",
      onGenerateRoute: (settings) {
        print("SETTINGS: ${settings.name}");
        // print: SETTINGS:
        // settings is null
        switch (settings.name) {
          case '/':
            return MaterialPageRoute(
              builder: (_) => First(),
              settings: settings,
            );
          case '/second':
            return MaterialPageRoute(
              builder: (_) => Second(),
              settings: settings,
            );
          case '/third':
            return MaterialPageRoute(
              builder: (_) => Third(),
              settings: settings,
            );
          default:
            return MaterialPageRoute(
                settings: settings,
                builder: (_) => Scaffold(
                      body: Center(
                          child: Text('No route defined for ${settings.name}')),
                    ));
        }
      },
    ));
  }
}

class First extends StatefulWidget {
  @override
  _FirstState createState() => _FirstState();
}

class _FirstState extends State<First> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      floatingActionButton: FloatingActionButton(onPressed: () {}),
      appBar: AppBar(
        leading: IconButton(
          icon: Icon(Icons.add),
          onPressed: () {
            //  Get.snackbar("hi", "i am a modern snackbar");
          },
        ),
        title: Text('First Route}'),
      ),
      body: Center(
        child: RaisedButton(
          color: Colors.blue,
          child: Text('Open route'),
          onPressed: () {
            // Get.toNamed("/second");
          },
        ),
      ),
    );
  }
}

class Second extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        leading: IconButton(
          icon: Icon(Icons.add),
          onPressed: () {
            //  Get.snackbar("hi", "i am a modern snackbar");
          },
        ),
        title: Text('second Route'),
      ),
      body: Center(
        child: RaisedButton(
          color: Colors.blue,
          child: Text('Open route'),
          onPressed: () {
            //  Get.toNamed("/third");
          },
        ),
      ),
    );
  }
}

class Third extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Third Route "),
      ),
      body: Center(
        child: RaisedButton(
          color: Colors.blue,
          onPressed: () {
            //  Get.back();
          },
          child: Text('Go back!'),
        ),
      ),
    );
  }
}

Flutter Doctor:
$ flutter doctor v
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel dev, v1.18.0-dev.5.0, on Linux, locale pt_BR.UTF-8)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 3.6)
[✓] IntelliJ IDEA Community Edition (version 2019.3)
[✓] Connected device (2 available)

• No issues found!

The same project works normally on Android and iOS, but on Flutter web, the undefined route screen that I programmed on onGenerateRoute is displayed because settings is returning null.

Try removing the initial route as you already have it specified in onGenerateRoute. From what I understand, Flutter knows to treat "/" as the initial route so it shouldnt have to be specified if you are using it in onGenerateRoute. I have passed a function into onGenerateRoute for all my routes

In fact, according to the documentation, it is mandatory to specify the initial route using onGenerateRoute, since your route can be / welcome, / login, / anything. If you do not specify, you will experience an error, both in the web version of the master, and in the mobile stable if you have a route other than '/'
However the problem I mentioned was solved 2 hours ago in the Flutter engine (the navigator is sending an empty string as the initial route, not the '/' or the initialroute pointed ), and soon there will be a roll engine in the master with this update.
I don't care because I already did an alternative work on my route plugin https://pub.dev/packages/get but I opened an issue regarding the problem (and commented here) because not everyone uses it, and this should be resolved .
But thanks for trying to come up with a solution.

This issue is becoming a dump for all routing problems. I apologize but I'm gonna have to close it.
If you have a specific issue that you think is a bug in Flutter, the best way to get help is by creating an issue with reproduction steps. Thanks!
@khari998 there have been multiple fixes since this issue was filed. If you are still seeing problems, please file a new issue.


Increase granularity to handle disabled tests

We are currently storing test prefix(i.e., disabled, echo.disabled) information per test target in TKG, we would like to increase the granularity to each test variation. This can allow multiple enhancements including but not limited to:

support executing disabled tests in test list
generate disabled parallel lists
skip disabled/skipped test in dynamic compilation

support executing disabled tests in test list: https://github.com/adoptium/TKG/pull/305

skip disabled/skipped test in dynamic compilation: https://github.com/adoptium/TKG/pull/315


ReloadData() is missing

Hey,
thank you for writing this awesome control. Currently I am designing a calendar which updates in the background. However I can not be sure to have all the data available, as soon as the view did appear. I am searching for a possibility to reload the data (for the dots and dots color) of the calendar view. I tried a few solutions like
let monthView = self.calendarView.contentController.presentedMonthView
monthView.reloadWeekViewsWithMonthFrame(monthView.frame)
self.calendarView.commitCalendarViewUpdate()
self.calendarView.toggleTodayMonthView()

but nothing seems to work in a nice manner.
I hope you can help me or add support for this in the next version.
Thank you in advance.

Hello @kevinkub,
Thank you for using this software.
CVCalendar is going to have more features with an upcoming release. One you actually need is included. You'll be able to set multiple dots and update them once it is necessary. You can find the change log here #28.
Keep watching, more cool things to come!
Regards,
Eugene

Hi,
I the same problem, is there any way to reload the calendar view, after it is loaded?
I also get dates in the background. If I swipe 3 month forward and swipe back after that, I can see the new events.

I ended up using https://github.com/jonathantribouharet/JTCalendar in the next version of my app. However you should check out the beta branch of this repo, although I have not had a look myself.

Hello,
I'm having the same problem. Reloading the dotMarkers on the fly accordingly to my data updates.
Any luck ?
Because I've been struggling for a quite a while now...

Is there any method when i can set multiple dots? If is there please let me know only that method.

https://github.com/Mozharovsky/CVCalendar/issues/145

Has been merged with #155 and thus closed. If there's more to it let me know, I'm gonna reopen the issue then..


OnPageLoading and OnPageLoaded functions are not called from WKWebViewUIDelegate

Xamarin.Auth Issue
IF BUG, INCLUDE THIS PART:
Version

[ ] nuget version = 1.7.0
[ ] component version =
[ ] sample

Steps to reproduce

Set  Xamarin.Auth.WebViewConfiguration.IOS.IsUsingWKWebView = true;
Use implicit  login for logging in
After successfull login WebAuthenticator.OnPageLoaded is not called and hence redirect url is not processed

Platform:

[] .NET version = 7.3
[] mono version = <IP_ADDRESS>7

Expected behaviour
OnPageLoaded should be called with Redirect URL
Actual behaviour
Redirect URL after Successfull login should be processed

Below pull request have fixes for this issue.
https://github.com/xamarin/Xamarin.Auth/pull/413


Error handling in deploy fix

We use set -e if we want interruption on error, and set +e if we ignore errors.
Little quote from man bash

-e
Exit immediately if a pipeline (which may consist of a single simple command), a subshell command enclosed in parentheses, or one of the commands executed as part of a command list enclosed by braces exits with a non-zero status.

Thanks!


Support translations of error messages

Petal Components have a good solution for this.
https://github.com/petalframework/petal_components/blob/main/lib/petal_components/field.ex#L414

Thanks for your suggestion, I'll add this


[stable/airflow] Cannot install Helm chart with custom values (Persistent Volume)

Describe the bug
Tried to run Airflow with one volume for both logs and DAGs by changing Helm chart parameters (https://github.com/helm/charts/tree/master/stable/airflow#using-one-volume-for-both-logs-and-dags).
Error message:
Error: YAML parse error on airflow/templates/deployments-scheduler.yaml: error converting YAML to JSON: yaml: line 68: could not find expected ':'

Version of Helm and Kubernetes:

OS: Ubuntu 18.04
MicroK8s (1 machine): microk8s  v1.15.4  Rev:876   1.15      canonical✓  classic
microk8s.kubectl version:

Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.4", GitCommit:"67d2fcf276fcd9cf743ad4be9a9ef5828adc082f", GitTreeState:"clean", BuildDate:"2019-09-18T14:51:13Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.4", GitCommit:"67d2fcf276fcd9cf743ad4be9a9ef5828adc082f", GitTreeState:"clean", BuildDate:"2019-09-18T14:41:55Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}

microk8s.helm version:

Client: &version.Version{SemVer:"v2.14.3", GitCommit:"0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.14.3", GitCommit:"0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState:"clean"}

Which chart:
[stable/airflow]: https://github.com/helm/charts/tree/master/stable/airflow#using-one-volume-for-both-logs-and-dags#using-one-volume-for-both-logs-and-dags
What happened:
Throwing a parsing error.
What you expected to happen:
Succesfully start Airflow where DAGs have access to a mounted shared persistent volume by passing different values for the parameters as Helm chart configuration: extraVolume (shouldn't this VolumeS?), extraVolumeMount (shouldn't this be MountS?), persistence.enabled, logsPersistence.enabled, dags.path and logs.path.
As is described in the README.md: https://github.com/helm/charts/tree/master/stable/airflow#using-one-volume-for-both-logs-and-dags
How to reproduce it (as minimally and precisely as possible):
No custom values (works fine): microk8s.helm install --namespace "airflow" --name "airflow" stable/airflow
Custom values through values_pv.yaml (error): microk8s.helm install --namespace "airflow" --name "airflow" stable/airflow -f values_pv.yaml
Custom values through cli (error):
microk8s.helm install --namespace "airflow" --name "airflow" stable/airflow \
--set airflow.extraVolumes=/home/*user*/github/airflowDAGs \
--set airflow.extraVolumeMounts=/home/*user*/github/airflowDAGs \
--set dags.path=/home/*user*/github/airflowDAGs/dags \
--set logs.path=/home/*user*/github/airflowDAGs/logs \
--set persistence.enabled=false \
--set logsPersistence.enabled=false

Anything else we need to know:
Custom `values_pv.yaml` (CLICK ME)

## Duplicate this file and put your customization here
#
###
### common settings and setting for the webserver
airflow:
#  extraConfigmapMounts: []
#  # - name: extra-metadata
#  #   mountPath: /opt/metadata
#  #   configMap: airflow-metadata
#  #   readOnly: true
#  #
#  # Example of configmap mount with subPath
#  # - name: extra-metadata
#  #   mountPath: /opt/metadata/file.yaml
#  #   configMap: airflow-metadata
#  #   readOnly: true
#  #   subPath: file.yaml
#
#
#  ##
#  ## Extra environment variables to mount in the web, scheduler, and worker pods:
#  extraEnv:
#  #  - name: AIRFLOW__CORE__FERNET_KEY
#  #    valueFrom:
#  #      secretKeyRef:
#  #        name: airflow
#  #        key: fernet_key
#  #  - name: AIRFLOW__LDAP__BIND_PASSWORD
#  #    valueFrom:
#  #      secretKeyRef:
#  #        name: ldap
#  #        key: password
#
#
#  ##
#  ## You will need to define your fernet key:
#  ## Generate fernetKey with:
#  ##    python -c "from cryptography.fernet import Fernet; FERNET_KEY = Fernet.generate_key().decode(); print(FERNET_KEY)"
#  ## fernetKey: ABCDABCDABCDABCDABCDABCDABCDABCDABCDABCD
#  fernetKey: ""
#  service:
#    annotations: {}
#    type: ClusterIP
#    externalPort: 8080
#    nodePort:
#      http:
#  ##
#  ## The executor to use.
#  ##
#  executor: Celery
#  ##
#  ## set the max number of retries during container initialization
#  initRetryLoop:
#  ##
#  ## base image for webserver/scheduler/workers
#  ## Note: If you want to use airflow HEAD (2.0dev), use the following image:
#  # image
#  #   repository: stibbons31/docker-airflow-dev
#  #   tag: 2.0dev
#  ## Airflow 2.0 allows changing the value ingress.web.path and ingress.flower.path (see bellow).
#  ## In version < 2.0, changing these paths won't have any effect.
#  image:
#    ##
#    ## docker-airflow image
#    repository: puckel/docker-airflow
#    ##
#    ## image tag
#    tag: 1.10.4
#    ##
#    ## Image pull policy
#    ## values: Always or IfNotPresent
#    pullPolicy: IfNotPresent
#    ##
#    ## image pull secret for private images
#    pullSecret:
#  ##
#  ## Set schedulerNumRuns to control how the scheduler behaves:
#  ##   -1 will let him looping indefinitively but it will never update the DAG
#  ##   1 will have the scheduler quit after each refresh, but kubernetes will restart it.
#  ##
#  ## A long running scheduler process, at least with the CeleryExecutor, ends up not scheduling
#  ## some tasks. We still don’t know the exact cause, unfortunately. Airflow has a built-in
#  ## workaround in the form of the `num_runs` flag.
#  ## Airflow runs with num_runs set to 5.
#  ##
#  ## If set to a value != -1, you will see your scheduler regularly restart. This is its normal
#  ## behavior under these conditions.
#  schedulerNumRuns: "-1"
#  ##
#  ## Set schedulerDoPickle to toggle whether to have the scheduler
#  ## attempt to pickle the DAG object to send over to the workers,
#  ## instead of letting workers run their version of the code.
#  ## See the Airflow documentation for the --do_pickle argument: https://airflow.apache.org/cli.html#scheduler
#  schedulerDoPickle: true
#  ##
#  ## Number of replicas for web server.
#  webReplicas: 1
#  ##
#  ## Custom airflow configuration environment variables
#  ## Use this to override any airflow setting settings defining environment variables in the
#  ## following form: AIRFLOW__<section>__<key>.
#  ## See the Airflow documentation: https://airflow.readthedocs.io/en/stable/howto/set-config.html?highlight=setting-configuration
#  ## Example:
#  ##   config:
#  ##     AIRFLOW__CORE__EXPOSE_CONFIG: "True"
#  ##     HTTP_PROXY: "http://proxy.mycompany.com:123"
#  config: {}
#  ##
#  ## Configure pod disruption budget for the scheduler
#  podDisruptionBudget:
#    maxUnavailable: 1
#  ## Add custom connections
#  ## Use this to add Airflow connections for operators you use
#  ## For each connection - the id and type have to be defined.
#  ## All the other parameters are optional
#  ## Connections will be created with a script that is stored
#  ## in a K8s secret and mounted into the scheduler container
#  ## Example:
#  ##   connections:
#  ##   - id: my_aws
#  ##     type: aws
#  ##     extra: '{"aws_access_key_id": "**********", "aws_secret_access_key": "***", "region_name":"eu-central-1"}'
#  connections: []
#
#  ## Add airflow variables
#  ## This should be a json string with your variables in it
#  ## Examples:
#  ##   variables: '{ "environment": "dev" }'
#  variables: {}
#
#  ## Add airflow ppols
#  ## This should be a json string with your pools in it
#  ## Examples:
#  ##   pools: '{ "example": { "description": "This is an example of a pool", "slots": 2 } }'
#  pools: {}
#
#  ##
#  ## Annotations for the Scheduler, Worker and Web pods
#  podAnnotations: {}
#    ## Example:
#    ## iam.amazonaws.com/role: airflow-Role
#
#  extraInitContainers: []
#  ## Additional init containers to run before the Scheduler pods.
#  ## for example, be used to run a sidecar that chown Logs storage .
#  # - name: volume-mount-hack
#  #   image: busybox
#  #   command: ["sh", "-c", "chown -R 1000:1000 logs"]
#  #   volumeMounts:
#  #     - mountPath: /usr/local/airflow/logs
#  #       name: logs-data
#
#  extraContainers: []
#  ## Additional containers to run alongside the Scheduler, Worker and Web pods
#  ## This could, for example, be used to run a sidecar that syncs DAGs from object storage.
#  # - name: s3-sync
#  #   image: my-user/s3sync:latest
#  #   volumeMounts:
#  #   - name: synchronised-dags
#  #     mountPath: /dags
  extraVolumeMounts: /home/*user*/github/airflowDAGs
#  ## Additional volumeMounts to the main containers in the Scheduler, Worker and Web pods.
#  # - name: synchronised-dags
#  #   mountPath: /usr/local/airflow/dags
  # []
  extraVolumes: /home/*user*/github/airflowDAGs
#  ## Additional volumes for the Scheduler, Worker and Web pods.
#  # - name: synchronised-dags
#  #   emptyDir: {}
#
#  ##
#  ## Run initdb when the scheduler starts.
#  initdb: true
#
#
#scheduler:
#  resources: {}
#    # limits:
#    #   cpu: "1000m"
#    #   memory: "1Gi"
#    # requests:
#    #   cpu: "500m"
#    #   memory: "512Mi"
#
#  ## Support Node, affinity and tolerations for scheduler pod assignment
#  ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
#  ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
#  ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#taints-and-tolerations-beta-feature
#  nodeSelector: {}
#  affinity: {}
#  tolerations: []
#
#flower:
#  resources: {}
#    # limits:
#    #   cpu: "100m"
#    #   memory: "128Mi"
#    # requests:
#    #   cpu: "100m"
#    #   memory: "128Mi"
#  service:
#    annotations: {}
#    type: ClusterIP
#    externalPort: 5555
#
#  ## Support Node, affinity and tolerations for flower pod assignment
#  ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
#  ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
#  ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#taints-and-tolerations-beta-feature
#  nodeSelector: {}
#  affinity: {}
#  tolerations: []
#
#web:
#  resources: {}
#    # limits:
#    #   cpu: "300m"
#    #   memory: "1Gi"
#    # requests:
#    #   cpu: "100m"
#    #   memory: "512Mi"
#  initialStartupDelay: "60"
#  initialDelaySeconds: "360"
#
#  ## Support Node, affinity and tolerations for web pod assignment
#  ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
#  ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
#  ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#taints-and-tolerations-beta-feature
#  nodeSelector: {}
#  affinity: {}
#  tolerations: []
#  ##
#  ## Directory in which to mount secrets on webserver nodes.
#  secretsDir: /var/airflow/secrets
#  ##
#  ## Secrets which will be mounted as a file at `secretsDir/<secret name>`.
#  secrets: []
#
###
### Workers configuration
#workers:
#  enabled: true
#  ##
#  ## Number of workers pod to launch
#  replicas: 1
#  ##
#  ## Custom resource configuration
#  resources: {}
#    # limits:
#    #   cpu: "1"
#    #   memory: "2G"
#    # requests:
#    #   cpu: "0.5"
#    #   memory: "512Mi"
#  ##
#  ## Annotations for the Worker pods
#  podAnnotations: {}
#    ## Example:
#    ## iam.amazonaws.com/role: airflow-Role
#  ##
#  ## Celery worker configuration
#  celery:
#    ##
#    ## number of parallel celery tasks per worker
#    instances: 1
#  ##
#  ## Directory in which to mount secrets on worker nodes.
#  secretsDir: /var/airflow/secrets
#  ##
#  ## Secrets which will be mounted as a file at `secretsDir/<secret name>`.
#  secrets: []
#
#  ## Support Node, affinity and tolerations for worker pod assignment
#  ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
#  ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
#  ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#taints-and-tolerations-beta-feature
#  nodeSelector: {}
#  affinity: {}
#  tolerations: []
#
###
### Ingress configuration
#ingress:
#  ##
#  ## enable ingress
#  ## Note: If you want to change url prefix for web ui or flower even if you do not use ingress,
#  ## you can still change ingress.web.path and ingress.flower.path
#  enabled: false
#  ##
#  ## Configure the webserver endpoint
#  web:
#    ## NOTE: This requires an airflow version > 1.9.x
#    ## For the moment (March 2018) this is **not** available on official package, you will have
#    ## to use an image where airflow has been updated to its current HEAD.
#    ## You can use the following one:
#    ##  stibbons31/docker-airflow-dev:2.0dev
#    ##
#    ## if path is '/airflow':
#    ##  - UI will be accessible at 'http://mycompany.com/airflow/admin'
#    ##  - Healthcheck is at 'http://mycompany.com/airflow/health'
#    ##  - api is at 'http://mycompany.com/airflow/api'
#    ## NOTE: do NOT keep trailing slash. For root configuration, set and empty string
#    path: ""
#    ##
#    ## hostname for the webserver
#    host: ""
#    ##
#    ## Annotations for the webserver
#    ## Airflow webserver handles relative path completely, just let your load balancer give the HTTP
#    ## header like the requested URL (no special configuration neeed)
#    annotations: {}
#      ##
#      ## Example for Traefik:
#      # traefik.frontend.rule.type: PathPrefix
#      # kubernetes.io/ingress.class: traefik
#    ##
#    ## Configure the web liveness path.
#    ## Defaults to the templated value `{{ ingress.web.path }}/health`
#    livenessPath:
#    tls:
#      ## Set to "true" to enable TLS termination at the ingress
#      enabled: false
#      ## If enabled, set "secretName" to the secret containing the TLS private key and certificate
#      ## Example:
#      ## secretName: example-com-crt
#  ##
#  ## Configure the flower endpoind
#  flower:
#    ##
#    ## If flower is '/airflow/flower':
#    ##  - Flower UI is at 'http://mycompany.com/airflow/flower'
#    ## NOTE: you need to have a reverse proxy/load balancer able to do URL rewrite in order to have
#    ## flower mounted on other path than root. Flower only does half the job in url prefixing: it
#    ## only generates the right URL/relative paths in the **returned HTML files**, but expects the
#    ## request to have been be at the root.
#    ## That's why we need a reverse proxy/load balancer that is able to strip the path
#    ## NOTE: do NOT keep trailing slash. For root configuration, set and empty string
#    path: ""
#    ##
#    ## Configure the liveness path. Keep to "/" for Flower >= jan 2018.
#    ## For previous version, enter the same path than in the 'path' key
#    ## NOTE: keep the trailing slash.
#    livenessPath: /
#    ##
#    ## hostname for flower
#    host: ""
#    ##
#    ## Annotation for the Flower endpoint
#    ##
#    ## ==== SKIP THE FOLLOWING BLOCK IF YOU HAVE FLOWER > JANUARY 2018 =============================
#    ## Please note their is a small difference between the way Airflow Web server and Flower handles
#    ## URL prefixes in HTTP requests:
#    ## Flower wants HTTP header to behave like there was no URL prefix, and but still generates
#    ## the right URL in html pages thanks to its `--url-prefix` parameter
#    ##
#    ##    Extracted from the Flower documentation:
#    ##    (https://github.com/mher/flower/blob/master/docs/config.rst#url_prefix)
#    ##
#    ##        To access Flower on http://example.com/flower run it with:
#    ##            flower --url-prefix=/flower
#    ##
#    ##        Use the following nginx configuration:
#    ##            server {
#    ##              listen 80;
#    ##              server_name example.com;
#    ##
#    ##              location /flower/ {
#    ##                rewrite ^/flower/(.*)$ /$1 break;
#    ##                proxy_pass http://example.com:5555;
#    ##                proxy_set_header Host $host;
#    ##              }
#    ##            }
#    ## ==== IF YOU HAVE FLOWER > JANUARY 2018, NO MORE NEED TO STRIP THE PREFIX ====================
#    annotations: {}
#      ##
#      ## NOTE: it is important here to have your reverse proxy strip the path/rewrite the URL
#      ## Example for Traefik:
#      # traefik.frontend.rule.type: PathPrefix       ## Flower >= Jan 2018
#      # traefik.frontend.rule.type: PathPrefixStrip  ## Flower < Jan 2018
#      # kubernetes.io/ingress.class: traefik
#    tls:
#      ## Set to "true" to enable TLS termination at the ingress
#      enabled: false
#      ## If enabled, set "secretName" to the secret containing the TLS private key and certificate
#      ## Example:
#      ## secretName: example-com-crt
#
#
###
### Storage configuration for DAGs
persistence:
#  ##
#  ## enable persistance storage
  enabled: false
#  ##
#  ## Existing claim to use
#  # existingClaim: nil
#  ## Existing claim's subPath to use, e.g. "dags" (optional)
#  # subPath: ""
#  ##
#  ## Persistent Volume Storage Class
#  ## If defined, storageClassName: <storageClass>
#  ## If set to "-", storageClassName: "", which disables dynamic provisioning
#  ## If undefined (the default) or set to null, no storageClassName spec is
#  ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
#  ##   GKE, AWS & OpenStack)
#  # storageClass: default
#  accessMode: ReadWriteOnce
#  ##
#  ## Persistant storage size request
#  size: 1Gi
#
###
### Storage configuration for logs
logsPersistence:
#  ##
#  ## enable persistance storage
  enabled: false
#  ##
#  ## Existing claim to use
#  # existingClaim: nil
#  ## Existing claim's subPath to use, e.g. "logs" (optional)
#  # subPath: ""
#  ##
#  ## Persistent Volume Storage Class
#  ## If defined, storageClassName: <storageClass>
#  ## If set to "-", storageClassName: "", which disables dynamic provisioning
#  ## If undefined (the default) or set to null, no storageClassName spec is
#  ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
#  ##   GKE, AWS & OpenStack)
#  ##
#  ## A configuration for shared log storage requires a `storageClass` that
#  ## supports the `ReadWriteMany` accessMode, such as NFS or AWS EFS.
#  # storageClass: default
#  accessMode: ReadWriteOnce
#  ##
#  ## Persistant storage size request
#  size: 1Gi
#
###
### Configure DAGs deployment and update
dags:
#  ##
#  ## mount path for persistent volume.
#  ## Note that this location is referred to in airflow.cfg, so if you change it, you must update airflow.cfg accordingly.
  # /usr/local/airflow/dags
  path: /home/*user*/github/airflowDAGs/dags
#  ##
#  ## Set to True to prevent pickling DAGs from scheduler to workers
#  doNotPickle: false
#  ##
#  ## Configure Git repository to fetch DAGs
#  git:
#    ##
#    ## url to clone the git repository
#    url:
#    ##
#    ## branch name, tag or sha1 to reset to
#    ref: master
#    ## pre-created secret with key, key.pub and known_hosts file for private repos
#    secret: ""
  initContainer:
#    ## Fetch the source code when the pods starts
    enabled: false
#    ## Image for the init container (any image with git will do)
#    image:
#      ## docker-airflow image
#      repository: alpine/git
#      ## image tag
#      tag: 1.0.7
#      ## Image pull policy
#      ## values: Always or IfNotPresent
#      pullPolicy: IfNotPresent
#    ## install requirements.txt dependencies automatically
#    installRequirements: true
#
###
### Configure logs
logs:
  # /usr/local/airflow/logs
  path: /home/*user*/github/airflowDAGs/logs
#
###
###  Enable RBAC
#rbac:
#  ##
#  ## Specifies whether RBAC resources should be created
#  create: true
#
###
### Create or use ServiceAccount
#serviceAccount:
#  ##
#  ## Specifies whether a ServiceAccount should be created
#  create: true
#  ## The name of the ServiceAccount to use.
#  ## If not set and create is true, a name is generated using the fullname template
#  name:
#
#
###
### Configuration values for the postgresql dependency.
### ref: https://github.com/kubernetes/charts/blob/master/stable/postgresql/README.md
#postgresql:
#  ##
#  ## Use the PostgreSQL chart dependency.
#  ## Set to false if bringing your own PostgreSQL.
#  enabled: true
#
#  ##
#  ## The name of an existing secret that contains the postgres password.
#  existingSecret:
#
#  ## Name of the key containing the secret.
#  existingSecretKey: postgres-password
#
#  ##
#  ## If you are bringing your own PostgreSQL, you should set postgresHost and
#  ## also probably service.port, postgresUser, postgresPassword, and postgresDatabase
#  ## postgresHost:
#  ##
#  ## PostgreSQL port
#  service:
#    port: 5432
#  ## PostgreSQL User to create.
#  postgresUser: postgres
#  ##
#  ## PostgreSQL Password for the new user.
#  ## If not set, a random 10 characters password will be used.
#  postgresPassword: airflow
#  ##
#  ## PostgreSQL Database to create.
#  postgresDatabase: airflow
#  ##
#  ## Persistent Volume Storage configuration.
#  ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes
#  persistence:
#    ##
#    ## Enable PostgreSQL persistence using Persistent Volume Claims.
#    enabled: true
#    ##
#    ## Persistant class
#    # storageClass: classname
#    ##
#    ## Access mode:
#    accessMode: ReadWriteOnce
#
#
### Configuration values for the Redis dependency.
### ref: https://github.com/kubernetes/charts/blob/master/stable/redis/README.md
#redis:
#  ##
#  ## Use the redis chart dependency.
#  ## Set to false if bringing your own redis.
#  enabled: true
#
#  ##
#  ## The name of an existing secret that contains the redis password.
#  existingSecret:
#
#  ## Name of the key containing the secret.
#  existingSecretKey: redis-password
#
#  ##
#  ## If you are bringing your own redis, you can set the host in redisHost.
#  ## redisHost:
#  ##
#  ## Redis password
#  ##
#  password: airflow
#  ##
#  ## Master configuration
#  master:
#    ##
#    ## Image configuration
#    # image:
#      ##
#      ## docker registry secret names (list)
#      # pullSecrets: nil
#    ##
#    ## Configure persistance
#    persistence:
#      ##
#      ## Use a PVC to persist data.
#      enabled: false
#      ##
#      ## Persistant class
#      # storageClass: classname
#      ##
#      ## Access mode:
#      accessMode: ReadWriteOnce
#  ##
#  ## Disable cluster management by default.
#  cluster:
#    enabled: false
#
## Enable this if you're using https://github.com/coreos/prometheus-operator
## Don't forget you need to install something like https://github.com/epoch8/airflow-exporter in your airflow docker container
#serviceMonitor:
#  enabled: false
#  interval: "30s"
#  path: /admin/metrics
#  ## [Kube Prometheus Selector Label](https://github.com/helm/charts/tree/master/stable/prometheus-operator#exporters)
#  selector:
#    prometheus: kube-prometheus
#
## Enable this if you're using https://github.com/coreos/prometheus-operator
#prometheusRule:
#  enabled: false
#  ## Namespace in which the prometheus rule is created
#  # namespace: monitoring
#  ## Define individual alerting rules as required
#  ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#rulegroup
#  ##      https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/
#  groups: {}
#
#  ## Used to pass Labels that are used by the Prometheus installed in your cluster to select Prometheus Rules to work with
#  ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#prometheusspec
#  additionalLabels: {}
#

Could it be related to https://github.com/helm/charts/issues/17469, which also has trouble passing custom values to the Airflow Helm chart?

Maybe this question format is easier for understanding my problem: https://stackoverflow.com/questions/58299948/helm-stable-airflow-custom-values-for-airflow-deployment-with-shared-persisten


Socket run get stack on read error

When you receive an EOF in the reader.ReadString('\n') in run go routing in a Socket the s.Close() is executed but after executing close(s.shutdown) the is waiting for itself to end, that is never. This generates the go routing to get stack, generating, between other things, the TCP connection to get stack in CLOSE_WAIT status.
The issue is simple to reproduce when you are allow to connect to the AMI but you have a wrong password for the given user.
I don't know why you add the waiting group here but I made tests without it and everything went alright.

I created this PR : https://github.com/heltonmarx/goami/pull/17 , please take look this will fix the issue.


Rename macros $ref to ref

What problem does this feature solve?
For consistency sake, rename $ref to ref in order to have the same naming convention as other macros have e.g. defineProps, defineEmits. They are not prefixed with ugly $ sign coming from jquery/php, 'Hungarian' notations or other $$$ rich code.
I know that $ref is experimental, just would like you to consider this once you decide to adopt an approach to reactivity transformation.
What does the proposed API look like?
Old way
let x = $ref(1)

New way
let x = ref(1)

This issue should be a comment on the still open RFC.

@LinusBorg could you provide a link to this open RFC?

https://github.com/vuejs/rfcs/pull/420


Updated the calculator logo in navbar

This is regarding issue #104.

Great work @Kaniz-Fatma

Thanks. Can you add hacktoberfest- accepted label ?


feat: reusable build test release

test runs:
https://github.com/splunk/splunk-add-on-for-jira-cloud/runs/4447430176?check_suite_focus=true
https://github.com/splunk/splunk-add-on-for-servicenow/runs/4453863245?check_suite_focus=true

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Persist Last Scanned/Processed Block

Hey @danekshea Immutable team shared this repo as an example of a migration tool. Thanks for your work!
I see, you preferred recursive polling for monitoring instead of web-hooks and scheduled jobs. Can you share your reasons, you work this since 2022?
This tool will lose some block events if instance fails, and can not retrieve latest state. I think it is better to add to below section, also a record lastScannedBlock with a database transaction. So if it fails, it can start last scanned block instead of current block. What do you think?
https://github.com/danekshea/blockchain-migration-tool-backend/blob/6f9ab19f7973589ec3ee056c1886b1acb36d5e70/src/burnwatcher.ts#L116-L118
PS. Discussion section is disabled, so I wrote here.

hey @ogous, I just enabled the discussions. Thanks for reaching out mate. So I'm actually working on a refactor of this here: https://github.com/danekshea/webhook-migration-backend. It should be working in the course of next week.
Which project are you from and who are you in contact with at Immutable? I'd love to get in touch with you directly to hear your use case & requirements.


Uncaught Error: Bootstrap's JavaScript requires jQuery     at bootstrap.min.js:6:37?

https://jstack.review/

Cannot reproduce, and seeing the error above it about a connection reset, that is probably the cause.


cleanups deprecations and general nuisances

add ovos_utils.parse.is_compatible_dict
add ovos_utils.parse.delete_key_from_dict
add OVOSSkill template to ovos_utils.skill.templates.ovos
add new module ovos_utils.skill.decorators
refactor, move killable_intents methods to ovos_utils.skill.decorators
refactor, move killable_intents patches to OVOSSkill
refactor, move PrivateSettings patch to OVOSSkill
refactor, always use ovos_utils.ensure_mycroft_import
deprecate ovos_utils.misc
deprecate ovos_utils.parse.MatchStrategy.QUICK_LEV_RATIO  (invalid option, shouldn't be there)
move ["phoneme_guesser", "colour"] to extras_require in setup.py

did you mean to remove misc, or was that supposed to throw a deprecationwarning?
(not that i think a "proper" deprecation is necessary at this point, don't think we've got downstreams)

i meant to remove it, i am 99% sure noone is using that so didn't bother with deprecation warning....
the markov util that used to be the sole thing in misc is now its own package https://github.com/OpenJarbas/markovjson
ovos_utils is not even in version 0.1.0 so i think it is ok 😜


fix ppo2 tf.variable_scope reuse (fix #548)

fix ppo2 tf.variable_scope reuse, in order to train ppo2's model in jupyter notebook. The related issue is #548.

to my understanding, the problem is that re-running ppo2.learn with the same tensorflow graph tries to re-create trainable variables (including the state of the adam optimizer). While I agree that is a problem, I think we need a more principled solution - this problem will happen not only in ppo2; in most of the algorithms we use the same trainer.compute_gradients outside of explicit variable scope pattern. We'll either need to change all of them, or come up with some clever solution (maybe create scope within MpiAdamOptimizer).

@joschu @unixpickle any other ideas how can this be solved?

I don't think it's a big problem, you can always create a new tf Graph.

Thank you @pzhokhov @joschu , I have solved this issue via @joschu 's suggestion.

hm... my problem with such fix is that it bypasses the existing session configs. How about this - we can make make_session (baselines/common/tf_util.py) create new graph if the graph is not specified?

That also sounds a bit risky, since make_session is used in a lot of places and someone might be relying on it using the default tf.Graph.


Add global query param

Clear and concise description of the problem
For our projects, we use Consent Management tools, which can be auto accepted by adding a query param.We also handle the preview mode of our pages in via a special query param. It would great if this could become part of the configuration and than added automatically to every route.
Suggested solution
A property in the scanner-field like "defaultQueryParam":"autoaccept=1" (or any other string)
Alternative
No response
Additional context
No response

Hey @phihochzwei, thanks for the suggestion :)
This is now available in v0.9.0, you can read the release notes for guidance.

Well, you are FAST :)

Works like charm <3


Switch to the new module-aware, semver-compliant libvirt Go bindings

What this PR does / why we need it:
The fact that the libvirt Go bindings were not a proper Go module and didn't follow semver has been a source of annoyance in the past. In order to address both issues, a new import path (libvirt.org/go/libvirt) has been created where a module-aware, semver-compliant version of the Go bindings will be developed going forward. The old version of the Go bindings (libvirt.org/libvirt-go) has been archived and will no longer be updated.
This PR switches to the new bindings. It's marked as a draft because no actual releases of the new bindings exist yet, so I'm just mocking their availability through a go.mod replace directive.
I'm opening this early to solicit feedback: the first release is not going to be tagged for about a week, so there's still some time to course-correct if necessary.
The new semver-compliant versioning scheme is documented at https://gitlab.com/libvirt/libvirt-go-module/-/blob/master/VERSIONING.rst
Release note:

NONE

@rmohr @vladikr can you please take a look and confirm it seems sane? @kwiesmueller also provided input on this topic in the past, so it'd be great to hear from that side too :)

@rmohr @vladikr can you please take a look and confirm it seems sane? @kwiesmueller also provided input on this topic in the past, so it'd be great to hear from that side too :)

Any thoughts? The first release of the module-aware libvirt Go bindings is just a couple of days away now!

Any thoughts? The first release of the module-aware libvirt Go bindings is just a couple of days away now!

@andreabolognani I read through the linked document describing your reasoning for the version numbers. Looks good to me.

Read through the document as well. Looks good, thank you!

@rmohr @kwiesmueller thank you for confirming we're on the right track! I'll turn this into a proper PR once the first release of the new bindings has been tagged :)

Now that the first official release of the new Go bindings has officially been tagged, this PR can be considered for merging :)

/retest

I can't reproduce either failure locally.
/retest

I can't reproduce either failure locally.

Yes looks good. Thanks!
/lgtm
/approve


boost rest api & fix memleak

Did you benchmark and do some fuzz or complex tests on restapi? I didn't get memory leakage before.

This could reproduce memleak :https://github.com/emqx/nanomq/issues/1454


Reconnect state issues

Hola,
Thanks for this awesome library! We are testing this out with a subset of our users(ourselves) as a replacement to the official Action Cable library. The customizable retry strategy is clutch for us to provide more seamless reconnects during transient network events(such as wifi network swtiches and reconnects, etc).
Unfortunately we have been running into scenarios where it appears the connection/subscription states are becoming inconsistent resulting in permanent loss of channel subscription.
This happens often during our Heroku deployments. We are setup in a non-ideal configuration with anycable and anycable-go collocated in the same dynos, however these issues have been observed outside deployments as well.
I'm having trouble reproducing locally or discovering the precise issue through code review.. This is what I have witnessed though during deployments without Heroku "preboot" enabled(meaning the anycable dynos are all stopped before the new ones are brought up):
The first reconnected WS connection lasts for a minute and only one sub ack came through:

After that was disconnected another conn was made however no subscription attempts are made:

In the console this is the first error to appear:

After a bunch of these errors are logged:

My theory is that some combination of channel/subscription pending and/or intent are not being properly reset on disconnect/reconnect depending on their states going into those events.

Thanks for the report!
Can you fetch the corresponding anycable-go logs (ideally, in debug mode)?
Also, enabling client-side debug logs would be really helpful (createCable({logLevel: 'debug'}).
Btw, which version of anycable-go and anycable-client do you use?

I hit a similar problem ("Already pending subscribed") in production today (though no luck in reproducing locally). Will take a closer look ASAP.

@palkan I might be able to do you one better.
Recently hit this while switching back-and-forth between resources in the FE which causes unsubscribes and re-subscribes. Always I see in the logs no subscription ack received in 500ms followed by subscription not found. So I went looking and found this:
This time out is setup during subscribe and will check back in 5s(default) to see if the subscription is still in pending. If so it deletes it: https://github.com/anycable/anycable-client/blob/3e9af95731f5ebaf1c8544afff2803eba8c2ae2e/packages/core/action_cable/index.js#L63
Unfortunately during this interval we may have unsubscribed and then re-subscribed to the same channel. In this case when the time out callback is called, and if the new subscription is still pending, it will find and delete the new pending subscription entry.
At this point when the new subscription ack comes in it will not find the pending entry and will bale out: https://github.com/anycable/anycable-client/blob/3e9af95731f5ebaf1c8544afff2803eba8c2ae2e/packages/core/action_cable/index.js#L140
From this point on the subscription seems to be busted. I see it in the hub subscriptions list with state connecting, and the intent changes based on if subscribe or unsubscribe is called on it, but it stays in the hub even if channels is empty.

Great! Thanks! That's helpful.
I'm currently working on a fix; hope to finish soon.

@ProTip The fixed version of protocol is available in master: the above bug is fixed, added handling of confirmations received after timeout (we now send unsubscribe in this case, for consistency).
I'm working now on some pending / intent before pushing a new release.

Fixed and released in 0.5.5 (this release only contains the protocol fix) and 0.5.6 (this release adds additional race condition fixes). Two releases to make it easier to identify potential regressions.

@ProTip Please, let me know if that fixes the problems you encountered.