AccessibilityAnnouncements is already initialized. This is likely a bug in Flutter Web engine initialization

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
Unfortunately I cannot to write a steps to reproduce as I noticed this for the first time w/o any reason. What I did is just modifications in the code and then Save All modifications in VS Code. I don't know if the log from debug console helps you but in any case this issue is suggeste by flutter team.
Expected results

Actual results
Restarted application in 489ms.
Error: Assertion failed: org-dartlang-sdk:///lib/_engine/engine/semantics/accessibility.dart:38:5
_accessibilityAnnouncements == null
"AccessibilityAnnouncements is already initialized. This is likely a bug in Flutter Web engine initialization. Please file an issue at https://github.com/flutter/flutter/issues/new/choose"
dart-sdk/lib/internal/js_dev_runtime/private/ddc_runtime/errors.dart 288:49      throw
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 29:3        assertFailed
lib/_engine/engine/semantics/accessibility.dart 38:33                             initializeAccessibilityAnnouncements
lib/_engine/engine/initialization.dart 227:3                                      initializeEngineUi
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54                runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5                _async
lib/_engine/engine/initialization.dart 212:32                                     initializeEngineUi
lib/ui/initialization.dart 75:20
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 84:54                runBody
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 123:5                _async
lib/ui/initialization.dart 71:16
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 367:37  _checkAndCall
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 431:10  callMethod
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 435:5   dsend
lib/_engine/engine/app_bootstrap.dart 31:18                                       autoStart
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 45:50
dart-sdk/lib/async/zone.dart 1661:54                                              runUnary
dart-sdk/lib/async/future_impl.dart 147:18                                        handleValue
dart-sdk/lib/async/future_impl.dart 784:44                                        handleValueCallback
dart-sdk/lib/async/future_impl.dart 813:13                                        _propagateToListeners
dart-sdk/lib/async/future_impl.dart 584:5                                         [_completeWithValue]
dart-sdk/lib/async/future.dart 531:22
dart-sdk/lib/async/zone.dart 1661:54                                              runUnary
dart-sdk/lib/async/future_impl.dart 147:18                                        handleValue
dart-sdk/lib/async/future_impl.dart 784:44                                        handleValueCallback
dart-sdk/lib/async/future_impl.dart 813:13                                        _propagateToListeners
dart-sdk/lib/async/future_impl.dart 584:5                                         [_completeWithValue]
dart-sdk/lib/async/future.dart 531:22
dart-sdk/lib/async/zone.dart 1661:54                                              runUnary
dart-sdk/lib/async/future_impl.dart 147:18                                        handleValue
dart-sdk/lib/async/future_impl.dart 784:44                                        handleValueCallback
dart-sdk/lib/async/future_impl.dart 813:13                                        _propagateToListeners
dart-sdk/lib/async/future_impl.dart 584:5                                         [_completeWithValue]
dart-sdk/lib/async/future_impl.dart 657:7                                         callback
dart-sdk/lib/async/schedule_microtask.dart 40:11                                  _microtaskLoop
dart-sdk/lib/async/schedule_microtask.dart 49:5                                   _startMicrotaskLoop
dart-sdk/lib/_internal/js_dev_runtime/patch/async_patch.dart 177:15
Code sample

Screenshots or Video

Logs
No response
Flutter Doctor output
Doctor output
[√] Flutter (Channel stable, 3.10.5, on Microsoft Windows [Version 10.0.17763.4499], locale en-NL)
    • Flutter version 3.10.5 on channel stable at C:\Users\at\AppData\Local\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 796c8ef792 (6 days ago), 2023-06-13 15:51:02 -0700
    • Engine revision 45f6e00911
    • Dart version 3.0.5
    • DevTools version 2.23.1

[√] Windows Version (Installed version of Windows is version 10 or higher)

[√] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
    • Android SDK at C:\Users\at\AppData\Local\Android\sdk
    • Platform android-33, build-tools 33.0.1
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.11+9-b60-7590822)
    • All Android licenses accepted.

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

[√] Visual Studio - develop for Windows (Visual Studio Community 2022 17.1.4)
    • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022 version 17.1.32407.343
    • Windows 10 SDK version 10.0.19041.0

[√] Android Studio (version 2021.1)
    • Android Studio at C:\Program Files\Android\Android Studio
    • 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.11+9-b60-7590822)

[√] VS Code (version 1.79.2)
    • VS Code at C:\Users\at\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.66.0

[√] Connected device (2 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.17763.4499]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 114.0.5735.134

[√] Network resources
    • All expected network resources are available.

• No issues found!

Hi @MacDeveloper1. For this issue to be workable, we'd need a step-by-step process to reproduce this issue. Can you try to observe when this issue is reproduced and provide the process?


Specify data endpoint when invoking $apply on a PlanDefinition

IMPORTANT: All PRs must be linked to an issue (except for extremely trivial and straightforward changes).
Fixes #1981
Description
The data endpoint needs to be specified when invoking $apply on a PlanDefinition that contains an applicability condition represented as a CQL expression defined in a Library resource. If this is not set, the CQL logic will not be evaluated and the corresponding PlanDefinition action will not be executed.
Type
Choose one: Bug fix
Checklist

[x] I have read and acknowledged the Code of conduct.
[x] I have read the Contributing page.
[x] I have signed the Google Individual CLA, or I am covered by my company's Corporate CLA.
[x] I have discussed my proposed solution with code owners in the linked issue(s) and we have agreed upon the general approach.
[x] I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the style guide of this project.
[x] I have run ./gradlew check and ./gradlew connectedCheck to test my changes locally.
[x] I have built and run the demo app(s) to verify my change fixes the issue and/or does not break the demo app(s).

Looping in @vitorpamplona


fix: return to ballotpopup

A valid 'return to' param wasn't in the allow list. This updates the allow list and adds a test.

fyi @jennifer-richards: @rjsparks pointed out that the 'return to' param when coming from a modal doesn't make sense. Bootstrap modals are configured to scrape an modal template route (eg /doc/draft-ietf-opsawg-ipfix-tcpo-v6eh/ballotpopup/998718/) and then display that as a modal, so the 'return to' is the modal template route not the originating page from which the modal opened. This means there's a new layer of indirection when opening via modals, so the fix is to

update the modal template route to take a param, rather than using request.path, and validate the param using the same logic as before.
ensure every place that uses the ballot_icon template tag is added to the allow list of valid 'return to' route handlers. This is a bit like playing whack-a-mole, but I think I've found every usage.

This is a bit like playing whack-a-mole, but I think I've found every usage.

@jennifer-richards fyi here's my notes on tracing back from search_result_row.html
search_result_row.html
	search_results.html
		view_list.html
			ietf/community/views.view_list
		drafts_for_ad.html
			ietf/doc/views_search.docs_for_ad
		drafts_in_last_call.html
			ietf/doc/views_search.drafts_in_last_call
		recent_drafts.html
			ietf/doc/views_search.recent_drafts
		search/search.html
			ietf/doc/views_search.search
		group_documents.html
			ietf/group/views.group_documents
		stream_documents.html
			ietf/group/views.stream_documents
	agenda_documents.html
		ietf/iesg/views.agenda_documents

(those views are in the allowed list)


Dynamically specify tree view actions

Today, View Actions need to be registered up front by the contributes section of the package manifest. We can then use the tree node's context to decide when to display this action. The action can then invoke a pre-defined command.
Instead, I'd like my service driving the tree view to support dynamically associating actions with tree views and their children. A TreeItem supports setting a command property, which will be invoked upon clicking the item in the tree. Instead I'd like to support a list of dynamically created commands via the view/item/context location.

@mattseddon when clauses are needed, but there still isn't quite enough flexibility to make this easy. What I need to do today, including my workaround to support this:

