redirect uri for OIDC login is http

Problem
I am trying to configure OIDC login for the DSF Fhir Server and use the authorization workflow.
In Keycloak I have configured the oidc client with the following two attributes:

ROOT URL = https://dsf-test.uniklinik-freiburg.de
valid-redirecturl = /fhir/*

When trying to call the DSF FHIR server and login via OIDC the redirect URI is with http instead of HTTPS.
https:/dsf-test.uniklinik-freiburg.de/fhir
The redirect from the app:
https://kc-server.uniklinik-freiburg.de/auth/realms/diz-sysadmin/protocol/openid-connect/auth?client_id=dsf-fhir-mailbox-test&redirect_uri=http%3A%2F%2Fdsf-test.uniklinik-freiburg.de%2Ffhir%2Fj_security_check
Error message
invalid redirect_uri
My guess is that when you instantiate the OIDC Client openIdConfiguration  and pass the http_client, that the redirect URI is set with http instead of https.
https://github.com/datasharingframework/dsf/blob/74eb4d7af27fe8638985165b862025c908d1d058/dsf-common/dsf-common-jetty/src/main/java/dev/dsf/common/config/AbstractJettyConfig.java#L337C1-L338C80
But i honestly don't know.
temporary solution
Change the root URL in keycloak to http. The reverse proxy of DSF will fix that by redirecting to https, so the login to the DSF Fhir server is secure. I would just prefer if the redirect URL would be proper.

Hi!
I was able to reproduce your issue. The DSF FHIR server tries to get the used protocol from the reverse proxy (by default an apache2).
In the current version, the reverse proxy is not sending the required Proto-Headers, but the nginx in our docker test setup does (https://github.com/datasharingframework/dsf/tree/main/dsf-docker-test-setup-3dic-ttp). Maybe this is the reason why nobody spotted the error until now.
To mitigate the error before we release a new DSF version with the adapted apache configuration you can:

Download the current host-ssl.conf file (https://github.com/datasharingframework/dsf/blob/v1.3.0/dsf-docker/fhir_proxy/conf/extra/host-ssl.conf)
Add the following line:

	RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}

in the Location-Block <Location "${SERVER_CONTEXT_PATH}/">.
3. Mount the file in your proxy server:
services:
  proxy:
    image: ghcr.io/datasharingframework/fhir_proxy:1.3.0
    restart: on-failure
    volumes:
      - type: bind
        source: ./proxy-host-ssl.conf
        target: /usr/local/apache2/conf/extra/host-ssl.conf

Hi,
thanks for the fast reply. Setting that header fixes the redirect error.!
If comparing the nginx config with the apache setup i would recommend setting the ProxyPreserveHost On  directive, will cover the X-Forwarded-For etc. headers for the fhir-proxy.

Thanks for the hint with additional directives. According to the documentation here, this will "just" set the Host-Header accordingly. The X-Forwarded-For etc. headers should already be set by the ProxyPass Directive. But we will check for useful headers and set them in one of the upcoming releases.


fix python

修改pythom->python

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


cargo: update fuse-backend-rs dependency

To update virtio-queue to the released 0.1.0 version.

The second patch updates virtio-queue but summary mentions fuse-backend-rs

The two commits both update fuse-backend-rs. The first one fetches virtio-queue changes, and the second one fetches FileVolatileSlice. I kept them separate just in case that FileVolatileSlice breaks anything.


Fix whitespace pre support, remove mptt

mptt is obvious, but for whitespace, I'll refer to my commit message.  Note, you may wish to just change the snippet-rendered class to have {whitespace:pre} anyways- it seems like a default has less of a potential to surprise users.
If someone posts python code, but labels it as text- say something like thus:
if blah:
  print "me!"

dpaste was rendering that as
if blah
print "me!"

We may wish to make the snippet-rendered class have {whitespace: pre} styling;
regardless if dpaste chooses to do so, this change is necessary so any end
consumers can set the styling themselves; to support that, any extra indentation
the template adds must be suppressed.

Current coverage is 98.11% (diff: 100%)

Merging #87 into master will not change coverage

@@             master        #87   diff @@
==========================================
  Files            10         10
  Lines           318        318
  Methods           0          0
  Messages          0          0
  Branches         40         40
==========================================
  Hits            312        312
  Misses            3          3
  Partials          3          3

Powered by Codecov. Last update dc35409...14076c8

If someone posts python code, but labels it as text- say something like thus:

No, this is correc behaviort. "Text" is literal body text. It's not code. Choose "Code" if you want to display code.

No, this is correct behavior. "Text" is literal body text. It's not code. Choose "Code" if you want to display code.

I'd agree, except in my case my users haven't paid attention to this (the previous implementation- where I got 60k snippets from- had no real concept of 'type'), and we have some tooling that is heavily used that has the same problem.  Longer term, I think a better fix is to introduce the notion of 'raw'- which is literally just raw unformated (but indentation preserving) text.
In the meantime, could you please take a look at my change again?  Note that I'm explicitly not changing text rendering so indentation is preserved- I'm just changing the template slightly so that I can fix this on my deploy via css, rather than having to copy/paste the entire template and fix the extra whitespace.  What I'm proposing doesn't cause any issues for your usage, but allows me to fix my scenario cleanly.
Regardless of that discussion, you probably want the mptt removal I did for requirements.txt.
Thanks-

I think a better fix is to introduce the notion of 'raw'- which is literally just raw unformated (but indentation preserving) text.

This exists. Choose "Code".

Shit, sorry about that- I missed that that even existed.  That makes sense, thanks.


chore: Add eslint rule to ensure correct sections order in control panel

SUMMARY
Ensure that control panel sections are in order:

Chart
Time
Filter
Settings

This should be merged after control panels of tier 1 and tier 2 charts are rearranged
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

@kgabryje should we just merge this thing if all it does is warn? These warnings will appear on the technical debt dashboard if all goes according to plan, which seems like a good thing.

Closing this since it hasn't been touched in nearly a year, but happy to reopen/revisit if you ever want to revisit it!


Build failed

Here is the error from debub console
/.pub-cache/hosted/pub.dartlang.org/fluttertoast-7.1.5/android/src/main/kotlin/io/github/ponnamkarthik/toast/fluttertoast/MethodCallHandlerImpl.kt: (16, 16): Redeclaration: MethodCallHandlerImpl

Can you try flutter clean on project and then flutter pub get and then check if it works.

Yes, I think it gone now

I have the issue even after flutter clean on project

I have the issue even after flutter clean on project

@Rissmon are you using the latest version?

I was able to fix the issue by upgrading the distribution URL and Gradle versions.

Updated the distribution URL in

android/gradle/wrapper/gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip

-Updated gradle version in build.gradle
dependencies {
        classpath "com.android.tools.build:gradle:4.2.1"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }

@shatanikmahanty Thanks for the quick response.

I was able to fix the issue by upgrading the distribution URL and Gradle versions.

Updated the distribution URL in

android/gradle/wrapper/gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip

-Updated gradle version in build.gradle
dependencies {
        classpath "com.android.tools.build:gradle:4.2.1"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }

Hope this will work for everyone.
@shatanikmahanty Thanks for the quick response.

You are welcome @Rissmon . Happy to help


Development: Mobbing on issues

Though it's probably Swarming
https://www.jrothman.com/mpd/project-management/2016/07/pairing-swarming-and-mobbing/


Remove html-unit dependency and relations

Proposed changes

Remove html-unit dependency and relations
Change pull request check list:

Remove htmlunit task
Change chrome to chrome_headless because same used on travis ci
Add firefox_headless task

Remove htmlunit travis ci step
Use chrome_headless.exec and firefox_headless.exec results for jacoco reports (local + sonarqube)
Use chrome + headless instead of htmlunit browser for testng tests
Don't depend allTests on htmlunit
Remove safari and jbrowser drivers

Checklist

[ ] Checkstyle and unit tests pass locally with my changes by running gradle check chrome_headless firefox_headless command
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Closes #940


raftexample: implement Raft snapshot

Fix https://github.com/coreos/etcd/issues/4019.
Tried to make it work like etcdserver snapshot, with simple storage backend.
Tests became a bit messy when raftNode embeds kvstore, though.
Please review. Thanks.
/cc @heyitsanthony @xiang90

can this be done with less code? making it similar to etcdserver sort of defeats the purpose of having a simple example...

@heyitsanthony @xiang90 PTAL. Thanks!

@heyitsanthony PTAL. Checked that snapshot works with

func TestTriggerSnapshot(t *testing.T) {
	peers := []string{"http://localhost:20050"}
	id := 1

	os.RemoveAll("raftexample-1")
	os.RemoveAll("raftexample-1-snap")
	oldCount := defaultSnapCount
	defaultSnapCount = 3
	defer func() {
		defaultSnapCount = oldCount
		os.RemoveAll("raftexample-1")
		os.RemoveAll("raftexample-1-snap")
	}()

	kvport := 9555
	join := false

	proposeC := make(chan string)
	defer close(proposeC)
	confChangeC := make(chan raftpb.ConfChange)
	defer close(confChangeC)

	// raft provides a commit stream for the proposals from the http api
	var kvs *kvstore
	writeSnap := func(w io.Writer) error { return kvs.writeSnapshot(w) }
	commitC, errorC, snapdir := newRaftNode(id, peers, join, writeSnap, proposeC, confChangeC)

	kvs = newKVStore(snapdir, proposeC, commitC, errorC)

	go func() {
		// the key-value http handler will propose updates to raft
		serveHttpKVAPI(kvs, kvport, confChangeC, errorC)
	}()

	time.Sleep(2 * time.Second)
	for i := 0; i < 5; i++ {
		req, err := http.NewRequest("PUT", fmt.Sprintf("http://localhost:%d", kvport)+fmt.Sprintf("/foo%d", i), strings.NewReader("bar"))
		if err != nil {
			t.Fatal(err)
		}
		tr := http.DefaultTransport
		resp, err := tr.RoundTrip(req)
		if err != nil {
			t.Fatal(err)
		}
		resp.Body.Close()
	}

	time.Sleep(300 * time.Millisecond)
	for i := 0; i < 5; i++ {
		req, err := http.NewRequest("GET", fmt.Sprintf("http://localhost:%d", kvport)+fmt.Sprintf("/foo%d", i), nil)
		if err != nil {
			t.Fatal(err)
		}
		tr := http.DefaultTransport
		resp, err := tr.RoundTrip(req)
		if err != nil {
			t.Fatal(err)
		}
		bts, err := ioutil.ReadAll(resp.Body)
		if err != nil {
			t.Fatal(err)
		}
		resp.Body.Close()
		if string(bts) != "bar" {
			t.Fatalf("expected 'bar', got %s", bts)
		}
	}
}

Thanks!

lgtm defer to @xiang90

@xiang90 Just addressed. PTAL.

I think the snapshot sending, receiving does not work. the snapshot save, load is incorrect as i mentioned in the thread. probably we should test the sending, receiving logic.
create a raft cluster with 3 members. kill one member. put 20,000 keys. restart the killed member. check if the snapshot recovery works.

@xiang90 Just fixed to use snapshotter.Load without renaming + simple snapshot trigger test.
The test case you suggested would require many changes in serveHttpKVAPI. Any suggestion?

We are getting really close. For testing, you can do it manually.

@xiang90 All addressed. Removed the test.
(Manually tested it and confirmed that it works.)
Thanks!

LGTM

Thanks. Merging in greens.


circleCI: build docker image with latest gometalinter release

We can reduce hard-coding a version in Dockerfile, which will make code maintenance a bit easy.
Based on discussion in #52, and original issue is #51.

Updated version is uploaded, so close this issue.


Adding option to run bootstrap with local copy

Signed-off-by: eifrach<EMAIL_ADDRESS>Description

adding option to run a local copy of bootstrap.sh

Fixes #282
Type of change
Please select the appropriate options:

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] This change is a documentation update

Testing
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Test Configuration:

Versions:
Hardware:

Checklist

[ ] I have performed a self-review of my own code
[ ] If a change is adding a feature, it should require a change to the README.md and the review should catch this.
[ ] If the change is a fix, it should have an issue. The review should make sure the comments state the issue (not just the number) and it should use the keywords that will close the issue on merge.
[ ] A change should not be merged unless it passes CI or there is a comment/update saying what testing was passed.
[ ] PRs should not be merged unless positively reviewed.

Please @eifrach when we finish to fix the issue with the mirror, rebase this and pass the check before merge it.

@alknopfler @flaper87
tested  and rebased to main

@eifrach please could you verify if the make file which invoke the bootstrap script should be modified also?
I think if the script is expecting a new param, should be modified also in the makefile

LGTM

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


flutter build aar --release  ,--release not work

➜  my-flutter git:(brzhang) ✗ flutter build aar --release
The plugin `flutter_mmkv_cache` is built using an older version of the Android plugin API which assumes that it's running in a full-Flutter environment. It may have undefined behaviors when Flutter is integrated into an existing app as a module.
The plugin can be updated to the v2 Android Plugin APIs by following https://flutter.dev/go/android-plugin-migration.
Running Gradle task 'assembleAarDebug'...
Running Gradle task 'assembleAarDebug'... Done                      2.4s
✓ Built build/host/outputs/repo.
Running Gradle task 'assembleAarProfile'...
Running Gradle task 'assembleAarProfile'... Done                    1.3s
✓ Built build/host/outputs/repo.
Running Gradle task 'assembleAarRelease'...
Running Gradle task 'assembleAarRelease'... Done                    1.3s
✓ Built build/host/outputs/repo.

my flutter version is
➜  my-flutter git:(brzhang) ✗ flutter --version
Flutter 1.12.13+hotfix.5 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 27321ebbad (2 weeks ago) • 2019-12-10 18:15:01 -0800
Engine • revision 2994f7e1e6
Tools • Dart 2.7.0

flutter build aar --no-debug --no-profile  work for me

Hi @bravekingzhang
could you please run
flutter clean
flutter pub cache repair
If the issue persist please provide your
flutter doctor -v and flutter run --verbose
together with a a minimal code sample to reproduce the problem
thank you

@iapicca the issue persists!
flutter doctor -v
[✓] Flutter (Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.14.5 18F132, locale zh-Hans-CN)
    • Flutter version 1.12.13+hotfix.5 at /Users/brzhangzhang/flutter/flutter
    • Framework revision 27321ebbad (2 weeks ago), 2019-12-10 18:15:01 -0800
    • Engine revision 2994f7e1e6
    • Dart version 2.7.0

Checking Android licenses is taking an unexpectedly long time...⣾

flutter build aar --release --verbose
➜  tip-flutter git:(brzhang) flutter build aar --release --verbose
[  +23 ms] executing: [/Users/brzhangzhang/flutter/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +42 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] 27321ebbad34b0a3fafe99fac037102196d655ff
[        ] executing: [/Users/brzhangzhang/flutter/flutter/] git describe --match v*.*.* --first-parent --long --tags
[ +113 ms] Exit code 0 from: git describe --match v*.*.* --first-parent --long --tags
[   +3 ms] v1.12.13+hotfix.5-0-g27321ebba
[   +7 ms] executing: [/Users/brzhangzhang/flutter/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[   +9 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/stable
[        ] executing: [/Users/brzhangzhang/flutter/flutter/] git ls-remote --get-url origin
[   +8 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +50 ms] executing: [/Users/brzhangzhang/flutter/flutter/] git rev-parse --abbrev-ref HEAD
[  +10 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] stable
[   +6 ms] executing: sw_vers -productName
[  +16 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.14.5
[        ] executing: sw_vers -buildVersion
[  +16 ms] Exit code 0 from: sw_vers -buildVersion
[        ] 18F132
[  +32 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[   +5 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +3 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +106 ms] Found plugin flutter_mmkv_cache at /Users/brzhangzhang/.pub-cache/hosted/pub.dartlang.org/flutter_mmkv_cache-0.0.2/
[  +30 ms] Found plugin path_provider at /Users/brzhangzhang/.pub-cache/hosted/pub.dartlang.org/path_provider-1.3.0/
[  +10 ms] Found plugin sqflite at /Users/brzhangzhang/.pub-cache/hosted/pub.dartlang.org/sqflite-1.1.7+1/
[ +258 ms] Found plugin flutter_mmkv_cache at /Users/brzhangzhang/.pub-cache/hosted/pub.dartlang.org/flutter_mmkv_cache-0.0.2/
[   +8 ms] Found plugin path_provider at /Users/brzhangzhang/.pub-cache/hosted/pub.dartlang.org/path_provider-1.3.0/
[   +5 ms] Found plugin sqflite at /Users/brzhangzhang/.pub-cache/hosted/pub.dartlang.org/sqflite-1.1.7+1/
[  +28 ms] The plugin `flutter_mmkv_cache` is built using an older version of the Android plugin API which assumes that it's running in a full-Flutter environment. It may have undefined behaviors when Flutter is integrated into an existing app as a module.
           The plugin can be updated to the v2 Android Plugin APIs by following https://flutter.dev/go/android-plugin-migration.
[        ] Generating /Users/brzhangzhang/tip-flutter/.android/Flutter/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
[  +29 ms] Running Gradle task 'assembleAarDebug'...
[   +1 ms] gradle.properties already sets `android.enableR8`
[   +1 ms] Using gradle from /Users/brzhangzhang/tip-flutter/.android/gradlew.
[+1179 ms] executing: /usr/bin/plutil -convert json -o - /Applications/Android Studio.app/Contents/Info.plist
[  +28 ms] Exit code 0 from: /usr/bin/plutil -convert json -o - /Applications/Android Studio.app/Contents/Info.plist
[        ] {"CFBundleName":"Android
Studio","JVMOptions":{"MainClass":"com.intellij.idea.Main","ClassPath":"$APP_PACKAGE\/Contents\/lib\/bootstrap.jar:$APP_PACKAGE\/Contents\/lib\/extensions.jar:$APP_PACKAGE\/Contents\/lib\/util.jar:$APP_PACKAGE\/Contents\/lib\/jdom.jar:$APP_PACKAGE\/Contents\/lib\/log4j.jar:$APP_PACKAGE\/Contents\/lib\/trove4j.jar:$APP_PACKAGE\/Con
tents\/lib\/jna.jar","JVMVersion":"1.8*,1.8+","Properties":{"idea.home.path":"$APP_PACKAGE\/Contents","idea.executable":"studio","idea.platform.prefix":"AndroidStudio","idea.paths.selector":"AndroidStudio3.5"},"WorkingDirectory":"$APP_PACKAGE\/Contents\/bin"},"LSArchitecturePriority":["x86_64"],"CFBundleVersion":"AI-191.8026.42.35
.5900203","CFBundleDevelopmentRegion":"English","CFBundleDocumentTypes":[{"CFBundleTypeExtensions":["ipr"],"CFBundleTypeName":"Android Studio Project File","CFBundleTypeIconFile":"studio.icns","CFBundleTypeRole":"Editor"},{"CFBundleTypeExtensions":["*"],"CFBundleTypeOSTypes":["****"],"LSTypeIsPackage":false,"CFBundleTypeName":"All
documents","CFBundleTypeRole":"Editor"}],"NSSupportsAutomaticGraphicsSwitching":true,"CFBundlePackageType":"APPL","CFBundleIconFile":"studio.icns","NSHighResolutionCapable":true,"CFBundleShortVersionString":"3.5","CFBundleInfoDictionaryVersion":"6.0","CFBundleExecutable":"studio","LSRequiresNativeExecution":"YES","CFBundleURLTypes
":[{"CFBundleURLName":"Stacktrace","CFBundleURLSchemes":["idea"],"CFBundleTypeRole":"Editor"}],"CFBundleIdentifier":"com.google.android.studio","LSApplicationCategoryType":"public.app-category.developer-tools","CFBundleSignature":"????","LSMinimumSystemVersion":"10.8","CFBundleGetInfoString":"Android Studio 3.5, build
AI-191.8<IP_ADDRESS>00203. Copyright JetBrains s.r.o., (c) 2000-2019"}
[   +8 ms] executing: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java -version
[ +116 ms] Exit code 0 from: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java -version
[        ] openjdk version "1.8.0_202-release"
           OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
           OpenJDK 64-Bit Server VM (build 25.202-b49-5587405, mixed mode)
[   +2 ms] executing: [/Users/brzhangzhang/tip-flutter/.android/] /Users/brzhangzhang/tip-flutter/.android/gradlew -I=/Users/brzhangzhang/flutter/flutter/packages/flutter_tools/gradle/aar_init_script.gradle -Pflutter-root=/Users/brzhangzhang/flutter/flutter -Poutput-dir=/Users/brzhangzhang/tip-flutter/build/host -Pis-plugin=false
-Ptarget-platform=android-arm,android-arm64,android-x64 assembleAarDebug

Its not clear from the issue what isn't working. All the logs you've posted show success

@jonahwilliams  I add --release  means I just want release ,you give me debug and profile and release ?? I don't want profile and debug ,just give me release ok ??

I add --release
why give me this?

this is what the reason I say  I have to  use  --no-debug --no-profile instead of --release
Obviously, this is a bug

jonahwilliams-macbookpro2:codegen jonahwilliams$ flutter build aar -h
Build a repository containing an AAR and a POM file.

By default, AARs are built for `release`, `debug` and `profile`.
The POM file is used to include the dependencies that the AAR was compiled against.
To learn more about how to use these artifacts, see https://flutter.dev/go/build-aar


Improve vue cli pre config

Codecov Report

Merging #45 (7056acb) into master (e0dcc54) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master       #45   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           60        60
  Lines         1421      1419    -2
  Branches       323       323
=========================================
- Hits          1421      1419    -2

Flag
Coverage Δ

root
100.00% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...i/src/registers/vue-cli-service__4.x/pre-config.ts
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e0dcc54...7056acb. Read the comment docs.


cloud storage: Add documentation for AWS_SESSION_TOKEN parameter

In cockroachdb/cockroach#32455, we added support for a new URL parameter, AWS_SESSION_TOKEN, for the S3 cloud storage endpoint. This needs to be added to the tables of parameters in the backup/restore/import docs. The parameter is used for AWS session token-based authentication, as documented in this guide; I don't think we need to go into a ton of detail on what it's for, since users aren't going to need it or look for it unless their organization is already using this kind of AWS credentials.

@lhirata, does this overlap with one of your roadmap or release note issues?

@jseldess - related to #4196

OK. Closing as duplicate then.


⚠ Bofrost.be has degraded performance

In ba384fa, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 918 ms

Resolved: Bofrost.be performance has improved in 63d68ad after 6 minutes.


Large file upload CORS policy: No 'Access-Control-Allow-Origin' header

HI,
First of all thanks for creating this package. Really helpfull.
At this moment I have a problem when uploading a large file (>1mb) from an embedded form. I get the following error:
(index):1 Access to XMLHttpRequest at 'https://development.adapting.io/fileUpload' from origin 'https://www.adapting.nl' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
When a file is smaller then 1mb everything works fine.
What I have tried

[x] checked nginx for errors -> none found
[x] added client_max_body_size 50M; to my nginx config -> no effect
[x] Have upgraded to the latest version of fruitcake/laravel-cors

The details
The first request
Request URL: https://development.test/fileUpload
Request Method: OPTIONS
Status Code: 204 No Content
Remote Address: **
Referrer Policy: strict-origin-when-cross-origin
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: X-CSRF-TOKEN
Access-Control-Allow-Methods: POST
Access-Control-Allow-Origin: **
Cache-Control: no-cache, private
Connection: keep-alive
Content-Type: text/html; charset=UTF-8
Date: Fri, 18 Dec 2020 10:51:02 GMT
Server: nginx/1.18.0 (Ubuntu)
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-GB,en;q=0.9,en-US;q=0.8,nl;q=0.7
Access-Control-Request-Headers: x-csrf-token
Access-Control-Request-Method: POST
Cache-Control: no-cache
Connection: keep-alive

The second request (that fails)
Request URL: https://development.test/fileUpload
Referrer Policy: strict-origin-when-cross-origin
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html; charset=UTF-8
Date: Fri, 18 Dec 2020 10:51:02 GMT
Server: nginx/1.18.0 (Ubuntu)
Transfer-Encoding: chunked
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-GB,en;q=0.9,en-US;q=0.8,nl;q=0.7
Cache-Control: no-cache
Connection: keep-alive
Content-Length: 1000534
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryF96ErBPjf6HZBFjw

Cors.php
    'paths' => ['*'],
    'allowed_methods' => ['*'],
    'allowed_origins' => ['*'],
    'allowed_origins_patterns' => [],
    'allowed_headers' => ['*'],
    'exposed_headers' => [],
    'max_age' => 0,
    'supports_credentials' => true,

app/http/kernel.php
    protected $middleware = [
        \Fruitcake\Cors\HandleCors::class,
        \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
        \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
        CheckTenantStatus::class
    ];

Hope that someone can help me out, working on this for 2 days now and still don't have any clue what is going wrong.
Thanks in advance and best regards,
Niels

Hello I have the same issues,
Richardson

Hi @rchsantos,
I had my lesson about this subject. The CORS errors can be misleading.
When there is some error in your function that is needed for the request, it is possible that you get a CORS error while it has nothing to do with it. I had somewhere in my code return exit that was messing everything up. So no error in the logs, everything in the CORS settings was right.
My advice, start debugging the complete trail of all the functions the application uses to make the request.
Niels

Hello @adaptingnl,
Thanks for your answer, I'll debbug my code


Add compress command

This command is intended to be used on large journals to reduce the time needed to restore from it. It reads a journal and keeps it in-memory for every DEL operation occuring it removes the entry and overwrites when a SET occurs and the path already is present, after reading the entire journal and only storing the necessary paths and their values it dumps the state to the file given on command invocation.

@soundcloud/iss

playing the part of tobi... got any tests?

Great!
Yeah, a high level test would be great. One idea: 1) take "dirty" journal -> load into doozer -> dump 2) take "dirty" jounral -> compress -> load into doozerd -> dump 3) compare 1) and 2).
I'd also be interested to see numbers about the impact of compression, probably added to the readme.


Low latency with Mono Camera

Refer from this document(https://docs.luxonis.com/projects/api/en/latest/tutorials/low-latency/). Mono camera suppose can get image under 120FPS with only 24.5ms time delay. But I test with different combinations: 1280X800@60FPS, 1280X800@30FPS, 640X400@60FPS, 640X400@120FPS  time delay is around 100~130ms which is quiet large. The method I used is make camera to look at "real" chronometer(which is different from document).  Any possible ways to reduce?

Hi @fboris , I'll let @Erol444 comment on these.
@Erol444 please also update the docs with scripts used to achieve these results

How to test latency in C++ SDK?  Is following snippet correct?
auto mono = device.getOutputQueue(ev)->get<dai::ImgFrame>();
int64_t time_diff = duration_cast<std::chrono::microseconds>
(mono->getTimestamp()- std::chrono::steady_clock::now()).count();

@fboris
Looks good with exception of swapping the getTimestamp and steady_clock::now
auto mono = device.getOutputQueue(ev)->get<dai::ImgFrame>();
int64_t time_diff = duration_cast<std::chrono::microseconds>(std::chrono::steady_clock::now() - mono->getTimestamp()).count();

The above will give you latency (as precise as timesync between host & device is, USB is better than PoE devices in this case), as a positive microseconds integer

I can confirm latency is 30ms under 1280X80@30fps(two ov9282)

Hi, I have used a cose similar to the one below to estimate the average latency. Let me know if you have any questions.
import depthai as dai
from depthai_sdk import FPSHandler as FPS

# Create pipeline
pipeline = dai.Pipeline()
pipeline.setXLinkChunkSize(0)

# Define source and output
camRgb = pipeline.create(dai.node.ColorCamera)
camRgb.setFps(30)
camRgb.setResolution(dai.ColorCameraProperties.SensorResolution.THE_1080_P)
camRgb.setIspScale(2,3)

# mono = pipeline.create(dai.node.MonoCamera)
# mono.setFps(60)
# mono.setBoardSocket(dai.CameraBoardSocket.RIGHT)
# mono.setResolution(dai.MonoCameraProperties.SensorResolution.THE_800_P)

videoEnc = pipeline.create(dai.node.VideoEncoder)
videoEnc.setDefaultProfilePreset(30, dai.VideoEncoderProperties.Profile.MJPEG)
camRgb.video.link(videoEnc.input)

xoutVideo = pipeline.create(dai.node.XLinkOut)
xoutVideo.setStreamName("video")
xoutVideo.input.setBlocking(False)
xoutVideo.input.setQueueSize(10)
# camRgb.isp.link(xoutVideo.input)
videoEnc.bitstream.link(xoutVideo.input)

# Connect to device and start pipeline
with dai.Device(pipeline) as device:
    print(device.getUsbSpeed())
    fps = FPS()
    video = device.getOutputQueue(name="video", maxSize=10, blocking=False)

    while True:
        videoIn = video.get()
        diff = dai.Clock.now() - videoIn.getTimestamp()
        print('diff', diff)
        fps.nextIter()
        print(fps.fps())

Thanks, Erik


Horizontal Stepper Overflows Title (with no way to allow for scrolling)

Steps to Reproduce

Create a stepper with 5+ steps with any title such as "Step Title"
Make its direction horizontal
The Stepper widget puts step icons into a row until it overflows the screen, with no way to make it scroll

Stepper(
            type: StepperType.horizontal,
            currentStep: currentStep,
            steps: <Step>[
              Step(
                  content: Text('content'),
                  title: Text('title'),
                  isActive: currentStep == 0),
              Step(
                  content: Text('content'),
                  title: Text('title'),
                  isActive: currentStep == 1),
              Step(
                  content: Text('content'),
                  title: Text('title'),
                  isActive: currentStep == 2),
              Step(
                  content: Text('content'),
                  title: Text('title'),
                  isActive: currentStep == 3),
              Step(
                  content: Text('content'),
                  title: Text('title'),
                  isActive: currentStep == 4),
              Step(
                  content: Text('content'),
                  title: Text('title'),
                  isActive: currentStep == 5),
              Step(
                  content: Text('content'),
                  title: Text('title'),
                  isActive: currentStep == 6),
            ],
          )

Wrapping the stepper with a horizontal SingleChildScrollView does not fix the issue.
Stepper._buildHorizontal
        Material(
          elevation: 2.0,
          child: Container(
            margin: const EdgeInsets.symmetric(horizontal: 24.0),
            child: Row(
              children: children,
            ),
          ),
        ),

As you can see from the source code which builds the title row with steps and titles, there is no capability to scroll over overflow gracefully at all. If the children of the row don't fit on the screen, it will overflow.

I changed the Row to a horizontal ListView, and removed the Expanded from the Container which is basically just a spacer between the icon children. After hard coding its height, the steps scroll horizontally without crashing. Not the best solution, but surely this widget can be improved

any solutions ?

up

I have the same issue, I tried the core hack of @HansMuller but i missed something. It's not working and it's consuming a lot of time for a very basic thing. Since it's a new way of coding with Flutter I think that it's impossible to find it by myself I really need help. Thank you guys !!

@danielmessi13 any good news ?

Any updates, We are facing this issue.

Did anyone find a workaround? or someone solved the problem?

you can use this plugin fa_stepper 0.0.2 @FacuRossi

Try this :
`
Widget _buildHorizontal() {
final List children = [
for (int i = 0; i < widget.steps.length; i += 1) ...[
InkResponse(
onTap: widget.steps[i].state != StepState.disabled
? () {
if (widget.onStepTapped != null) widget.onStepTapped(i);
}
: null,
canRequestFocus: widget.steps[i].state != StepState.disabled,
child: Row(
children: [
Container(
height: 72.0,
child: Center(
child: _buildIcon(i),
),
),
Container(
margin: const EdgeInsetsDirectional.only(start: 12.0),
child: _buildHeaderText(i),
),
],
),
),
if (!_isLast(i))
Container(
margin: const EdgeInsets.symmetric(horizontal: 8.0),
height: 1.0,
color: Colors.grey.shade400,
),
],
];
return Column(
  children: <Widget>[
    Material(
      elevation: 2.0,
      child: Container(
        height: 65,
        margin: const EdgeInsets.symmetric(horizontal: 24.0),
        child: ListView(
          scrollDirection: Axis.horizontal,
          children: children,
        ),
      ),
    ),
    Expanded(
      child: ListView(
        padding: const EdgeInsets.all(24.0),
        children: <Widget>[
          AnimatedSize(
            curve: Curves.fastOutSlowIn,
            duration: kThemeAnimationDuration,
            vsync: this,
            child: widget.steps[widget.currentStep].content,
          ),
          _buildVerticalControls(),
        ],
      ),
    ),
  ],
);

}`

So the current way the horizontal stepper works is by rendering each step one at a time, then filling up the remaining constrained space with the stepper lines using Expanded - which works great.. until you come across this kind of problem, where you have a small screen causing the steps to naturally overflow.
When applying a ListView onto the whole stepper row, the problem comes as the ListView, being a scrollable, has no constrained width as you would expect. Constraining the ListView doesn't do much help either, since generating the steps using Expandable will naturally take up the whole row (i.e the whole scrollable view) making it seem like it renders nothing.
My solution was to define a minimum step line width (the lines inbetween the steppers), and calculate whether or not an overflow would happen using the device's screen width. From there, determine whether or not to use a scroller (since we don't need a scroller if nothing overflows right?).
Stepper.dart
@override
void initState() {
  super.initState();
  _keys = List<GlobalKey>.generate(
    widget.steps.length,
    (int i) => GlobalKey(),
  );

  for (int i = 0; i < widget.steps.length; i += 1)
    _oldStates[i] = widget.steps[i].state;

  WidgetsBinding.instance.addPostFrameCallback((_) {
    determineUseScroller();
  });
}

void determineUseScroller() {
final combinedStepperWidth = _getCombinedStepperWidth();

  setState(() {
    useScroller = willTotalStepperOverflow(combinedStepperWidth);
    _combinedStepperWidth = combinedStepperWidth;
  });
}

double _getCombinedStepperWidth() {
double combinedStepperWidth = 0;

for (int i = 0; i < widget.steps.length; i += 1) {
  combinedStepperWidth +=
     ((_keys[i].currentContext.findRenderObject() as RenderBox)
        ?.size
        ?.width);
   }

  return combinedStepperWidth;
}

bool willTotalStepperOverflow(double combinedStepperWidth) {
  final screenWidth = MediaQuery.of(context).size.width;
  final stepperWithSteps = combinedStepperWidth +
      ((widget.steps.length - 1) * minimumHorizontalStepperWidth);

  return stepperWithSteps > screenWidth;
}

@iJimmyWei have you submitted a pull request for this?

@iJimmyWei have you submitted a pull request for this?

I'll look into submitting a PR soon

@iJimmyWei thank you.

For temporary fix i'm trying to display the title of active section.
					Step(
                      title: Text(model.currentStep == 0 ? "Name" : ""),
                      content: Container(child: TextFormField()),
                    ),
                    Step(
                      title: Text(model.currentStep == 1 ? "Date" : ""),
                      content: Container(
                        child: TextFormField(
                          decoration: InputDecoration(
                            prefixIcon: Icon(Icons.calendar_today),
                          ),
                        ),
                      ),
                    ),

This issue issue still exist

Code Sample
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Material App',
      home: Home(),
    );
  }
}

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: ConstrainedBox(
          constraints: BoxConstraints.tightFor(height: 200.0),
          child: StepperExample()),
    );
  }
}

class StepperExample extends StatefulWidget {
  @override
  _StepperExampleState createState() => _StepperExampleState();
}

class _StepperExampleState extends State<StepperExample> {
  int _currentStep = 0;

  @override
  Widget build(BuildContext context) {
    return Stepper(
      currentStep: _currentStep,
      type: StepperType.horizontal,
      onStepContinue: () {
        if (_currentStep >= 4) return;
        setState(() {
          _currentStep += 1;
        });
      },
      onStepCancel: () {
        if (_currentStep <= 0) return;
        setState(() {
          _currentStep -= 1;
        });
      },
      steps: const <Step>[
        Step(
          title: Text('Step 1'),
          content: SizedBox(
            width: 100.0,
            height: 100.0,
          ),
        ),
        Step(
          title: Text('Step 2'),
          content: SizedBox(
            width: 100.0,
            height: 100.0,
          ),
        ),
        // Step(
        //   title: Text('Step 3'),
        //   content: SizedBox(
        //     width: 100.0,
        //     height: 100.0,
        //   ),
        // ),
        // Step(
        //   title: Text('Step 4'),
        //   content: SizedBox(
        //     width: 100.0,
        //     height: 100.0,
        //   ),
        // ),
        // Step(
        //   title: Text('Step 5'),
        //   content: SizedBox(
        //     width: 100.0,
        //     height: 100.0,
        //   ),
        // ),
      ],
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel dev, 1.18.0-10.0.pre, on Mac OS X 10.15.4 19E287, locale
    en-GB)
    • Flutter version 1.18.0-10.0.pre at /Users/tahatesser/Code/flutter_dev
    • Framework revision 9b7b9d795e (18 hours ago), 2020-05-05 12:09:51 -0700
    • Engine revision 33d2367950
    • Dart version 2.9.0 (build 2.9.0-5.0.dev 9c94f08410)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/tahatesser/Code/SDK
    • Platform android-29, build-tools 29.0.3
    • ANDROID_HOME = /Users/tahatesser/Code/SDK
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_212-release-1586-b4-5784211)
    • All Android licenses accepted.

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

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

[✓] Android Studio (version 3.6)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 45.1.1
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build
      1.8.0_212-release-1586-b4-5784211)

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

[✓] Connected device (4 available)
    • SM M305F   • 32003c30dc19668f • android-arm64  • Android 10 (API 29)
    • macOS      • macOS            • darwin-x64     • Mac OS X 10.15.4 19E287
    • Web Server • web-server       • web-javascript • Flutter Tools
    • Chrome     • chrome           • web-javascript • Google Chrome
      81.0.4044.138

• No issues found!

I had the same issue and i'm using this now
class YellowBird extends StatefulWidget {
  const YellowBird({ Key key }) : super(key: key);

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

class _YellowBirdState extends State<YellowBird> {
  ScrollController _scrollController = new ScrollController();
  static const double STEP_WIDTH = 90;
  PageController pageController = PageController();
  List<CustomStep> stepsList;
  int currentPage=0;
 @override
  void initState() {
    super.initState();
    stepsList = [
      CustomStep(
        title: 'ddddd',
        page: Placeholder(
          color: Colors.pink,
        ),
      ),
      CustomStep(
        title: 'zzzzzzzz',
        page: Placeholder(
          color: Colors.deepPurple,
        ),
      ),
    ];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('hello'), centerTitle: true),
      body: Column(
        mainAxisAlignment: MainAxisAlignment.start,
        crossAxisAlignment: CrossAxisAlignment.center,
        children: <Widget>[
          _buildStepper(currentPage),
          Expanded(
              child: PageView.builder(
            controller: pageController,
            physics: NeverScrollableScrollPhysics(),
            onPageChanged: (index) {
              setState(() {
                currentPage = index;
              });
            },
            itemCount: stepsList.length,
            itemBuilder: (ctx, index) =>
                    : stepsList[index].page,
          ),
        ],
      ),
    );
  }

  _buildStepper(int currentStep) {
    Future.delayed(
        Duration(milliseconds: 100),
        () => _scrollController.animateTo((STEP_WIDTH * currentStep).toDouble(),
            duration: const Duration(milliseconds: 300),
            curve: Curves.easeOut));
    return Center(
      child: SizedBox(
        height: 110,
        child: ListView.builder(
            controller: _scrollController,
            shrinkWrap: true,
            scrollDirection: Axis.horizontal,
            itemCount: stepsList.length,
            itemBuilder: (ctx, index) => index < stepsList.length - 1
                ? Row(
                    mainAxisAlignment: MainAxisAlignment.center,
                    crossAxisAlignment: CrossAxisAlignment.center,
                    children: <Widget>[
                      buildStep(index),
                      buildStepDivider(index)
                    ],
                  )
                : buildStep(index)),
      ),
    );
  }

  SizedBox buildStepDivider(int index) {
    return SizedBox(
      height: 90,
      child: Container(
        alignment: Alignment.topCenter,
        child: Transform.translate(
          offset: Offset(0, 16),
          child: Container(
            color: index < currentPage
                ? Theme.of(context).primaryColor
                : Colors.grey,
            width: 30,
            height: 3,
            padding: EdgeInsets.symmetric(horizontal: 10),
          ),
        ),
      ),
    );
  }

  buildStep(int index) {
    return Padding(
      padding: const EdgeInsets.symmetric(horizontal: 5),
      child: SizedBox(
        height: 90,
        width: STEP_WIDTH,
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            Container(
              decoration: BoxDecoration(
                shape: BoxShape.circle,
                color: index <= currentPage
                    ? Theme.of(context).primaryColor
                    : Colors.grey[300],
              ),
              padding: EdgeInsets.all(10),
              child: Text((index + 1).toString()),
            ),
            Expanded(
                child: Text(
              stepsList[index].title,
              textAlign: TextAlign.center,
            ))
          ],
        ),
      ),
    );
  }
}

class CustomStep {
  final String title;
  final Widget page;
  CustomStep(
      {@required this.title, @required this.page});
}

the best thing about this is that you can customize it the way you want and also you can publish this as package for easier usage

Still broken

This issue issue still exist
Code Sample
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Material App',
      home: Home(),
    );
  }
}

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: ConstrainedBox(
          constraints: BoxConstraints.tightFor(height: 200.0),
          child: StepperExample()),
    );
  }
}

class StepperExample extends StatefulWidget {
  @override
  _StepperExampleState createState() => _StepperExampleState();
}

class _StepperExampleState extends State<StepperExample> {
  int _currentStep = 0;

  @override
  Widget build(BuildContext context) {
    return Stepper(
      currentStep: _currentStep,
      type: StepperType.horizontal,
      onStepContinue: () {
        if (_currentStep >= 4) return;
        setState(() {
          _currentStep += 1;
        });
      },
      onStepCancel: () {
        if (_currentStep <= 0) return;
        setState(() {
          _currentStep -= 1;
        });
      },
      steps: const <Step>[
        Step(
          title: Text('Step 1'),
          content: SizedBox(
            width: 100.0,
            height: 100.0,
          ),
        ),
        Step(
          title: Text('Step 2'),
          content: SizedBox(
            width: 100.0,
            height: 100.0,
          ),
        ),
        // Step(
        //   title: Text('Step 3'),
        //   content: SizedBox(
        //     width: 100.0,
        //     height: 100.0,
        //   ),
        // ),
        // Step(
        //   title: Text('Step 4'),
        //   content: SizedBox(
        //     width: 100.0,
        //     height: 100.0,
        //   ),
        // ),
        // Step(
        //   title: Text('Step 5'),
        //   content: SizedBox(
        //     width: 100.0,
        //     height: 100.0,
        //   ),
        // ),
      ],
    );
  }
}

flutter doctor -v

This code doesn't work, it's still overflowing

any news ?

Unless there's a way to remove the 1st step when it exceeds to step 3 and higher. Other than that, I'd just make a new page per step.

If I remember correctly. someone made the UI for this section https://material.io/archive/guidelines/components/steppers.html#steppers-types-of-steps

It doesn't follow the same horizontal stepper, but it is elegant and easier to put labels(especially if labels can't fit for 3 or more steps

If I remember correctly. someone made the UI for this section https://material.io/archive/guidelines/components/steppers.html#steppers-types-of-steps
It doesn't follow the same horizontal stepper, but it is elegant and easier to put labels(especially if labels can't fit for 3 or more steps

Yes, I would like to see it on Flutter, or at least support horizontal scrollable on the header.

big issue

big issue

Issue is replicable on latest stable and master.

flutter doctor -v
[✓] Flutter (Channel stable, 1.22.6, on Mac OS X 10.15.4 19E2269 darwin-x64,
    locale en-IN)
    • Flutter version 1.22.6 at /Users/dhs/documents/Fluttersdk/flutter
    • Framework revision 9b2d32b605 (11 days ago), 2021-01-22 14:36:39 -0800
    • Engine revision 2f0af37152
    • Dart version 2.10.5

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

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

[!] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6915495)

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

[✓] Connected device (1 available)
    • SM A260G (mobile) • 5200763ebcfa861f • android-arm • Android 8.1.0 (API
      27)

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 1.26.0-18.0.pre.156, on Mac OS X 10.15.4 19E2269
    darwin-x64, locale en-IN)
    • Flutter version 1.26.0-18.0.pre.156 at
      /Users/dhs/documents/Fluttersdk/flutter
    • Framework revision 45508985b1 (7 hours ago), 2021-02-02 22:46:04 -0500
    • Engine revision 2c144c3eeb
    • Dart version 2.12.0 (build 2.12.0-282.0.dev)

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

[!] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    ! CocoaPods 1.9.3 out of date (1.10.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin
        code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see
      https://guides.cocoapods.org/using/getting-started.html#installation for
      instructions.

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

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

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

[✓] Connected device (3 available)
    • SM A260G (mobile) • 5200763ebcfa861f • android-arm    • Android 8.1.0 (API
      27)
    • macOS (desktop)   • macos            • darwin-x64     • Mac OS X 10.15.4
      19E2269 darwin-x64
    • Chrome (web)      • chrome           • web-javascript • Google Chrome
      88.0.4324.96

! Doctor found issues in 1 category.

Try this :
`
Widget _buildHorizontal() {
final List children = [
for (int i = 0; i < widget.steps.length; i += 1) ...[
InkResponse(
onTap: widget.steps[i].state != StepState.disabled
? () {
if (widget.onStepTapped != null) widget.onStepTapped(i);
}
: null,
canRequestFocus: widget.steps[i].state != StepState.disabled,
child: Row(
children: [
Container(
height: 72.0,
child: Center(
child: _buildIcon(i),
),
),
Container(
margin: const EdgeInsetsDirectional.only(start: 12.0),
child: _buildHeaderText(i),
),
],
),
),
if (!_isLast(i))
Container(
margin: const EdgeInsets.symmetric(horizontal: 8.0),
height: 1.0,
color: Colors.grey.shade400,
),
],
];
return Column(
  children: <Widget>[
    Material(
      elevation: 2.0,
      child: Container(
        height: 65,
        margin: const EdgeInsets.symmetric(horizontal: 24.0),
        child: ListView(
          scrollDirection: Axis.horizontal,
          children: children,
        ),
      ),
    ),
    Expanded(
      child: ListView(
        padding: const EdgeInsets.all(24.0),
        children: <Widget>[
          AnimatedSize(
            curve: Curves.fastOutSlowIn,
            duration: kThemeAnimationDuration,
            vsync: this,
            child: widget.steps[widget.currentStep].content,
          ),
          _buildVerticalControls(),
        ],
      ),
    ),
  ],
);

}`

I tried this method to overcome the issue with overflowing, it worked. However, now I got another problem.
It would be amazing if the ListView widget could auto scroll. I have tried to assign controller [ScrollController()] to the ListView and then call controller.jumpTo() - when certain page is reached. Unfortunately, it did not work.
Is there a way to make ListView auto scrollable? When "onStepContinue" or "onStepCancel" are triggered?
Thank you in advance.

Replicated in v2.2.2 stable

Unless there's a way to remove the 1st step when it exceeds to step 3 and higher. Other than that, I'd just make a new page per step.

Hi, please can you tell me how to do it in that way

Replicated in 2.5

Issue still keep in 2.5.1

bump. Facing the same issue in 2.5.5

Bump. Please fix this if possible.

Issue still in 2.8.1.

Same issue here, ¿any updates?

Any update?

So frustrating. Hope this gets fixed soon

I had the same issue.
but  i have alternative solution like each step display own text when that step is selected
for more Info please check below screenshot

if you like this solution, lets discuss more at
https://www.ameio.in/

Any updates on this? This issue exists for 2 years and still nothing?

Any update about horizontal Stepper  Scroll?

Same issue with   3.0.3

Faced the same problem. While I settled on a temporary solution, copy the standard stepper and in the method _buildHorizontal() remove Expanded and wrap the resulting Row in SingleChildScrollView.

Confirmed broken on Flutter 3.3.0, however @jpr0ger's fix still works.

Faced the same problem. While I settled on a temporary solution, copy the standard stepper and in the method _buildHorizontal() remove Expanded and wrap the resulting Row in SingleChildScrollView.

Awesome workaround! But it's sad that 3 years later they still haven't solved this problem... Still happening on Flutter 3.3.3  ☹
I want to contribute with an improvement, in this solution of yours, if the widget passed is not big enough to fill the width, the horizontal header will be small (and weird), so with this fix it will have the perfect behavior desired!
On ... Material(          elevation: widget.elevation ?? 2, ... (from line 764 to 775 on above image) you replace with the following code:
Material(
  elevation: widget.elevation ?? 2,
  child: SizedBox(
    width: MediaQuery.of(context).size.width,
    child: Expanded(
      child: SingleChildScrollView(
        scrollDirection: Axis.horizontal,
        child: Container(
          margin: const EdgeInsets.symmetric(horizontal: 24.0),
          child: Row(
            children: children,
          ),
        ),
      ),
    ),
  ),
),

The expected result will be this:

Before (with 1 item)
After (with 1 item)

And of course, the main expected behavior (multiples choices without overflow):

😁🚀

@lohhans  what about automatic scrolling if the step is out of view, didn't do that ?

@lohhans  what about automatic scrolling if the step is out of view, didn't do that ?

I tried, but not achieved this behavior without bugs yet... If I can, I'll share the code. 😅

Issue still exists in 3.3.0

The issue still exists in 3.3.4

i edit some lines of code in stepper class
just try my package:
https://pub.dev/packages/fx_stepper

Any update on this?

Reproducible on stable 3.3 and master 3.7

code sample
import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Material App',
      home: Home(),
    );
  }
}

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: ConstrainedBox(
          constraints: const BoxConstraints.tightFor(height: 200.0),
          child: StepperExample()),
    );
  }
}

class StepperExample extends StatefulWidget {
  @override
  _StepperExampleState createState() => _StepperExampleState();
}

class _StepperExampleState extends State<StepperExample> {
  int _currentStep = 0;

  @override
  Widget build(BuildContext context) {
    return Stepper(
      currentStep: _currentStep,
      type: StepperType.horizontal,
      onStepContinue: () {
        if (_currentStep >= 4) return;
        setState(() {
          _currentStep += 1;
        });
      },
      onStepCancel: () {
        if (_currentStep <= 0) return;
        setState(() {
          _currentStep -= 1;
        });
      },
      steps: const <Step>[
        Step(
          title: Text('Step 1'),
          content: SizedBox(
            width: 100.0,
            height: 100.0,
          ),
        ),
        Step(
          title: Text('Step 2'),
          content: SizedBox(
            width: 100.0,
            height: 100.0,
          ),
        ),
        Step(
          title: Text('Step 3'),
          content: SizedBox(
            width: 100.0,
            height: 100.0,
          ),
        ),
        Step(
          title: Text('Step 4'),
          content: SizedBox(
            width: 100.0,
            height: 100.0,
          ),
        ),
        Step(
          title: Text('Step 5'),
          content: SizedBox(
            width: 100.0,
            height: 100.0,
          ),
        ),
      ],
    );
  }
}

flutter doctor -v (mac)
[✓] Flutter (Channel master, 3.7.0-13.0.pre.131, on macOS 13.1 22C65 darwin-arm64, locale en-IN)
    • Flutter version 3.7.0-13.0.pre.131 on channel master at /Users/mahesh/Development/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 0196e6050b (2 days ago), 2022-12-31 11:10:23 -0500
    • Engine revision 932591ec04
    • Dart version 3.0.0 (build 3.0.0-76.0.dev)
    • DevTools version 2.20.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks
      and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc4)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0-rc4
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A400
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

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

[✓] Connected device (3 available)
    • iPhone 12 Pro (mobile) • 026D5789-9E78-4AD5-B1B2-3F8D4E7F65E4 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 13.1 22C65 darwin-arm64
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 108.0.5359.124

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel stable, 3.3.9, on macOS 12.6 21G115 darwin-arm, locale en-IN)
    • Flutter version 3.3.9 on channel stable at /Users/mahesh/Development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b8f7f1f986 (24 hours ago), 2022-11-23 06:43:51 +0900
    • Engine revision 8f2221fbef
    • Dart version 2.18.5
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc4)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0-rc4
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A400
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

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

[✓] Connected device (3 available)
    • iPhone 12 Pro (mobile) • 026D5789-9E78-4AD5-B1B2-3F8D4E7F65E4 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.6 21G115 darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 107.0.5304.110

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

still facing this issue. Any workaround?

Is this a joke? This has been broken for literally years and no fix? No wonder no one uses flutter...

Any solution on this? I am still facing the same issue

This is a huge pain, hopefully this will be fixed soon.

My solution: https://pub.dev/packages/anadea_stepper

Si me soluciono el problema gracias @ihorkozar

It's Christmas of 2023. Can Santa gift us with the fix ? Any Updates ?

no updates

Will it ever be fixed by Flutter team. We need scrolling on horizontal stepper.

うい

How is this simple thing still not fixed 4 years later 🤦🏼♂

+1

If this won't help then there is no hope...


big_discography.py is a broken link in the tutorial docs

The link on the tutorial page points to
https://docs.iommi.rocks/en/big_discography.py
which is 404.

Thanks. Fixed now.


redirect cloud install script to uproxy repo

I couldn't find any way to do proper redirects. This seems to work just fine. Once it's in I think we can safely remove the other files in this repo.

Agh, I forgot switches - let me figure that out before reviewing.

OK I think the only downside of dropping switches is that older clients will not benefit from -a - I added a comment to explain.

👍


"CDK Patterns" section needs content

Specifically, the "Roles", "Resource Policies", "Principals" sub-sections.

Moving guide issues to doc repo.


ProtectWithDpapi throws CryptographicException

Music Store fails on css when running as Administrator
[ERROR:Microsoft.AspNet.Server.WebListener.MessagePump] ProcessRequestAsync
System.Security.Cryptography.CryptographicException: Access is denied.
   at Microsoft.AspNet.Security.DataProtection.Cng.DpapiSecretSerializerHelper.ProtectWithDpapiImpl(Byte*
 pbSecret, UInt32 cbSecret, Byte* pbOptionalEntropy, UInt32 cbOptionalEntropy, Boolean fLocalMachine)
   at Microsoft.AspNet.Security.DataProtection.Cng.DpapiSecretSerializerHelper.ProtectWithDpapi(ISecret secret,
Boolean protectToLocalMachine)
   at Mic
rosoft.AspNet.Security.DataProtection.XmlEncryption.DpapiXmlEncryptor.Encrypt(XElement plaintextElement)
   at Microsoft.AspNet.Security.DataProtection.AuthenticatedEncryption.CngCbcAuthenticatedEncryptorConfiguration.Encryp
tSecret(IXmlEncryptor encryptor
)
   at Microsoft.AspNet.Security.DataProtection.AuthenticatedEncryption.CngCbcAuthenticatedEncryptorConfiguration.ToXml(
IXmlEncryptor xmlEncryptor)
   at Microsoft.AspNet.Security.DataProtection.KeyManagement.XmlKeyManager.CreateNewKey(Guid keyId, DateT
imeOffset creationDate, DateTimeOffset activationDate, DateTimeOffset expirationDate)
   at Microsoft.AspNet.Security.DataProtection.KeyManagement.XmlKeyManager.CreateNewKey(DateTimeOffset activationDate,
DateTimeOffset expirationDate)
   at Microsoft.As
pNet.Security.DataProtection.KeyManagement.KeyRingProvider.CreateCachedKeyRingInstanceUnderLock(DateTime utcNow,
CachedKeyRing existingCachedKeyRing)
   at Microsoft.AspNet.Security.DataProtection.KeyManagement.KeyRingProvider.GetCurrentKeyRing()
   at M
icrosoft.AspNet.Security.DataProtection.KeyManagement.KeyRingBasedDataProtector.Protect(Byte[] unprotectedData)
   at Microsoft.AspNet.SignalR.Infrastructure.DataProtectionProviderProtectedData.Protect(String data, String purpose)
   at Microsoft.AspNet.
SignalR.PersistentConnection.ProcessNegotiationRequest(HttpContext context)
   at Microsoft.AspNet.SignalR.PersistentConnection.<ProcessRequestCore>d__62.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at Syste
m.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNet.Builder.Extensions.MapMiddleware.<Invoke>d__3.MoveNext()
---
 End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNet.Server.WebListener.MessagePump.<ProcessRequestAsync>d__19.MoveNext()

There is workaround:
services.AddInstance<IXmlEncryptor>(new DpapiXmlEncryptor(true));

but adding this bug here to investigate. We need to see if this happens under different credentials too.
To repro, try to access the registration page in MusicStore.

@victorhurdugaci does this still repro?

Yes :disappointed:

Known bug in LSASS in Win10 preview, waiting for fix from Windows team.


[REQ] Per map config, !restrict cmd

Would it be possible to restrict weapons per map? One map will have for e.g 1awp per team, and the other 2awps per team?
Idk if its possible to make a restrict command?
e.g. !restrict awp 2 - restricts awp to 2 per team

Will be added next update


Fit my cat!

Odd issue name I know, but it's quite indicative.  The issue is: the resolution of an image can be bigger than the resolution of the screen. For some reason I've had trouble grappling this issue. Mainly because dilating the image with the window causes stretching. Locking to an aspect ratio isn't possible (in a cross platform way), and it has me confused.
I don't want developers to have to worry about their sprite size that much. The current idea is to not allow resizing the window but instead dilating the sprite(s) to match the window size. This creates less of a problem but it still doesn't make me satisfied. If anyone has ideas, feel free comment. I will continue to update with ideas on this issue or on the Discord server.

Although important this has been unpinned for now, as I doubt the v1.0.0 of Bongocat will address this issue

The solution for this is simple. Add functions for scaling sprites, this doesn't address window resizing in real time though. I think a solution like this would be fine though.


Access to a specific repo instead of all [FEATURE]

I was ready to try this instead of Sync Settings but once I got to the GitHub authorization step, I had to stop.

This application will be able to read and write all public and private repository data. This includes the following:

Code
Issues
Pull requests
Wikis
Settings
Webhooks and services
Deploy keys
Collaboration invites

Are you able to allow us to somehow provide access to a specific private or public repo instead of giving you access to everything?  No offense but I do not know you.  I do not know what is in your code.  And I do not know what may be in your code tomorrow.  I do not know if you would hand this project over to someone else who may have bad intentions (we all know how that goes link).

@JtMotoX

Are you able to allow us to somehow provide access to a specific private or public repo instead of giving you access to everything?

This is possible, but you must set it up manually with SSH. I would love to implement this, but it's simply a limitation of the GitHub OAuth API.

Setup Deploy Keys for your settings repository
Run Syncify: Open Settings in the command palette
Set the Repo URL to git@github.com:yourUser/repoName

I do not know what is in your code

The full source code for the extension is available in this repository if you want to check it out.

LabCoat and FastHub can specifically ask for the access required for Gitlab/Github. I am not convinced by the claim that it is a limitation of the API provided by Github/GitBucket etc. I am glad that there is a workaround based on ssh, but the main interface should never ask for permission to access everything. Please either cite the Github API document that you found limiting, or adjust the program.
I think the only place where it might require access to all the repos is that, you seem to provide a list of all the repos already set up so a user who'd like to sync later can simply click/select the one from the list. This list is superfluous and not necessary; instead, simply provide a text input box which points to a valid URI understood by git.

I do not know what is in your code
The full source code for the extension is available in this repository if you want to check it out.
You are inviting a code review for a repository with over two dozen files from effectively each and every one of your security/privacy-minded users here. Instead, consider simply adopting a better design that doesn't have the problem in the first place. Until then, could you please keep this issue open?

[1] https://gitlab.com/Commit451/LabCoat
[2] https://f-droid.org/en/packages/com.fastaccess.github.libre/


Fixes for dialyzer

There's also a bunch (4) of results for ... is a supertype of .... Would you be interested in having those fixed?
e.g. string() when we should have [byte()]

Hi. Any change this gets merged and tagged? Cheers.

Apologies. I am not actively using jesse, and so for katt and jesse, I hoped the collaborators will pick these things up :(
Thanks for your contribution, for your poke and for ending with "Cheers" :)

There's also a bunch (4) of results for ... is a supertype of .... Would you be interested in having those fixed?

file a PR, wait some days, and if nobody complains, you should now be able to merge the PR yourself 😉 🙏 Thanks!

PS: https://felixge.de/2013/03/11/the-pull-request-hack.html

There's also a bunch (4) of results for ... is a supertype of .... Would you be interested in having those fixed?

file a PR, wait some days, and if nobody complains, you should now be able to merge the PR yourself 😉 🙏 Thanks!

Sure, when I have some free time, I'd be happy too.


Adding stdc++ into libzmq libraries under PyPy is not required

More details in https://github.com/zeromq/pyzmq/issues/1160
closes #1160

Build passed, thanks!

Thank you very much.


(cm_force_refresh) not working properly on Vim8 on Windows

I'm using NCM on Windows with Vim8. I disabled automatic completions with let g:cm_auto_popup = 0 and I use <Plug>(cm_force_refresh) to initiate completions manually. However, completions don't appear when I use <Plug>(cm_force_refresh) first time, I have to press it two times for completions to appear.

I can't reproduce it.
Could you reproduce this with
set NVIM_PYTHON_LOG_FILE=nvim.log
set NVIM_NCM_LOG_LEVEL=DEBUG
nvim test.js

and show the contents of the nvim.log_py3_cm_core and nvim.log_py3_cm_sources.cm_tern?

There's a possible cause of this issue, the <Plug>(cm_force_refresh) is triggered before the source channel started.
On my machine, all channels start within 3 seconds. It's hard to reproduce it in this case.
So I guess there may be other causes, which is why the log files are needed.

I tried it with minimal vimrc and couldn't reproduce the issue. Then I tried removing chunks of my vimrc and found out that
set guicursor=a:blinkon0          " disable blinking

is to blame. When I have it set I need to press <Plug>(cm_force_refresh) two times, without it it works as intended, even though it has small delay.
This is my minimal vimrc
call plug#begin()

Plug 'roxma/nvim-completion-manager'
if !has('nvim')
    Plug 'roxma/vim-hug-neovim-rpc'
endif
Plug 'roxma/nvim-cm-tern',  {'do': 'npm install'}

let g:cm_auto_popup = 0
imap <tab> <Plug>(cm_force_refresh)
set guicursor=a:blinkon0          " disable blinking

call plug#end()

Steps to reproduce:

open blank buffer
type fooooobaaaar
type foooo
type

I have to press tab 2 times to get completions. It only happens in gvim.
nvim.log_py3_cm_core:
http://pastebin.com/Mb8fzSdz
nvim.log_py3_cm_sources.cm_tern:
http://pastebin.com/kBetxuTc

Thanks! I'll look into that.

It seems there's something wrong with vim's timer according to the log files, I switch to python implementation for the timer.
Update both plugin, NCM and nvim-cm-tern, and check whether the issue is still happening.
If it's still happening, I'll still need the log files.

It's happening in a buffer without ft set also. Issue is not exclusively related to tern source. I updated plugins and it's still happening.
Log file:
http://pastebin.com/J57apttu

I get this reproduced.
The popup menu is displayed after seconds, or 10+ seconds. But according to the log file, the complete process is finished in 1 seond. I believe this is a vim issue.
I also noticed that if I press  after I press <Plug>(cm_force_refresh), the menu will be displayed.

Oh I got a workaround, just put this into your vimrc:
func g:Foo(...)
" do nothing
endfunc
call timer_start(100,function('g:Foo'),{'repeat':-1})

I guess this somehow activates vim's timer, and then the screen gets updated.

This may also be related to the ncm-tern slow issue you reported on https://github.com/roxma/nvim-cm-tern/issues/2

The workaround solves my issue.
As for tern issue, completions are still slow. I get buffer completions instantly and then after a second or two tern completions. I get the same delay with both automatic and manual completion.

I encountered similar issue in ALE and Neomake and I would like to report issue directly to Vim. But I struggle with producing minimal reproducible case. Is this issue connected with job_start function?

This issue is related to timer and vim's rpc somehow.
If there's no timer started, the display of popup menu get significantly delayed.


Remove kube-proxy component which is no longer needed with cilium

With v19 where Cilium is added in place of aws-cni there is no longer a need for kube-proxy. Furthermore deletion of the kube-proxy is not blocked as well by kiam as v19 will include IRSA solution that takes place.

There is one cncf test failing.
To replicate the issue, run the following pods:
apiVersion: v1
kind: Pod
metadata:
  name: pod1
  namespace: default
spec:
  nodeName: ip-10-1-3-134.eu-central-1.compute.internal
  containers:
  - args:
    - netexec
    - --http-port=8080
    - --udp-port=8080
    image: k8s.gcr.io/e2e-test-images/agnhost:2.39
    imagePullPolicy: IfNotPresent
    name: agnhost
    ports:
    - containerPort: 8080
      hostIP: <IP_ADDRESS>
      hostPort: 54323
      name: http
      protocol: TCP
    securityContext:
      allowPrivilegeEscalation: false
  serviceAccount: default
  serviceAccountName: default
---
apiVersion: v1
kind: Pod
metadata:
  name: pod2
  namespace: default
spec:
  nodeName: ip-10-1-3-134.eu-central-1.compute.internal
  containers:
  - args:
    - netexec
    - --http-port=8080
    - --udp-port=8080
    image: k8s.gcr.io/e2e-test-images/agnhost:2.39
    imagePullPolicy: IfNotPresent
    name: agnhost
    ports:
    - containerPort: 8080
      hostIP: <IP_ADDRESS>
      hostPort: 54323
      name: http
      protocol: TCP
    securityContext:
      allowPrivilegeEscalation: false
  serviceAccount: default
  serviceAccountName: default
---
apiVersion: v1
kind: Pod
metadata:
  name: pod3
  namespace: default
spec:
  nodeName: ip-10-1-3-134.eu-central-1.compute.internal
  containers:
  - args:
    - netexec
    - --http-port=8080
    - --udp-port=8080
    image: k8s.gcr.io/e2e-test-images/agnhost:2.39
    imagePullPolicy: IfNotPresent
    name: agnhost
    ports:
    - containerPort: 8080
      hostIP: <IP_ADDRESS>
      hostPort: 54323
      name: http
      protocol: UDP
    securityContext:
      allowPrivilegeEscalation: false
  serviceAccount: default
  serviceAccountName: default
---
apiVersion: v1
kind: Pod
metadata:
  name: e2e-host-exec
  namespace: default
spec:
  nodeName: ip-10-1-3-134.eu-central-1.compute.internal
  hostNetwork: true
  containers:
  - image: k8s.gcr.io/e2e-test-images/agnhost:2.39
    imagePullPolicy: IfNotPresent
    name: agnhost
    securityContext:
      allowPrivilegeEscalation: false
  serviceAccount: default
  serviceAccountName: default

then exec into e2e-host-exec and run
curl -g --connect-timeout 5 --interface <IP_ADDRESS> http://localhost:54323/hostname

this times out and should work

Known cilium bug https://github.com/cilium/cilium/issues/21060

Feature is merged in aws-operator and cluster-operator.
CNCF tests will be sorted out while release v19.
Furthermore upgrade is not as smooth on the workloads as I want it to be, but again will be part of v19 testing.


Requests over the same connection not terminated properly when middleware is used (affects uvloop + python 3.8)

First check

[x] I added a very descriptive title to this issue.
[x] I used the GitHub search to find a similar issue and didn't find it.
[x] I searched the FastAPI documentation, with the integrated search.
[x] I already searched in Google "How to X in FastAPI" and didn't find any information.
[x] I already read and followed all the tutorial in the docs and didn't find an answer.
[x] I already checked if it is not related to FastAPI but to Pydantic.
[x] I already checked if it is not related to FastAPI but to Swagger UI.
[x] I already checked if it is not related to FastAPI but to ReDoc.
[x] After submitting this, I commit to one of:

Read open issues with questions until I find 2 issues where I can help someone and add a comment to help there.
I already hit the "watch" button in this repository to receive notifications and I commit to help at least 2 people that ask questions in the future.
Implement a Pull Request for a confirmed bug.

Example
Here's a self-contained, minimal, reproducible, example with my use case:

server.py
from time import time

from fastapi import FastAPI, Request, Response

app = FastAPI()

@app.middleware("http")
async def middle(request: Request, call_next):
    return await call_next(request)

@app.post("/")
async def handler(request: Request):
    print("processing")
    request_json = await request.json()

    # Add processing time
    s_time = time()
    count = 0
    while count < 10_000:
        count += 1
    print(f"done: {time() - s_time}")

    return request_json

test_server.py
from os import getenv
from unittest import TestCase

from requests import Session
from requests.exceptions import HTTPError

class TestModelServer(TestCase):
    def setUp(self):
        host = getenv("HOST", "localhost")
        port = getenv("PORT", "8000")
        self.url = f"http://{host}:{port}"

    def test_post(self):
        with Session() as s:
            for i in range(1000):
                data = [i for i in range(5)]
                resp = s.post(self.url, json=data)
                resp.raise_for_status()
                result = resp.json()
                self.assertEqual(result, data)

docker-compose.yml
version: "3"
services:
  test:
    image: python:3.8.3
    environment:
      HOST: app
    command:
      - /bin/sh
      - -c
      - |
        set -eu
        cd /app
        pip install --no-cache-dir requests
        # Wait until app is ready
        until $$(curl -s $$HOST:8000/metrics > /dev/null); do
          echo "app not ready"
          sleep 5
        done
        python -m unittest -v test_server.py
    volumes:
      - ./test_server.py:/app/test_server.py
  app:
    image: python:3.8.3
    command:
      - /bin/sh
      - -c
      - |
        cd /app
        pip install --no-cache-dir fastapi uvicorn
        uvicorn --host "<IP_ADDRESS>" --workers 1 server:app
    volumes:
      - ./server.py:/app/server.py

Description

Put all 3 files in the same directory and run docker-compose up --abort-on-container-exit --build
test_server.py hangs after completing several POST requests.
But I expected it to run to completion.

If I remove the middleware, tests complete as expected. It also seems to work if I close the connection from client side after every request, (ie. use a new requests.Session object).
Environment

OS: Docker on macOS
FastAPI Version: 0.59.0

To know the FastAPI version use:
python -c "import fastapi; print(fastapi.__version__)"

Python version: 3.8.3

To know the Python version use:
python --version

Additional context

Might be duplicate to #1587. On my end it hangs after printing print("processing").

It seems to be a different issue because my example doesn't consume the request body inside middleware. The logs I'm seeing after it hangs is as follows.
app_1   | processing
app_1   | done: 0.0023453235626220703
app_1   | INFO:     <IP_ADDRESS>:50272 - "POST / HTTP/1.1" 200 OK
app_1   | processing
app_1   | done: 0.0007843971252441406
app_1   | INFO:     <IP_ADDRESS>:50272 - "POST / HTTP/1.1" 200 OK

This happens after completing about 100 requests. @phy25 are you able to reproduce this?

I'm experiencing a very similar issue, the body stream isn't consumed in the middleware and yet the request will occasionally hang indefinitely while passing through it.
We have FastAPI running on gunicorn with UvicornWorker as our worker class and this error can be found in the logs when this happens:
[2020-07-18 10:59:09 +0000] [15069] [ERROR] Exception in ASGI application Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/uvicorn/protocols/http/httptools_impl.py", line 385, in run_asgi result = await app(self.scope, self.receive, self.send) File "/usr/local/lib/python3.8/site-packages/uvicorn/middleware/proxy_headers.py", line 45, in __call__ return await self.app(scope, receive, send)  File "/usr/local/lib/python3.8/site-packages/fastapi/applications.py", line 171, in __call__ await super().__call__(scope, receive, send) File "/usr/local/lib/python3.8/site-packages/starlette/applications.py", line 102, in __call__ await self.middleware_stack(scope, receive, send) File "/usr/local/lib/python3.8/site-packages/starlette/middleware/errors.py", line 181, in __call__ raise exc from None File "/usr/local/lib/python3.8/site-packages/starlette/middleware/errors.py", line 159, in __call__ await self.app(scope, receive, _send) File "/usr/local/lib/python3.8/site-packages/starlette/middleware/base.py", line 26, in __call__ await response(scope, receive, send) File "/usr/local/lib/python3.8/site-packages/starlette/responses.py", line 222, in __call__ await run_until_first_complete( File "/usr/local/lib/python3.8/site-packages/starlette/concurrency.py", line 18, in run_until_first_complete [task.result() for task in done] File "/usr/local/lib/python3.8/site-packages/starlette/concurrency.py", line 18, in <listcomp> [task.result() for task in done] File "/usr/local/lib/python3.8/site-packages/starlette/responses.py", line 217, in stream_response await send({"type": "http.response.body", "body": chunk, "more_body": True}) File "/usr/local/lib/python3.8/site-packages/starlette/middleware/errors.py", line 156, in _send  await send(message) File "/usr/local/lib/python3.8/site-packages/uvicorn/protocols/http/httptools_impl.py", line 510, in send self.transport.write(body) File "uvloop/handles/stream.pyx", line 673, in uvloop.loop.UVStream.write File "uvloop/handles/handle.pyx", line 159, in uvloop.loop.UVHandle._ensure_alive RuntimeError: unable to perform operation on <TCPTransport closed=True reading=False 0x55774437dc20>; the handler is closed
It seems that this error is more of a consequence than a cause but it might offer some insight to someone with a deeper understanding of FastAPI's internals.
This has only surfaced with recent code changes, none of which are linked to the middleware or how requests are handled, most notably the latest release included an update to the version of FastAPI and its dependencies, which is now sitting at 0.59.0.
I tried writing a custom Router and a custom Request class to have fine grained control over the flow of information but currently this is only applied to requests in functions (router/app endpoints), I couldn't find a way to tell FastAPI to use this class for requests being passed to the middleware as well, please let me know if I'm missing something.
By looking at the logging output I can see that requests get stuck AFTER they have gone through the last custom middleware, before being passed to the actual function or to the custom route handler.

I believe I'm seeing something similar occasionally, both in 0.54.1 and 0.60.0, for POST requests.
I'm not consuming the request body in middleware, but middleware IS present (for request timing).
I believe the request is stalling in FastAPI code, in routing.py in get_request_handler (where it tries to read the request body). Eventually, the request gets killed by the timeout from the upstream ELB and I see a 400 from FastAPI in my middleware corresponding to line 182 in routing.py (on 0.54.1)
        except Exception as e:
            logger.error(f"Error getting request body: {e}")
            raise HTTPException(
                status_code=400, detail="There was an error parsing the body"
            ) from e

The issue seems to go away for me if I explicitly specify --loop asyncio in the uvicorn command-line config, ie
uvicorn --host "<IP_ADDRESS>" --workers 1 --loop asyncio server:app

@sweatybridge can you try this? If this works successfully, it means uvloop or the uvloop<->starlette<->fastapi interaction is the culprit.

@pacificsky Thanks for looking into this issue!
Yes, I can confirm that after specifying --loop asyncio, the client requests no longer gets stuck. What I did was to update the docker-compose file and reran the test a few times. All requests completed successfully.

If you're running Uvicorn using Gunicorn as the process manager, you'll want to switch to UvicornH11Worker (asyncio + h11) instead of UvicornWorker in order to use asyncio as the loop implementation.

@tiangolo @dmontagu any thoughts on this issue? Have you encountered anything like this using uvloop as the loop implementation? The repro above is pretty definitive.

Experienced the same issue in prod application using uvloop as a loop. When there were a lot of requests some of them were freezing until the client drops the connection by timeout and then I can see
"There was an error parsing the body"

in logs.
Switched to asyncio loop, checking now...

Also, with image: python:3.7 the above test competes successfully, so, seems like the problem in uvloop + python3.8

I'm expecting the same issue
python 3.8.0 FastAPI 0.63.0
any update on this issue?


dlib package does not build lib file.

The dlib package does not build the static library when included into a project. The hunter-fied CMakeLists.txt does not include an "add_subdirectory(dlib)" adding the lib for build. Should this just be added to the hunter-fied CMakelists file or should there be an option added to build/not build the lib?

Please discuss it's here: https://github.com/hunter-packages/dlib/issues/3
In short if you know how to fix it please send the patch.


No sound upon notification

Steps to reproduce:

Set a timer
Wait
Notification will produce no sound, except a vibration.

Expected behavior:
When a timer is finished, there should be a sound notification, so we can know audibly that the tea is ready.
Observed behavior:
When a timer is finished, there is no sound in a notification, even when the phone's volume settings are all set on highest setting.  The phone only vibrates.
This issue has been going on for a while and it prevents me from using the app efficiently.
Device information:
Asus Zenfone 6, stock Android 11

Hello!
Do you recall which version this started happening on?
It seems you're getting an alert from the app, but it's just not audible? What troubleshooting steps have you tried?
I'd recommend first checking your system settings related to Cuppa notifications, and make sure you have allowed the app to produce an audible alert. You can tap the link at the bottom of the Cuppa Preferences screen to get there quickly. And from there, it is very important to tap "Timer notifications" to access all the available notification options. Sound should be set to "App provided sound" or some other sound of your choice.
You could also try uninstalling Cuppa and reinstalling -- this will completely reset the notification settings.
I hope that works. Let me know!

I just reinstalled Cuppa, and the audible notification (clank sound) is back. I've been having this issue for some versions now I believe, but it could've been my Android settings somehow.

When I changed from regular notifications to alarms, that may have caused the issue. Sorry! I'm glad it's working now. 👍🏻


[BUG] 无限转圈

Checks

[x] I confirm that I have searched existing issues and couldn't find a similar bug.
[x] I have read the documentation carefully and it couldn't resolved my problem.

Describe the bug
无限转圈
To Reproduce
打开软件后输入问题点发送会无限转圈，网页版没问题，也没验证码，软件是最新版，全局
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS and Version: [e.g. Windows 10]
SydneyQt Version: [e.g. v2.2.2]

Additional context
Add any other context about the problem here.

是否有弹出一个浏览器显示验证码？
本地是否安装了谷歌浏览器（必须是谷歌浏览器，edge不行）。
根据图上的显示，未正确导入cookie。请正确导入一遍。

好了，是有个人机验证


New csiplugin-configmap.yaml setting to override PVs's volumeAttributes.mounter

Describe the feature you'd like to have
I'd like to be able to set the plugin mounter type globally (fuse or kernel) so that all PVs in a cluster are mounted the same way, regardless of each PV's volumeAttributes.mounter set by SC at creation time.
What is the value to the end user? (why is it a priority?)
Over time, we had to change SC's mounter type to fuse due to kernel lock issues when using MDS's balancer in active/active mode. We now have some PV's with volumeAttributes.mounter: fuse and other PVs with volumeAttributes.mounter: kernel in the same cluster, which results in some PVs being mounted with ceph-fuse and other PVs being mounted with kernel in the same cluster.
This new setting would allow users to choose the mounter type they want to use globally for all PVs and ensure all PVs use the same mounter, without having to change each PV's volumeAttributes.mounter which is currently not possible since volumeAttributes.mounter is immutable (see https://github.com/ceph/ceph-csi/issues/4691).
How will we know we have a good solution? (acceptance criteria)
PVs would all be mounted using the same client, whatever they have for volumeAttributes.mounter.

In case anyone needs to convert Cephfs PVC (RWO vs RWX) and/or Cephfs PV (fuse vs kernel), you can use this script I've made: https://github.com/FredNass/k8s_tools/blob/main/conversion_pvc_cephfs.sh


Fix default codec instantiation

This PR sets the default codec (temporarily) to nil to allow instantiating the default codec with format by testing for nil instead of testing for the class identity, which has not been working since logstash 7.2.0 due to https://github.com/elastic/logstash/issues/11434.
Previously #55 was created with another workaround for the class comparison issue, but it was never merged. There has not been follow-up to this issue since then (as far as I can find).
Fixes #51

Hi @tsaarni given that PR #69 fixes this I foresee two paths:

you apply here the same #69 changes and close that
we merge #69 and close this
Which one do you prefer?

Let's merge #69 and close this one, thank you for fixing the bug!