Pre-define which view action menu items could possibly be set by my extension in package.json.
a. Give the following when clause in my view item in package.json: viewItem =~ /(^|,)my-extension.menu.my-interesting-command($|,)/ i.e. check for my-extension.menu.my-interesting-command as either the only item on this node's context, or it's in a comma separated list in this node's context.
Pre-define the commands to go with these view actions, in my case my-extension.menu.my-interesting-command (note the context and command don't need to share IDs, but I did this for simplicity)
Create a TreeItem implementation like so:
a.

class MyTreeItem extends TreeItem {
  constructor(label: string) {
    super(label);
  }
  ...
  commands?: Command[];
}

b.
  myTreeItem.contextValue = lspExtensionResponse.commands.map(commandObj=> commandObj.command).join(',');
  myTreeItem.commands = lspExtensionResponse.commands;

in my extension.tsx, add something like so:
a. commands.registerCommand(my-extension.menu.my-interesting-command, (node) => doInterestingThing(node)).

This is all fine, except if I need to add a new command on the server, I have to mimic the pattern matching I introduced in the package.json for each client side command. Instead, I'd love if I could simply specify treeItem.commands = lspExtensionResponse.commands and this results in the view action context menu being populated with a list of the commands that my lsp extension response returned.


#237 escape channel name

I just push this fix with the sanitize markdown function from utils
https://github.com/grunch/p2plnbot/commit/4a90e56e7da197324839bd6ee6794435e210cab1

Thanks anyways 😃


[CICD] CD 테스트

📝 Jacoco Test Coverage Report

Overall Project
60%
:x:

There is no coverage information present for the Files changed


Update io.github.java-diff-utils:java-diff-utils to 4.4 or higher

Hi,
The CVE-2023-4759 is reported against org.eclipse.jgit:org.eclipse.jgit, which is a transitive dependency from io.github.java-diff-utils:java-diff-utils:4.0 present error_prone_check_api.
I want to update io.github.java-diff-utils:java-diff-utils from 4.0 to 4.4 where org.eclipse.jgit:org.eclipse.jgit is not present.
Will there be any breaking changes in error_prone_check_api if I update?
Please let me know.
Kind regards,
Manjunath

It looks like this upgrade is runtime compatible, so yes you can upgrade. Source compatibility requires only minor changes; I filed #4085.


Sb update v1.3.2b test

Test recipe / Prefect builds.

Hi! This is the friendly automated conda-forge-linting service.
I was trying to look for recipes to lint for you, but it appears we have a merge conflict.
Please try to merge or rebase with the base branch to resolve this conflict.
Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.


Proxy-pallet: Add an extrinsic to delete all storagemaps info

[x] Add an extrinsic to delete all storage maps from Proxy Financial Pallet
[ ] Add a removeorigin

Backend done.
@tlacloc


Dalfox uses the filename instead of it's content on the file mode

the tools seem to be loading the filename instead of its real content using the file mode. I'm using dalfox latest version.
here are the commands I used:
Command
dalfox -b username.xss.ht file ~/tools/ParamSpider/output/target.com.txt

Results:

    _..._
  .' .::::.   __   _   _    ___ _ __ __
 :  :::::::: |  \ / \ | |  | __/ \\ V /
 :  :::::::: | o ) o || |_ | _( o )) (
 '. '::::::' |__/|_n_||___||_| \_//_n_\
   '-.::''

Parameter Analysis and XSS Scanning tool based on golang
Finder Of XSS and Dal is the Korean pronunciation of moon. @hahwul
[*] Using file mode(targets list)
[*] Loaded 0 target urls

Second Command:
dalfox -b username.xss.ht file test

Results:

    _..._
  .' .::::.   __   _   _    ___ _ __ __
 :  :::::::: |  \ / \ | |  | __/ \\ V /
 :  :::::::: | o ) o || |_ | _( o )) (
 '. '::::::' |__/|_n_||___||_| \_//_n_\
   '-.::''

Parameter Analysis and XSS Scanning tool based on golang
Finder Of XSS and Dal is the Korean pronunciation of moon. @hahwul
[*] Using file mode(targets list)
[*] Loaded 1 target urls
[*] Target URL: test
[E] not running Get lol: unsupported protocol scheme ""

Hi @DEMON1A
Thank you for submit issue!
What are the contents of the file? unsupported protocol scheme errors are usually problems that occur when a string is not a protocol or URL that is not used on the web.

it's just a Wayback URLs with parameters and it's value is FUZZ. all of them are HTTP and HTTPs but not all of them are live URLs.

Here's an example from the real file.
[root@demonia]:~/tools/ParamSpider/output - cat hackerone.com.txt | head
https://hackerone.com/sirmatrix?disclosed=FUZZ
https://www.hackerone.com/sites/default/files/styles/large/public/hpsr-facts.png?itok=FUZZ
https://hackerone.com/mjangda?disclosed=FUZZ
https://hackerone.com/sanjogpanda?disclosed=FUZZ
https://hackerone.com/zerohat?disclosed=FUZZ
https://hackerone.com/todayisnew?sort_type=FUZZ
https://hackerone.com/monero/policy_versions?change=FUZZ
https://hackerone.com/laceratus?disclosed=FUZZ
https://hackerone.com/hacktivity?sort_type=FUZZ
https://www.hackerone.com/sites/default/files/styles/medium/public/unnamed-4.jpg?itok=FUZZ

Also, lol sorry. the test file on the second results was lol but I changed it into test on the issue and I forgot to edit lol on the results. my bad.

@DEMON1A
Oh, is that settled? That's a relief!

Oh. Sorry about that. you didn't really understand me. the lol word on the results is the same as the file name. I just changed the filename from lol into test while adding the results into the issue. BTW. I downloaded the source code and I used go without building it. the tool seems to be working while using it via the source. but in the binary, it doesn't really handle it well. I don't really think it's your code issue. go is a new language it might contain a lot of issues. Here are the testing results.
[root@demonia]:~/Dief/Coding/dalfox - go run dalfox.go file test.txt

    _..._
  .' .::::.   __   _   _    ___ _ __ __
 :  :::::::: |  \ / \ | |  | __/ \\ V /
 :  :::::::: | o ) o || |_ | _( o )) (
 '. '::::::' |__/|_n_||___||_| \_//_n_\
   '-.::''

Parameter Analysis and XSS Scanning tool based on golang
Finder Of XSS and Dal is the Korean pronunciation of moon. @hahwul
[*] Using file mode(targets list)
[*] Loaded 3 target urls
[*] Loaded 3 target urls
[*] Target URL: https://slack.com/
[*] Vaild target [ code:302 / size:0 ]
[*] Using dictionary mining option [list=GF-Patterns] 📚⛏
[*] Using DOM mining option 📦⛏
[*] Start BAV(Basic Another Vulnerability) analysis / [sqli, ssti, OpenRedirect]  🔍
[*] Start static analysis.. 🔍
[*] Start parameter analysis.. 🔍
[*] BAV analysis done ✓
[I] Found 2 testing point in DOM Mining
[*] Static analysis done ✓ routines
 ◤  URLs(1 / 3) :: Waiting routines ^Csignal: interrupt
[root@demonia-:~/Dief/Coding/dalfox - ^C
[root@demonia]:~/Dief/Coding/dalfox - dalfox file test.txt

    _..._
  .' .::::.   __   _   _    ___ _ __ __
 :  :::::::: |  \ / \ | |  | __/ \\ V /
 :  :::::::: | o ) o || |_ | _( o )) (
 '. '::::::' |__/|_n_||___||_| \_//_n_\
   '-.::''

Parameter Analysis and XSS Scanning tool based on golang
Finder Of XSS and Dal is the Korean pronunciation of moon. @hahwul
[*] Using file mode(targets list)
[*] Loaded 0 target urls
[root@demonia]:~/Dief/Coding/dalfox -

I think as a quick fix I won't use the binary anymore. I will create a bash alias that runs dalfox from the source code itself on the ~/Tools directory. I'm sorry for wasting your time with that I should test the source earlier.

Hi @DEMON1A
Oh, I just triggered it too! Is it a binary installed with snapcraft?
my test log
$ dalfox file samples/sample_target.txt

[x] builded binary (go build)
[x] builded binary (go get / go install)
[ ] from snapcraft
[x] from homebrew

and If it's snapcraft, it could be about permission. snapcraft is very strict about permission. I'll look for more! Thank you very much.

I installed the tool using go get. with root on my VPS. I didn't really use snapcraft.

https://snapcraft.io/docs/home-interface

@DEMON1A
It's weird... because it's all(go-get/go-build/go-run/go-install) in the same environment.
As you can see from the above commit, I did find a problem with snapcraft. So I just proceeded with an additional patch.
First of all, if you had installed it with go get, it would have been built on the path ~/go/bin/dalfox, so please test it again with the tool of that path.

@DEMON1A
First of all, I just released the revised v2.2.1 (fixed similar issue to this, only snapcraft). The snap version of dalfox may have been installed due to other tools, so please check it with a light heart!
if your not installed
$ sudo snap refresh dalfox
snap "dalfox" is not installed

if you insatlled
$ sudo snap refresh dalfox

updating...

Hi @hahwul
I just tested it with snap now on the new version. it works fine now without any problems and it loads the file content.
[root@demonia]:~ - echo "https://slack.com/" > test.txt
[root@demonia]:~ - dalfox file test.txt

    _..._
  .' .::::.   __   _   _    ___ _ __ __
 :  :::::::: |  \ / \ | |  | __/ \\ V /
 :  :::::::: | o ) o || |_ | _( o )) (
 '. '::::::' |__/|_n_||___||_| \_//_n_\
   '-.::''

Parameter Analysis and XSS Scanning tool based on golang
Finder Of XSS and Dal is the Korean pronunciation of moon. @hahwul
[*] Using file mode(targets list)
[*] Loaded 1 target urls
[*] Target URL: https://slack.com/
[*] Vaild target [ code:302 / size:0 ]
[*] Using dictionary mining option [list=GF-Patterns] 📚⛏
[*] Using DOM mining option 📦⛏
[*] Start BAV(Basic Another Vulnerability) analysis / [sqli, ssti, OpenRedirect]  🔍
[*] Start static analysis.. 🔍
[*] Start parameter analysis.. 🔍
[*] BAV analysis done ✓
[I] Found 2 testing point in DOM Mining

Bless up ☝🏾
On 31 Oct 2020, 00:51 +0000, Mohamed Dief<EMAIL_ADDRESS>wrote:

Hi @hahwul
I just tested it with snap now on the new version. it works fine now without any problems and it loads the file content.
[root@demonia]:~ - echo "https://slack.com/" > test.txt
[root@demonia]:~ - dalfox file test.txt
...
.' .::::.   __   _   _    ___ _ __ __
:  :::::::: |  \ / \ | |  | __/ \ V /
:  :::::::: | o ) o || |_ | _( o )) (
'. '::::::' |/|n||||| _//n\
'-.::''
Parameter Analysis and XSS Scanning tool based on golang
Finder Of XSS and Dal is the Korean pronunciation of moon. @hahwul
[*] Using file mode(targets list)
[*] Loaded 1 target urls
[*] Target URL: https://slack.com/
[*] Vaild target [ code:302 / size:0 ]
[*] Using dictionary mining option [list=GF-Patterns] 📚⛏
[*] Using DOM mining option 📦⛏
[*] Start BAV(Basic Another Vulnerability) analysis / [sqli, ssti, OpenRedirect]  🔍
[*] Start static analysis.. 🔍
[*] Start parameter analysis.. 🔍
[*] BAV analysis done ✓
[I] Found 2 testing point in DOM Mining
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Just another update here.
go get was working. but the problem here was that dalfox binary was already on my VPS snap directory and i didn't notice it. so when i installed dalfox using go get the system didn't use the go binary. but it used the snap one instead. there's really no problem with the go binary. sorry about that. i didn't actually know that someone installed dalfox on the VPS before.

@DEMON1A
I don't think there's anything special, so I'll close the issue! If you have a problem, please open it again!
Cheers :D

Ok thanks
Get Outlook for iOShttps://aka.ms/o0ukef

From: HAHWUL<EMAIL_ADDRESS>Sent: Wednesday, November 18, 2020 2:32:11 PM
To: hahwul/dalfox<EMAIL_ADDRESS>Cc: spook95<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [hahwul/dalfox] Dalfox uses the filename instead of it's content on the file mode (#134)
Closed #134https://github.com/hahwul/dalfox/issues/134.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/hahwul/dalfox/issues/134#event-4010977645, or unsubscribehttps://github.com/notifications/unsubscribe-auth/APH5BTNDU62LPIPQKVJ2P4DSQPLGXANCNFSM4TB4YI2A.


Is compatible with angular 4

I read all the documentation and I do not find it compatible with angular 4

Personally i use it with latest angular version, there is no problem with that (angular 2 and 4 are not so different)


Add option to download from ENA

Some datasets are not available from SRA, but at least based on preliminary spot checking, are available from ENA. While this could be handled with manual downloading and local fastqs, to improve robustness and reliability the best solution is to add an option to download from ENA.
To do this, we will use the Java ENA downloader command line application, and modify the get_fastq_pe rule to try ENA if the NCBI download returns a non-zero exit code.
Currently working on this issue in the dev branch.

Update: Java downloader is not maintained, and the python scripts throw a malformed URL error that has been a Github issue for over a month without being addressed. So going to constructing our own wget statement.
Please report use cases where the current URL construction breaks, as it appears that the current ENA FTP structure may not be entirely predictable based on accession.

Tentatively have a working solution in dev. Some issues/questions:
For speed/efficiency/code simplicity, I have refactored the get_fastq_pe rule to:

Attempt to download the .sra file from NCBI using prefetch
If that fails, attempt to download the .sra file from ENA using wget
Convert the .sra to fastq using fasterq-dump

There are a few quirks to this procedure, however:

Despite having an option to specify a directory other than the current working directory for prefetch, fasterq-dump does not like processing downloaded files that are not in the current working directory based on my initial testing. In theory there should be a way to do this but I have not attempted to solve this. The consequence is that running the pipeline will now produce a number of temporary .sra files in the working directory while snakemake is running. Thoughts on how annoying this is? These files are deleted once fasterq-dump runs successfully.
This may be marginally less CPU efficient, as prefetch/wget are not multi-threaded, while fasterq-dump is. But I suspect that fasterq-dump is just doing prefetch under the hood anyway, so it shouldn't matter.
On the flip side, this may be marginally more robust to network issues, as prefetch can restart failed downloads.

I will leave this up for comment/discussion/further testing for a bit, and will submit pull request once we are all satisfied and I have had a chance to test a few species runs with this new code.

Adding another note: so far I have found a few cases where ENA does not have .sra files, but does appear to have fastq.gz files. Could add an option to try there...
ERR2697483 is an example of this case.


gherkin/objective-c: Parser usage documentation needs improvement

Disclaimer
I have limited experience working in Swift and 0 experience working with Objective-C. It is entirely possible (and very likely) that I'm not doing something super obvious or that I'm misunderstanding something.
Summary
I'm currently working on a Swift project that involves the parsing of Gherkin files. I would very much like to use the existing Obj-c parser that lives in this repo. I've been struggling to do so for a few reasons:

There is no documentation that I could find specifying exactly what code needs to be included to use the library. Do I need the whole sub-repo? Do I need just the files under objective-c/Gherkin? For now I've gone with the latter which seems to mostly work.
The snippet of obj-c code in gherkin/README.md from what I can tell doesn't reflect the library's actual implementation, specifically on the line that reads GHGherkinDocument * result = [parser parseContent:content];

Environment
Because I'm attempting to use this library in a Swift environment I feel that I should document here how I've gotten to where I am now.
I'm developing with Swift 5.2.4 in XCode 11.7. To add the library to my project I cloned the objective-c repo and copied the entire Gherkin directory into my target. I created an Objective-c bridging header which contains the following line: #import "GHParser+Extensions.h". In my Swift file I have the following code:
let featureFilePath = "someFile.feature"
var content: String?

do {
    content = try String(contentsOfFile: featureFilePath, encoding: .utf8)
} catch let error {
    print(error)
}

if (content?.trimmingCharacters(in: .whitespacesAndNewlines).count ?? 0) == 0 {
    print("No content")
    return
}

let parser = GHParser()
let result = parser.parseContent(content)

Expected Behavior
The behavior I would expect from the above code is that my feature file is parsed and the results are stored in the result variable.
Current Behavior
What I'm seeing instead is that the method parseContent() doesn't exist on GHParser. I took a peek inside the GHParser .h and .m files and the only 'parse' methods I see are the two parseWithTokenScanner().

Hi @JacobHearst
We haven't had a maintainer of gherkin/objective-c for 3-4 years. We've kept the code in the source tree in case someone wants to pick it up, but it isn't currently part of the build.
The maintained versions are java/go/ruby/javascript/dotnet - and they have evolved quite a bit since the objective-c implementation stopped being maintained.
I've got 0 experience with Swift/ObjC myself, and I don't have capacity to help out with it either I'm afraid.
If someone could help bring the codebase uptodate with the other maintained implementations we could re-enable it.
The structs generated by the parser are now based on protobuf (see the messages library), so that would probably be the best place to start.

An update as I've dug around a bit more, there is in fact a definition for parse() that accepts a string, it lives in the GHParser+Extensions .h and .m files

For anybody else that needs to work with this parser in their code, the following snippet worked for me:
let featureFilePath = "someFile.feature"
var content: String?

do {
    content = try String(contentsOfFile: featureFilePath, encoding: .utf8)
} catch let error {
    print(error)
}

if (content?.trimmingCharacters(in: .whitespacesAndNewlines).count ?? 0) == 0 {
    print("No content")
    return
}

let parser = GHParser()
parser.parse(withTokenScanner: GHTokenScanner(contentsOfFile: content))

@aslakhellesoy hi, any differences between https://github.com/cucumber/gherkin-objective-c and gherkin/objective-c? I'm quite interesting in this, maybe I will try to take a look.

any differences between https://github.com/cucumber/gherkin-objective-c and gherkin/objective-c

The former is a read-only mirror of the latter. Changes/PRs should be made against this repo.


Stable version 3.5

Now, the current template has 3 variants in a single template. It may take some extra time to build your site.
stable version
I wanted to make this template clean and stable. So, I proposed a solution,

I noticed that, V3 and v2 are mostly used by many people.
So, The V1 will be removed in the future version
And V2 will be released as a separate template from V3.5
Finnaly, V3 alone will be maintained here

features

Bootstrap 5
Dark mode
Customizable colors

Suggest features you want to add. Please, share your opinion for making a better version.
Note: This template will be stable from the V3.5

Here after, V2 will be maintained here

V2 is Here

Note:  V1 will be removed further

I added a time calculation (here: https://github.com/lr1980/hugo-profile/commit/1a6331cf62c0a95be3025f5e64cdaff30b6e4643)
  experience:
    - company: "Google"
      role: "Software developer"
      startdate: 2021-02-01
      enddate: now

But this commit on my fork based on other changes (e.g.: https://github.com/gurusabarish/hugo-profile/pull/38)


Add support for passing build args via --build-arg flag

build args had been almost there but a command-line flag to actually pass it to imagebuilder.
This commit adds the flag so that imagebuilder supports --build-arg which populates a value for ARG in Dockerfile.
Note that there seems like a bit difference between docker-build and imagebuilder regarding --build-arg:

docker-build is known to leave the build args used while building inside the image metadata
imagebuilder doesn't leave the build args there

I'm not sure why imagebuilder's implementation doesn't leave build args in image metadata but it seems like a slightly preferable behavior.
docker-build's build args are often used to pass secret variables to a docker-bulid context, which ends up leaving the secrets inside the docker image.
imagebuilder users won't be trapped like this due to the different behavior.
$ docker build --build-arg foo=bar1 -t buildargtester1 .
Sending build context to Docker daemon  17.63MB
Step 1/4 : FROM alpine:3.7
 ---> 3fd9065eaf02
Step 2/4 : ARG foo
 ---> Using cache
 ---> 6c16d009e365
Step 3/4 : RUN echo $foo > foo.out
 ---> Running in 242096e61485
 ---> 6ef29b90049e
Removing intermediate container 242096e61485
Step 4/4 : RUN cat foo.out
 ---> Running in 2d3895b73aa9
bar1
 ---> 2d76605b424a
Removing intermediate container 2d3895b73aa9
Successfully built 2d76605b424a
Successfully tagged buildargtester1:latest

$ docker run -it --rm buildargtester1 cat foo.out
bar1

$ docker inspect buildargtester1 | grep bar1
                "foo=bar1",

$ ./myimagebuilder --build-arg foo=bar2 -t buildargtester2 .
--> FROM alpine:3.7
--> ARG foo
--> RUN echo $foo > foo.out
--> RUN cat foo.out
bar2
--> Committing changes to buildargtester2 ...
--> Done

$ docker run -it --rm buildargtester2 cat foo.out
bar2

$ docker inspect buildargtester2 | grep bar2

One comment, then this is LGTM

@smarterclayton Thanks for reviewing! Fixed it.


Minilevel Issue

Implementing Tubes in Mini Level
We plan to create two tubes in the mini-level, where one of them is positioned at the top left corner of the screen:

When the mini level loads, the player is supposed to spawn from inside the tube and drop downwards. (This action is supposed to happen after the player jumps through the tube on the main level).
I created the tube image by turning the tube upside down and into a blue color:

Then, I created a copy of the Tube.js file and made some adjustments to positioning the image, like changing the tubeX and tubeY values. I also changed the values inside ctx.drawImage so that the entire image is drawn:
// Draw position is always 0,0
    draw() {
        this.ctx.drawImage(this.image,0,-130);
    }

    // Set Tube position
    size() {
        // Formula for Height should be on constant ratio, using a proportion of 832
        const scaledHeight = GameEnv.innerHeight * (100 / 832);
        // Formula for Width is scaled: scaledWidth/scaledHeight == this.width/this.height
        const scaledWidth = scaledHeight * this.aspect_ratio;
        const tubeX = .01 * GameEnv.innerWidth;
        const tubeY = (GameEnv.top + 0.003*scaledHeight);

        // set variables used in Display and Collision algorithms
        this.bottom = tubeY;
        this.collisionHeight = scaledHeight;
        this.collisionWidth = scaledWidth;

        //this.canvas.width = this.width;
        //this.canvas.height = this.height;
        this.canvas.style.width = `${scaledWidth}px`;
        this.canvas.style.height = `${scaledHeight}px`;
        this.canvas.style.position = 'absolute';
        this.canvas.style.left = `${tubeX}px`;
        this.canvas.style.top = `${tubeY}px`;

    }

To make the player spawn in the same x as the tube, I added this.setX() and made it set to tubeX:
constructor(canvas, image, data) {
        super(canvas, image, data);
        const tubeX = .01 * GameEnv.innerWidth;
        this.setX(tubeX);

        // Goomba variables, deprecate?
        this.timer = false;
        GameEnv.invincible = false; // Player is not invincible

    }

This is still a work in progress, as I haven't figure out a way to adjust the y of the player spawn point and set it equal to the tubeY so that the player falls out of the tube upon loading into the mini-level.

Mini Level creation

Level within our group level

1. Level creation
Take the current alien level and duplicate it
(change all game assets and add new background and elements)
Original code:

  new GameLevel( {tag: "avenida", callback: this.playerOffScreenCallBack, objects: avenidaGameObjects } );
// Space Game Level definition...
        const spaceGameObjects = [
          // GameObject(s), the order is important to z-index...
          { name: 'space', id: 'background', class: Background, data: this.assets.backgrounds.space },
          { name: 'grass', id: 'platform', class: Platform, data: this.assets.platforms.grass },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.alien, xPercentage: 0.2, yPercentage: 0.85 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.alien, xPercentage: 0.2368, yPercentage: 0.85 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.alien, xPercentage: 0.5, yPercentage: 0.85 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.alien, xPercentage: 0.5368, yPercentage: 0.85 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.alien, xPercentage: 0.4, yPercentage: 1 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.alien, xPercentage: 0.4, yPercentage: 0.9 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.alien, xPercentage: 0.4, yPercentage: 0.8 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.alien, xPercentage: 0.4, yPercentage: 0.7 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.alien, xPercentage: 0.4, yPercentage: 0.6 },
          { name: 'alien', id: 'alien', class: Alien, data: this.assets.enemies.alien, xPercentage:  0.3, minPosition: 0.07 },
          { name: 'alien', id: 'alien', class: Alien, data: this.assets.enemies.alien, xPercentage:  0.5, minPosition: 0.3 },
          { name: 'alienSpecial', id: 'alien', class: Alien, data: this.assets.enemies.alien, xPercentage:  0.75, minPosition: 0.5 }, //this special name is used for random event 2 to make sure that only one of the Goombas ends the random event
          { name: 'flyingUFO', id: 'flyingUFO', class: FlyingUFO, data: this.assets.enemies.flyingUFO, xPercentage:  0.1, minPosition:  0.05},
          { name: 'flyingUFO', id: 'flyingUFO', class: FlyingUFO, data: this.assets.enemies.flyingUFO, xPercentage:  0.5, minPosition:  0.05},
          { name: 'monkey', id: 'player', class: Player, data: this.assets.players.monkey },
          { name: 'tree', id: 'tree', class: Tree, data: this.assets.obstacles.tree },
          { name: 'complete2', id: 'background', class: BackgroundTransitions,  data: this.assets.backgrounds.complete2 },
        ];

2. Const
Create new level by changing "const spaceGameObjects" to "const miniGameObjects"
  new GameLevel( {tag: "avenida", callback: this.playerOffScreenCallBack, objects: avenidaGameObjects } );
// Space Game Level definition...
        const miniGameObjects = [

3. Objects
Remove all game objects
        new GameLevel( {tag: "avenida", callback: this.playerOffScreenCallBack, objects: avenidaGameObjects } );

        // Space Game Level definition...
        const miniGameObjects = [
          // GameObject(s), the order is important to z-index...

        ];

4. Background
Find background image and import it and name it then add to GameSetup.js
        start: { src: "/images/platformer/backgrounds/home.png" },
        hills: { src: "/images/platformer/backgrounds/hills.png" },
        avenida: { src: "/images/platformer/backgrounds/avenidawide3.jpg" },
        mountains: { src: "/images/platformer/backgrounds/mountains.jpg" },
        clouds : { src: "/images/platformer/backgrounds/clouds.png"},
        space: { src: "/images/platformer/backgrounds/planet.jpg" },
        mini: { src: "/images/platformer/backgrounds/mini.png" },
        castles: { src: "/images/platformer/backgrounds/castles.png" },
        loading: { src: "/images/platformer/backgrounds/greenscreen.png" },
        complete: { src: "/images/platformer/backgrounds/OneStar.png" },
        complete2: { src: "/images/platformer/backgrounds/TwoStar.png" },
        end: { src: "/images/platformer/backgrounds/Congratulations!!!.png" }

        mini: { src: "/images/platformer/backgrounds/mini.png" },

5. Game objects (Not Completed)
Create and add new game objects to the new mini level in GameSetup.js
Add the new background created above
 const miniGameObjects = [
          // GameObject(s), the order is important to z-index...
          { name: 'mini', id: 'background', class: Background, data: this.assets.backgrounds.mini },
          { name: 'rock', id: 'platform', class: Platform, data: this.assets.platforms.rock },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.59, yPercentage: 0.35 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.6268, yPercentage: 0.35 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.3, yPercentage: 0.35 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.3368, yPercentage: 0.35 },

          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.3, yPercentage: 0.85 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.3368, yPercentage: 0.85 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.4684, yPercentage: 0.85 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.6, yPercentage: 0.85 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.6368, yPercentage: 0.85 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.3736, yPercentage: 0.35 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.3736, yPercentage: 0.4334 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.3736, yPercentage: 0.5167 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.3736, yPercentage: 0.6 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.4104, yPercentage: 0.6 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.4472, yPercentage: 0.6 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.484, yPercentage: 0.6 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.5208, yPercentage: 0.6 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.5576, yPercentage: 0.6 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.5576, yPercentage: 0.5167 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.5576, yPercentage: 0.4334 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.5576, yPercentage: 0.35 },
          { name: 'blocks', id: 'jumpPlatform', class: BlockPlatform, data: this.assets.platforms.lava, xPercentage: 0.5576, yPercentage: 1.05 },
          { name: 'coin', id: 'coin', class: Coin, data: this.assets.obstacles.coin, xPercentage: 0.29, yPercentage: 0.75 },
          { name: 'coin', id: 'coin', class: Coin, data: this.assets.obstacles.coin, xPercentage: 0.33, yPercentage: 0.75 },
          { name: 'coin', id: 'coin', class: Coin, data: this.assets.obstacles.coin, xPercentage: 0.4584, yPercentage: 0.75 },
          { name: 'coin', id: 'coin', class: Coin, data: this.assets.obstacles.coin, xPercentage: 0.37, yPercentage: 0.5 },
          { name: 'coin', id: 'coin', class: Coin, data: this.assets.obstacles.coin, xPercentage: 0.41, yPercentage: 0.5 },
          { name: 'coin', id: 'coin', class: Coin, data: this.assets.obstacles.coin, xPercentage: 0.45, yPercentage: 0.5 },
          { name: 'coin', id: 'coin', class: Coin, data: this.assets.obstacles.coin, xPercentage: 0.49, yPercentage: 0.5 },
          { name: 'coin', id: 'coin', class: Coin, data: this.assets.obstacles.coin, xPercentage: 0.53, yPercentage: 0.5 },
          { name: 'coin', id: 'coin', class: Coin, data: this.assets.obstacles.coin, xPercentage: 0.57, yPercentage: 0.5 },
          { name: 'coin', id: 'coin', class: Coin, data: this.assets.obstacles.coin, xPercentage: 0.59, yPercentage: 0.75 },
          { name: 'coin', id: 'coin', class: Coin, data: this.assets.obstacles.coin, xPercentage: 0.63, yPercentage: 0.75 },
          { name: 'mario', id: 'player', class: PlayerHills, data: this.assets.players.mario },
          { name: 'tube', id: 'tube', class: Tube, data: this.assets.obstacles.tube },
          { name: 'complete', id: 'background', class: BackgroundTransitions,  data: this.assets.backgrounds.complete },
        ];
        // Space Game Level added to the GameEnv ...
        new GameLevel( {tag: "mini", callback: this.playerOffScreenCallBack, objects: miniGameObjects} );


Provide a "declaration" icon overlay

For C/C++ extension, we would like a "declaration" icon overlay.
the related vscode issue: https://github.com/microsoft/vscode/issues/23927
here is the cpptools related issue we want to address: https://github.com/microsoft/vscode-cpptools/issues/3117
The result our C/C++ extension wants is just the ability to have our completion/symbol icons match VS:
Completion has a max of 1 modifier:

Symbols has a max of 2 modifiers:

Looking at C#, they have an additional "internal" icon modifier too (the "protected internal" and "private protected" cases are not given unique icons). Only 1 modifier max.
From a UI design/implementation perspective, it seems like the max icon modifiers would be around 3, with the base icon image rendered in the top left (bigger than the modifiers), and potential modifiers rendered on the bottom left, bottom right, and top right. Unless modifiers could change rendering of the base icon in other ways, such as color modulation or a transparent overlay over the entire base icon (e.g. "strikeout").

/duplicate of #23927
Close this as dupe because #23927 is about the design and candidates for overlay. Please add a comment there with what "modifier" you need

/duplicate of #23927
Close this as dupe because #23927 is about the design and candidates for overlay. Please add a comment there with what "modifier" you need

@jrieken The conversation on the #23927 issue is locked and limited to collaborators. Would you please unlock it?

@jrieken The conversation on the #23927 issue is locked and limited to collaborators. Would you please unlock it?

Oh, sorry. I got that wrong..

Oh, sorry. I got that wrong..

The original bug report images has some errors. To summarize, with code
class foo
{
public:
	int publicFuncDefinition(){}
	int publicFuncDeclaration();
private:
	int privateFuncDefinition(){}
	int privateFuncDeclaration();
protected:
	int protectedFuncDefinitio(){}
	int protectedFuncDeclaration();
};

we want to be able to provide results like

This is what our workaround looks like without icons:


Support spaCy trf models inside of Rasa

What problem are you trying to solve?
SpaCy comes with transformer models. I've noticed people asking for them (exhibit A) so maybe it's time to implement them. Supporting this feature would involve adding another dependency to the toolchain though.
@dakshvar22 do you have any strong opinions on this? I'm willing to pick this up if there's consensus on how we might want to support this.

hi! Does rasa support the trf models now? The issue is closed without further explanation on the current state.

hello @cqx931 , no it doesn't, but if you read the comment above, the issue as been migrated to Jira 😄


Lack of support for simlinks

in this pull request https://github.com/blackd/Inventory-Profiles/pull/197 imgbot didn't detect that /platforms/*/src/shared/ are simlinks to the same dir and processed the images as separate.
Also it didn't detect the real image in shared-sources/....

Hello, sorry for the late reply, it is the expected behaviour to print the optimization for symlinks (just the stats without adding any images), but it will only optimize the original image. I see from the pr that it optimized the original image from here: https://github.com/blackd/Inventory-Profiles/blob/fe67d0adc2483a950a8c182e888ad0e18d8b23e5/common/src/main/resources/assets/inventoryprofilesnext/textures/gui/gui_buttons.png and only added the symlinks in the optimization report. Let me know if I missed anything here?

oh I understand


'Int' and 'String' cannot be multiplied

//error: Cannot convert value of type 'Int' to specified type 'String'
let str =  'bar' * 5

参考了原生 String API 文档
// Swift.String
 @inlinable public static func + (lhs: String, rhs: String) -> String

SwifterSwift 中对 String 扩展的相关方法
// SwifterSwift/StringExtensions.swift

static func * (lhs: String, rhs: Int) -> String

static func * (lhs: Int, rhs: String) -> String

建议 String 与 Int 相乘的方法前增加 @inlinable

Apple usually doesn't recommend using @inlinable unless there's a reason for it. Have you run any tests that make you think it would run faster with that keyword?


Mex

I've noticed a huge area without airports in northern Mexico and found out all these cities are missing.
It also adds the missing airport requested on the forum and a nearby 100k city.

will probably merge this in tomorrow thanks!

@matittner are u going to add more or should i merge these and u open more PRs later?

I'm a little busy until xmas, so I don't think I'll add more stuff for about another 1-2w, but after that I plan on adding more missing stuff as discussed in the forum.
So, it is your call, smaller incremental changes or a big one later on, either are fine by me.

Thank you so much @matittner
Merging!


Quad mech cannot select melee with v

AdamBlade — 01/11/2022
Issue with melee while using 20t quad mech.
Attachment file type: archive
RogueLogs.zip
3.98 MB
Pressing V doesn't bring up the melee option.
I've tried even at point blank.
I've managed to trigger the menu to pop up if I hovered my mouse over my mech and then pressed 2.
But that seems kinda unintuitive. On regular mechs I don't need to do that.
I can't initiate the attack though. If i click attack it just brings up the move/rotate option.

RogueLogs.zip

hmmm,,,
@FancyRaptor
Animations do not include a kick or stomp, cannot kick.


Update wor-paginate.gemspec

Updated rails version

          1 Error

:no_entry_sign:
CHANGELOG.md needs to be changed

  Generated by :no_entry_sign: Danger


Update footer to align with coronawarn.app

Description
This PR updates the footer to match the one from coronawarn.app.
What was changed?
The file global.json which includes the settings for the footer.
Screenshots

DE
EN

@Ein-Tim
The https://www.coronawarn.app/en/accessibility/ page only refers to the website www.coronawarn.app.
The section of the README About this Repository says:
"This repository contains the source files of the official Corona-Warn-App landing page as it is available at e.coronawarn.app (for event-registration),s.coronawarn.app (for rapid antigen tests) & p.coronawarn.app (for rapid PCR tests)."
So there is no overlap between the Accessibility Statement URL coverage (www.coronawarn.app) and the URLs controlled by this repository ( e.coronawarn.app, s.coronawarn.app & p.coronawarn.app).
It would not be harmful to add the links in this PR, however I don't think it would be helpful.

@MikeMcC399
AFAIK the intention was to always keep the footer of the two pages aligned.

LGTM

@MikeMcC399 Very strange. I took the screenshots of this PR on my environment using the build instructions from this repositories README. I did not encounter the problem you described, and which is visible on both your local environment and the Vercel preview deployment, when taking the screenshots. Any idea what's wrong here?

@Ein-Tim

Any idea what's wrong here?

The site was never converted to be accessible and the code is missing.
In https://github.com/corona-warn-app/cwa-event-landingpage/issues/68#issuecomment-1409788189 I go into more detail and suggest to revert this PR.


Bug in system units querying logic: binary prefixes not yet queried

Forgotten to search into binary prefixes storage!

Fixed


ZED SVO Recording Error

Hi, I'm trying to run the ZED_SVO_Recording example. I get this:

ZED (Init) >> Video mode: HD720@60
ZED (Init) >> No calibration file found. Downloading it...
calibration file downloaded.
Recording initialization error. Error code: SVO Recording Error
Note : This error mostly comes from a wrong path or missing writing permissions.

I have write permissions to the directory I'm trying to dump the SVO to. What other permissions could be missing?

Hi,
You need to specify the filename with the extension ".svo"
Something like this :
./ZED_SVO_Recording ./file.svo

Ah, that worked. I was not giving it an extension. I've fixed it to handle this error better locally, but I'm using version 2.2. Dunno if a PR will help you. Thanks!

Hi,
You need to specify the filename with the extension ".svo"
Something like this :
./ZED_SVO_Recording ./file.svo

similar to this solution, in my case i find the extension need to be .svo only


Fix broken HAML file.

Fix a typo. Merge, pls.

@h-kataria : ping, :rose: or a :beer: for a quick review ;-)

@martinpovolny looks good. Merging


bug: Ionic2 CSS issue with nested lists

Type: bug
Ionic Version: 2.x
Platform: mobile browser
There is a CSS rule to prevent the last item in a ionic-list to have a bottom border (see item.ios.scss) :
.item:last-child .item-inner,
  ion-item-sliding:last-child .item-inner {
    border: 0;
  }
}

The problem is the selector:
ion-list > .item:last-child .item-inner
(and some similar selectors for sliding items)
If you have a nested list inside the last item of the parent list, the rule will apply to all the items in the nested list and none of them will have a border.
I suppose this could be fixed by using a selector with immediate child between item:last-child and item-inner.
I am not a very experienced mobile developer and so I don't know if nested lists are a usual use case. It was useful in my case anyway and I used it to show/hide extra details about the item of the parent list.

@HereThereBeMonsters I am going to close this issue since I can't imagine a good use case for nested lists. Please feel free to comment if you have a good use case.

I am not a very experienced mobile developer and so I don't know if nested lists are a usual use case. It was useful in my case anyway and I used it to show/hide extra details about the item of the parent list.

You can use ion-item-group.


Inconsistent data-sharing between +layout.server.ts and +layout.ts if route does not exist

Describe the bug
If we define the load method in the root +layout.server.ts like this:
import type { LayoutServerLoad } from './$types';

export const load: LayoutServerLoad = () => {
	return { year: 2024 };
};

And the load method in the root +layout.ts like this:
import type { LayoutLoad } from './$types';

export const ssr = false;

export const load: LayoutLoad = ({ data }) => {
	return { year: data.year };
};

It triggers an inconsistency in the sharing of data between +layout.server.ts and +layout.ts:
When going to a route that exists data contains the expected year property. But when going to a route that does not exist data is suddenly null.
This does not happen if ssr is set to true.
So to summarize:
If route exists

+layout.ts receives data from LayoutServerLoad if ssr is true ✅
+layout.ts receives data from LayoutServerLoad if ssr is false ✅

If route does not exist

+layout.ts receives data from LayoutServerLoad if ssr is true ✅
+layout.ts does not receive data from LayoutServerLoad if ssr is false ❌

Reproduction
https://github.com/MathiasWP/sveltekit-inconsistent-load-data-sharing
Logs
No response
System Info
System:
    OS: macOS 15.0.1
    CPU: (8) arm64 Apple M1 Pro
    Memory: 109.58 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.11.0 - ~/.nvm/versions/node/v20.11.0/bin/node
    npm: 10.2.4 - ~/.nvm/versions/node/v20.11.0/bin/npm
    pnpm: 9.7.0 - /opt/homebrew/bin/pnpm
    bun: 1.0.0 - ~/.bun/bin/bun
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 130.0.6723.70
    Edge: 130.0.2849.56
    Safari: 18.0.1
  npmPackages:
    @sveltejs/adapter-auto: ^3.0.0 => 3.3.1
    @sveltejs/kit: ^2.0.0 => 2.7.3
    @sveltejs/vite-plugin-svelte: ^4.0.0 => 4.0.0
    svelte: ^5.0.0 => 5.1.4
    vite: ^5.0.3 => 5.4.10

Severity
annoyance
Additional Information
No response

The difference is caused by the fact that, with SSR enabled, it's able to render a 404 error page on the server and avoid trying to load it on the client. In contrast, when the client tries to render the 404 error page, it tries to fetch the layout data from the server but fails because the route does not exist.
https://github.com/sveltejs/kit/blob/2668a7d5a84bea6ee0a67a18c1eb20cd64ab7874/packages/kit/src/runtime/client/client.js#L1110-L1127
We need to be able to return layout data for an error page although a route doesn't exist.


Improve bulk loading in Ralph and upgrade

When using Ralph, duplicates are checked, but will fail an entire batch of bulk loaded events if any of them is a duplicate. We should get this over the line and upgrade to the new version ASAP: https://github.com/openfun/ralph/issues/345
Currently we can work around this by bulk loading statements with a batch_size of 1, but that is vastly slower.

PR is in flight: https://github.com/openfun/ralph/pull/389

Ralph is upgraded here: https://github.com/openedx/tutor-contrib-aspects/pull/196


added product id to data components

Reason for change

Added resource details table

Testing

Codecov Report

Merging #92 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #92   +/-   ##
=======================================
  Coverage   60.65%   60.65%
=======================================
  Files          19       19
  Lines         366      366
  Branches      101      101
=======================================
  Hits          222      222
  Misses        142      142
  Partials        2        2

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 4800086...474bb39. Read the comment docs.

Still need to add tests


Indicator setup > Targets tab: Revisit target value validation (in connection with numeric input updates)

This ticket outlines our existing acceptance criteria related to validating numeric inputs of target values... minus anything related to special characters. (These are covered in #2082 and #2125.)
Issue
We need to allow individual periodic targets to be zero, while preventing the Life of Program target from being zero or being left blank. This logic currently exists on Prod, and we need to ensure that it is preserved in Goat Tree. I'd also like to take the opportunity to make some small tweaks to error messaging, to make the language more precise and consistent.
Acceptance criteria
Midline/endline targets

[x] 1. If I leave the Midline and/or Endline target field empty:

[x] 1.1. This message appears at the top:

[x] 1.2. Empty target fields are outlined in red.

[x] 1.3. An error messages appears on a pink background under the target table.

[x] 1.4. Text update: Please complete targets.

[x] 2. If I enter zero into both Midline and Endline fields:

[x] 2.1. There are no outlines around the periodic target fields containing a zero. (Individual targets are allowed to be zero.)

[x] 2.2. An error messages appears on a pink background under the target table.

[x] 2.3. Text change from the Prod screenshot above: The Life of Program (LoP) target cannot be zero. Please update targets.

[x] 3. If the indicator is a Cumulative # or % indicator AND I enter zero into the final periodic target field (resulting in a LoP value of 0):

[x] 3.1. We get the exact same response as if I'd entered zero into all periodic target fields -- no red outlines around numeric fields, pink box with: The Life of Program (LoP) target cannot be zero. Please update targets.

LoP only

[x] 1. If I enter zero in the LoP target field:

[x] 1.1. The LoP target field is outlined in red.

[x] 1.2. An error messages appears on a pink background under the target table.

[x] 1.3. Text update: The Life of Program (LoP) target cannot be zero.

[x] 2. If I leave the LoP target field empty and submit:

[x] 2.1. This message appears at the top:

[x] 2.2. The empty LoP target field is outlined in red.

[x] 2.3. Error text: Please enter a target.

Time-aware targets

[x] 1. If I leave one or more periodic target fields empty:

[x] 1.1. This message appears at the top:

[x] 1.2. Empty target fields are outlined in red.

[x] 1.3. An error messages appears on pink background under the table, like so:

[x] 1.4. Text update: Please complete targets.

[x] 2. If I enter zeroes into all time-aware periodic targets:

[x] 2.1. There are no outlines around the periodic target fields containing a zero. (Individual targets are allowed to be zero.)

[x] 2.2. An error messages appears on a pink background under the target table.

[x] 2.3. Text change from the Prod screenshot above: The Life of Program (LoP) target cannot be zero. Please update targets.

[x] 3. If the indicator is a Cumulative # or % indicator AND I enter zero into the final periodic target field (resulting in a LoP value of 0):

[x] 3.1. We get the exact same response as if I'd entered zero into all periodic target fields -- no red outlines around numeric fields, pink box with: The Life of Program (LoP) target cannot be zero. Please update targets.

Event targets

[x] 1. If I leave any event name AND/OR target value field empty:

[x] 1.1. This message appears at the top:

[x] 1.2. Empty name and/or target fields are outlined in red.

[x] 1.3. An error messages appears on a pink background under the target table. Below are screenshots from prod: Both event name and target missing; event target missing but name exists; and event target exists but name is missing. (Note that an error row is currently not displaying on Prod in the third example, which I'd like to fix.)

[x] 1.4. For all of the above examples, we can use the same text: Please complete all event names and targets.

[x] 2. If I enter zeroes into all periodic targets:

[x] 2.1. There are no outlines around the periodic target fields containing a zero. (Individual targets are allowed to be zero.)

[x] 2.2. An error messages appears on a pink background under the target table.

[x] 2.3. Text update: The Life of Program (LoP) target cannot be zero. Please update targets.

[x] 3. If the indicator is a Cumulative # or % indicator AND I enter zero into the final periodic target field (resulting in a LoP value of 0):

[x] 3.1. We get the exact same response as if I'd entered zero into all periodic target fields -- no red outlines around numeric fields, pink box with: The Life of Program (LoP) target cannot be zero. Please update targets.

All scenarios

[x] 1. All of this validation happens before any warning / confirmation / rationale prompts we've already implemented. These prompts vary depending on whether or not results are linked to the indicator.

Housekeeping

[x]  Unit test/s written wherever applicable
[x]  i18n tags included wherever applicable
[ ]  Functionality is accessible to people using screen readers

Couple of styling issues if I cause the LoP target to be zero... Appears to affect all target frequencies except for LoP-only.

Missing a space between "The" and "Life".
Pink row stops short of the right edge of the table.

Styling issue that seems to apply to all target frequencies when an error message appears: Pink row stops short of the right edge of the table.

1.4. For all of the above examples, we can use the same text: Please complete all event names and targets.

Looks like this message wasn't updated. Here's what I'm seeing:

@camgnostic Seeing an extra period at the end of this string:

Also, just adding this issue we've discussed in Slack so we can track fixes. Need to allow the left column to wrap -- all target frequencies:

@camgnostic Left column wraps as expected, but it's looking crowded. I'd like to see about double the amount vertical padding above and below the text.

Looks good!


[gui][server] Statistics

Show statistics in separate tabs.
Component statistics.
Compare statistics.
Improve compare queries by using subqueries.

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 1
- Added 41

Complexity increasing per file
==============================
- web/server/vue-cli/src/components/Statistics/StatisticsHelper.js  3

Complexity decreasing per file
==============================
+ web/server/codechecker_server/api/report_server.py  -1

Clones removed
==============
+ web/server/codechecker_server/api/report_server.py  -9

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 1
- Added 41

Complexity increasing per file
==============================
- web/server/vue-cli/src/components/Statistics/StatisticsHelper.js  3

Complexity decreasing per file
==============================
+ web/server/codechecker_server/api/report_server.py  -1

Clones removed
==============
+ web/server/codechecker_server/api/report_server.py  -11

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
+ Solved 1
- Added 41

Complexity increasing per file
==============================
- web/server/vue-cli/src/components/Statistics/StatisticsHelper.js  3

Complexity decreasing per file
==============================
+ web/server/codechecker_server/api/report_server.py  -2

Clones removed
==============
+ web/server/codechecker_server/api/report_server.py  -11

See the complete overview on Codacy

@gyorb Yes, this problem will be solved in #2913.


💖 welcoming new libvirt maintainers (cores)

I am unable to maintain this driver as I am not using it, so I am looking for maintainers.
I can keep providing support for integration with molecule itself but not around driver specifics.
I would work noting that the top priority would be to setup CI jobs.

I'm prepare to pick this up, although I've got limited time so I'd prefer to have some help with it.

Hello,
I don't know if this message is still relevant but I can propose my contribution to maintain this module.
Regards.

You are more than welcome. Please remember to join the irc channel #ansible-molecule - ping me there, my irc nick is zbr.

@jamesregis I did send you an invite to this repo, check your email.

I also invited @goldyfruit to the project.  I will be on PTO for one week, but I think I managed to bring it to state where you can rely on CI to help you with propose changes.

I am archiving this plugin repository. If anyone wants to takeover its maintenance, please start by making a PR to transfer its code into https://github.com/ansible-community/molecule-plugins repository.
This repository will be archived.


skip csv lines with no geometry as is done for geojson

@ericfischer Sure, I've including this in the csv test.

Thanks!


Access to project metadata

Original author<EMAIL_ADDRESS>(November 05, 2010 17:43:25)
It would also be useful to be able to access some of the metadata about the project from within the project itself (in the exporters), to create some provenance traces. E.g., being able to indicate the name of the project, the file that was imported, what options were used when it was imported and so on.
Original issue: http://code.google.com/p/google-refine/issues/detail?id=182

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Related to #1221.


Explain text predictions of Keras classifiers

Based on https://github.com/TeamHG-Memex/eli5/pull/315 and https://github.com/TeamHG-Memex/eli5/pull/329, we use Grad-CAM to highlight parts of text that contribute to a prediction of a Keras classifier.
For example, we can use a call similar to this:
eli5.show_prediction(model, doc,
        tokens=doc_tokens,
        pad_x=word_index['<PAD>'],
        padding='post',
        relu=False,
)

To roughly highlight positive and negative parts of a text (explaining the score given in sentiment analysis):

This PR also makes refactorings (including changes to the public API) to the code at the linked PR's.
WIP items:

Tutorial.
Pass CI and coverage.
Tests (manual and automated).
Docs.
Mypy.

Codecov Report

Merging #325 into master will decrease coverage by 1.34%.
The diff coverage is 82.77%.

Re-posting removed inline comments:

regarding padding argument: looks like we can strip pad_value both from the start and the end, thus removing padding`` argument from the API.
regarding pad_value as number or string: I think it would be more clear to separate them in the API, e.g. have pad_value to be a number (token id), and pad_token to be a string (token used for padding).
regarding the model used for multi-class classification: if there is a notebook/script where we trained the model, would be great to link it here.

Some comments regarding the text tutorial (GH again places them on the wrong lines):
for layer in binary_model.layers:
    print(layer.name, layer.output_shape)
    if isinstance(layer, desired):
        ...

I'd suggest printing only the layers that we explain, else it's hard to understand the output below without checking the code in more detail.

Regarding the text tutorial

It looks like  had some effect on the explanation.

I think it would be great to clarify that we are removing padding prior to passing the input to the model, so most likely it's the model which gives different results with and without padding, right?

Just finished the text tutorial, looks great 👍
One more comment regarding the note at the end

In general, this is experimental work. Unlike for images, this is not based on any paper.

I think that's a great note, what to you think of moving it to the start of the tutorial?

I think it would be great to clarify that we are removing padding prior to passing the input to the model, so most likely it's the model which gives different results with and without padding, right?

Here I think it's the model that gives different results with and without padding. But in general we remove padding (using the pad_token or pad_value argument) after passing the input to the model.

Great, thanks for clarification @teabolt 👍

Oh my gosh I want this please merge this as soon as possible 🥰

@lopuhin Do you think there is anything major left to do in this PR? (besides making the CI pass)

@teabolt I don't recall anything significant, and from a quick glance it looks like all review feedback is addressed so I think it's almost ready.

Codecov Report

Merging #325 into master will decrease coverage by 0.09%.
The diff coverage is 96.83%.

@@            Coverage Diff             @@
##           master     #325      +/-   ##
==========================================
- Coverage   97.32%   97.22%   -0.10%
==========================================
  Files          49       52       +3
  Lines        3142     3318     +176
  Branches      585      624      +39
==========================================
+ Hits         3058     3226     +168
- Misses         44       48       +4
- Partials       40       44       +4

Impacted Files
Coverage Δ

eli5/keras/__init__.py
100.00% <ø> (ø)

eli5/nn/text.py
92.45% <92.45%> (ø)

eli5/formatters/image.py
98.71% <93.33%> (-1.29%)
:arrow_down:

eli5/base.py
100.00% <100.00%> (ø)

eli5/keras/explain_prediction.py
98.37% <100.00%> (+1.98%)
:arrow_up:

eli5/keras/gradcam.py
100.00% <100.00%> (ø)

eli5/nn/__init__.py
100.00% <100.00%> (ø)

eli5/nn/gradcam.py
100.00% <100.00%> (ø)

eli5/sklearn/text.py
97.77% <0.00%> (-0.08%)
:arrow_down:

eli5/formatters/text.py
99.20% <0.00%> (-0.01%)
:arrow_down:

... and 8 more

Is this ever going to be merged? I'm super interested in seeing this get added to ELI5 ASAP!!!

Is this ever going to be merged? I'm super interested in seeing this get added to ELI5 ASAP!!!

Hey @Hellisotherpeople . Sorry for the late reply. If you are still interested you can try installing the PR branch directly with pip:

If you are using virtualenv or a similar environment manager, make a clone of your environment.
Install the PR branch with pip install -U git+https://github.com/teabolt/eli5.git@keras-gradcam-text

To test that it worked run:
import eli5.keras
eli5.keras.explain_prediction_keras_text()

The output should be TypeError: explain_prediction_keras_text() missing 2 required positional arguments: 'model' and 'doc'
Tested this with Python 3.7 and Ubuntu 20.04.

Is this ever going to be merged? I'm super interested in seeing this get added to ELI5 ASAP!!!

Hey @Hellisotherpeople . Sorry for the late reply. If you are still interested you can try installing the PR branch directly with pip:

If you are using virtualenv or a similar environment manager, make a clone of your environment.
Install the PR branch with pip install -U git+https://github.com/teabolt/eli5.git@keras-gradcam-text

To test that it worked run:
import eli5.keras
eli5.keras.explain_prediction_keras_text()

The output should be TypeError: explain_prediction_keras_text() missing 2 required positional arguments: 'model' and 'doc'
Tested this with Python 3.7 and Ubuntu 20.04.


Install "openssl" module

The "openssl" module is needed to execute locally an operator:
$ run run-with-webhook
Error log: [1]
[1]https://paste.opendev.org/show/bPgTOeSVk92r0rtb9ZoG/

/lgtm

/approve


Can't install node modules

When I have cloned this repo and run npm install I get this error
➜  sort-package-json git:(master) ✗ npm i
npm WARN deprecated<EMAIL_ADDRESS>Use npmjs.com/husky instead, see https://github.com/gtramontina/ghooks/issues/166
npm ERR! Linux 4.4.0-70-generic
npm ERR! argv "/home/agirorn/.nvm/versions/node/v6.10.1/bin/node" "/home/agirorn/.nvm/versions/node/v6.10.1/bin/npm" "i"
npm ERR! node v6.10.1
npm ERR! npm  v3.10.10
npm ERR! code E404

npm ERR! 404 no such package available : @semantic-release/commit-analyzer
npm ERR! 404
npm ERR! 404  '@semantic-release/commit-analyzer' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404 It was specified as a dependency of 'semantic-release'
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/agirorn/code-open/sort-package-json/npm-debug.log
➜  sort-package-json git:(master) ✗

It's definitely there: https://www.npmjs.com/package/@semantic-release/commit-analyzer. Is it possible you're running an npm proxy, for example synopia or nexus? Many of these have difficulty with scoped packages.

Yes, I am using synopia. I'll give it another go.


started on updating the markdown export

If this now takes a dependency on a fork of JustAssembly, we should consider making members of  assemblyDiffPair.Diff public so that diff text from the object graph directly rather than from XML, or alternatively, update the diff items to allow different types of exporter, XML, Markdown, Asccidoc, etc.

@russcam I've updated the dlls and made these types public 👍
This PR took a different focus and you can now pass a flag to prevent certain version changes e.g:

dotnet run --framework netcoreapp3.1 -- "previous-nuget|assembly-differ|0.9.1|netcoreapp3.1" "directory|bin/Debug/netcoreapp3.1" --target=assembly-differ -f=xml -p=minor

Will fail if you introduce changes locally that exceed patch|minor|major.
Will create a new PR with a new exporter specifically to be used with Github Action commenting on commits as per #4 .
To this I introduced a new type of IExporter and a new type to hold the collective results. You can now write an exporter that writes a file for each AssemblyComparison (all the previous ones). Or one for the whole report.


Fix enum field issue

Description
I replaced the select as it was before, whilst keeping the original type of the options. Previously the values were stringified in the Object.keys mapping. Now that the values keep their typing, we can safely remove the logic in the mapping prepping the body to send to the api that was previously assuming the value would always be a string in case of enums. The issue wasn't specific to the duplicate form.
close #5676

Processing this pull request

Merged into branches master, iso7 in 8e256dd42803bbd6de85fce4737b51896b0411d6


Feat: Dynamic Programming-Climbing Stairs

@avinash201199, This PR solves the issue #262

pull request merged, now close the issue :)
follow for more
note- only 2 pr are accepted per day on a same repo


Save Dialog Improvements

As raised by @rexkix:
Simple improvements to the Save dialog:

Make the text field be selected when the interface is brought up.
Make be the same as the Save button

As part of the new UI/UX, this will be the case.

Now implemented as the above comment.


[Web] ScrollController throws unexpected null exception on web, when getting maxScrollExtent

Steps to reproduce
Create an app with two screens - home one with a ListView, another with any widget.  Add check that position.maxScrollExtent > 0 in ScrollController's onAttach method. Launch an app and go to the second page. Refresh page and you will see Unexpected null value exception. There's no app crash, etc. but the exception is thrown every time.
Expected results
No exception is thrown.
Actual results
Unexpected null value exception is thrown.
Code sample
Code sample
void main() {
  runApp(
    const MyApp(),
  );
}

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp.router(
      routerConfig: _router,
    );
  }
}

final _router = GoRouter(
  routes: [
    GoRoute(path: '/', builder: (context, state) => const PageA(), routes: [
      GoRoute(
        path: 'b',
        builder: (context, state) => const PageB(),
      ),
    ]),
  ],
);

class PageA extends StatefulWidget {
  const PageA({super.key});

  @override
  State<PageA> createState() => _PageAState();
}

class _PageAState extends State<PageA> {
  late final ScrollController _scrollController;
  bool isScrollable = false;

  void onScrollControllerAttach(final ScrollPosition position) {
    // ignore: prefer_final_parameters
    WidgetsBinding.instance.addPostFrameCallback((_) {
      if (_scrollController.hasClients && position.maxScrollExtent > 0) {
        setState(() {
          isScrollable = true;
        });
      }
    });
  }

  @override
  void initState() {
    super.initState();
    _scrollController = ScrollController(onAttach: onScrollControllerAttach);
  }

  @override
  void dispose() {
    _scrollController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: isScrollable ? Colors.blue : Colors.white,
      body: ListView.builder(
        controller: _scrollController,
        itemCount: 50,
        itemBuilder: (context, index) => ListTile(onTap: () => context.go('/b'), title: Text('$index')),
      ),
    );
  }
}

class PageB extends StatelessWidget {
  const PageB({super.key});

  @override
  Widget build(BuildContext context) {
    return const Scaffold(
      body: Center(
        child: Text('PageB'),
      ),
    );
  }
}

Screenshots or Video
No response
Logs
Logs
══╡ EXCEPTION CAUGHT BY SCHEDULER LIBRARY ╞═════════════════════════════════════════════════════════
The following TypeErrorImpl was thrown during a scheduler callback:
Unexpected null value.

When the exception was thrown, this was the stack:
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 296:3       throw_
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 586:18  nullCheck
packages/flutter/src/widgets/scroll_position.dart 228:49                          get maxScrollExtent
packages/untitled1/main.dart 48:51                                                <fn>
packages/flutter/src/scheduler/binding.dart 1392:7                                [_invokeFrameCallback]
packages/flutter/src/scheduler/binding.dart 1326:11                               handleDrawFrame
packages/flutter/src/scheduler/binding.dart 1035:9                                <fn>
dart-sdk/lib/_internal/js_dev_runtime/private/isolate_helper.dart 48:11           internalCallback
════════════════════════════════════════════════════════════════════════════════════════════════════

Flutter Doctor output
Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.22.0, on macOS 14.5 23F79 darwin-arm64, locale ru-RU)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.4)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.3)
[✓] IntelliJ IDEA Ultimate Edition (version 2024.1)
[✓] IntelliJ IDEA Community Edition (version 2022.2)
[✓] VS Code (version 1.89.1)
[✓] Connected device (3 available)
    ! Error: Browsing on the local area network for iPhoneK. Ensure the device is unlocked and attached with a cable or associated with the same local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)
[✓] Network resources

• No issues found!

Thanks for the report. I was able to replicate this only on web, as on, mobile and desktop, hot restarting doesn't throw the said exception.

 stable, master flutter doctor -v
[!] Flutter (Channel stable, 3.22.2, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.22.2 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 761747bfc5 (33 hours ago), 2024-06-05 22:15:13 +0200
    • Engine revision edd8546116
    • Dart version 3.4.3
    • DevTools version 2.34.3
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

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

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.23.0-13.0.pre.149, on macOS 12.2.1 21D62
    darwin-x64, locale en-GB)
    • Flutter version 3.23.0-13.0.pre.149 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ae47edab7a (68 minutes ago), 2024-06-07 01:34:14 -0400
    • Engine revision 087feab992
    • Dart version 3.5.0 (build 3.5.0-234.0.dev)
    • DevTools version 2.36.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 30.0.3)
    • Android SDK at /Users/dhs/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13C100
    • CocoaPods version 1.11.2

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

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 65.1.4
    • Dart plugin version 213.7228

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

[✓] Connected device (3 available)
    • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
      • iOS 15.3.1 19D52
    • macOS (desktop)           • macos                                    •
      darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)              • chrome                                   •
      web-javascript • Google Chrome 109.0.5414.119

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

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

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

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

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

! Doctor found issues in 1 category.

A refresh causes a rebuild of the current page, it is either a bug in your code or a bug in Scrollable

if (_scrollController.hasClients && position.maxScrollExtent > 0) {

ScrollPosition.maxScrollExtent is validly throwing here. Check ScrollPosition.hasContentDimensions before accessing maxScrollExtent. The position may be attached to the scroll controller, but it may not have laid out the content yet. :)


add Scala 2.13.0 support

drop Scala 2.10.x

Is this released yet?

Not yet. I'll try releasing it tonight.


load balancer support

Closing in favor of PR #43 - Load balancers are also implemented in that as part of ufo version 4. Load balancers are implemented as a CloudFormation resource there.


Save state before using BinaryWriter

This allows returning the same BinaryWriter instance for all calls inside writerFactory().
This does not break previous implementations of IBinaryWriter which do not flush the state inside finish() since they did not work correctly when trying to write nested messages with the same instance anyway.

 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.

@Demon000, can you provide some information about the use case? Is this about a performance improvement, or something else?

Yes, this is supposed to be an opt-in performance improvement. Opting in is done by returning the same BufferWriter instance inside writerFactory().
Another reason for which someone might want this change is if the BufferWriter implementation has some logic that only needs to be ran once per every encode. In my case, I want to reserve a few bytes at the beginning of the buffer to allow some data to be added as a header, without having to do an extra buffer allocation and copy afterwards.
Without these fixes, the generated binary data is not proper.

Regarding performance, I would much prefer that we take the same approach as https://github.com/bufbuild/protobuf-es/pull/459 did for binary read. The impact was pretty big, and I guess it will be similar when doing the same for binary read.
There are three calls to Message.toBinary() in binary-format-common.ts, for example this one. If they are replaced with calls to runtime.bin.writeMessage, we don't create the options object multiple times (and we also don't create multiple writers).
In the end, this perf improvement will also enable your use case, since writerFactory will only be called once, but I think it makes sense to treat the two issues separately, and to validate the assumptions about the perf improvement with benchmarks.


Optimize circle scaling when loading to state view

Captured by Lindsay in https://github.com/USGS-VIZLAB/water-use-15/pull/213#issuecomment-382861813
Copying that issue here:
There are some load time issues because scaling of the circle stroke width has to happen at the same time for as the updateView is called to get counties loaded, which means you have to wait for counties to load. These links directly to the state view will be small, so I don't want to spend too much time right now. We could think about optimizing all of that county loading. Here's the issue in a GIF:

No longer relevant?

Yeah, this was fixed for two reasons - 1) we took away strokes (https://github.com/USGS-VIZLAB/water-use-15/pull/289/commits/88448352ff952cd2f4b4eceebf4961a77769296f), and 2) we actually scaled the circles on zoom (https://github.com/USGS-VIZLAB/water-use-15/pull/272/commits/3875957c3732d192adf2ca74c9c974cd1ea3d97d).


Collectors managing to export to GMP after Workload Identity enabled

..that may sound like a good thing (i.e. nothing broke), but I'm confused as to why this was the case.
Context:

Workload Identity is enabled on the GKE cluster
GKE Metadata Server is enabled on all node pools
Using managed collection (not self-deployed)
Collectors have been restarted at some point after the GKE Metadata Servers came into play
Not using Autopilot

The documentation states:

When running on GKE, the collecting Prometheus server automatically retrieves credentials from the environment based on the Compute Engine default service account or the Workload Identity setup.

Best I can tell, the collectors are continuing to use the "Compute Engine default service account" (I can prove this by revoking access to write metrics for that SA temporarily). I was fully expecting to have to setup a new Google Cloud SA with the relevant perms and annotate the collector kubernetes SA.
Testing in namespaces other than gmp-system, access to GCP resources does appear to be restricted, as expected.
Is the documentation mildly misleading here? Or have I potentially misconfigured something?

This is WAI - the node SAs by default have monitoring.writer perms so they can send free GKE metrics without you having to configure anything. We piggyback on that permission when using managed collection on GKE. This is why the WI instructions are not replicated on that page.
The reference to WI is likely there because it's a shared section. I can update it.

Many thanks for the explanation.
Am I correct in my understanding then, that this piggybacking behaviour is bespoke to the gmp-system namespace when Workload Identity is enabled and the GKE Metadata Servers are in play? It does appear that way to me:
gmp-system namespace
$ kubectl --namespace=gmp-system debug -it collector-f8vf5 --image=alpine:latest --target=prometheus
Targeting container "prometheus". If you don't see processes from this container it may be because the container runtime doesn't support this feature.
Defaulting debug container name to debugger-txt9q.
If you don't see a command prompt, try pressing enter.
/ # apk add jq curl
fetch https://dl-cdn.alpinelinux.org/alpine/v3.17/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.17/community/x86_64/APKINDEX.tar.gz
<snip>
/ # curl -s -H "Metadata-Flavor: Google" http://<IP_ADDRESS>/computeMetadata/v1/instance/service-accounts/default/token > /tmp/token.json
/ # curl -s -H "Authorization: Bearer $(cat /tmp/token.json | jq '.access_token')" "https://monitoring.googleapis.com/v3/projects/***/groups"
{}

test namespace (this pod does not specify any k8s SA, and the default k8s SA does not have any annotations associating it with a Google Cloud SA)
$ kubectl --namespace=test debug -it traefik-7999769574-4jkn2 --image=alpine:latest --target=traefik
Targeting container "traefik". If you don't see processes from this container it may be because the container runtime doesn't support this feature.
Defaulting debug container name to debugger-2xzn5.
If you don't see a command prompt, try pressing enter.
/ # apk add jq curl
fetch https://dl-cdn.alpinelinux.org/alpine/v3.17/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.17/community/x86_64/APKINDEX.tar.gz
<snip>
/ # curl -s -H "Metadata-Flavor: Google" http://<IP_ADDRESS>/computeMetadata/v1/instance/service-accounts/default/token > /tmp/token.json
/ # curl -s -H "Authorization: Bearer $(cat /tmp/token.json | jq '.access_token')" "https://monitoring.googleapis.com/v3/projects/***/groups"
{
  "error": {
    "code": 403,
    "message": "Permission denied (or the resource may not exist).",
    "status": "PERMISSION_DENIED"
  }
}

Yes, the gmp-system namespace is created with those permissions bound, hence we don't recommend changing it or putting anything else in it. In fact, you can't even touch it on Autopilot clusters.

Thanks, that makes sense. I'm closing this then, as there was no underlying issue here - and it looks like the documentation was updated too :-)


Many of the samples do not properly wait for the initialize() function in teams-js to complete

If you look through these search results:
https://github.com/search?q=repo%3AOfficeDev%2FMicrosoft-Teams-Samples+microsoftTeams.app.initialize()%3B&type=code
You will see many places where microsoftTeams.app.initialize() is called but either not awaited or followed by .then()
Per the documentation for app.initialize(), the call must complete before any other teams-js calls are made to avoid race conditions.
It's hard to know by just looking at the search results how many of them are bugs (theoretically calling app.initialize() without waiting for it to finish is only a bug if you aren't calling any other teams-js functions after), but it would appear that many of them are (e.g., app-in-meeting.jsx calls initialize and then immediately calls getContext, and searchSettings.html calls initialize and doesn't verify it's complete before potentially calling authentication.notifySuccess)

Thank you for reporting this, we will share this with sample team and get these updated.

Hello @AE-MS - We have started working on it and let you know the updates once changes are done.

https://github.com/OfficeDev/Microsoft-Teams-Samples/pull/1008 has been raised for this issue.