make publish_dll is failing to run successfully

Have installed .Net 3.1 and .Net 6.0, so it may be a PATH issue (3rd possible cause), but there also isn't a file in src/example-bi-directional-provider-dotnet/bin/Debug/netcoreapp3.1/example-bi-directional-provider-dotnet.dl which could be the 2nd possible cause.
dotnet src/example-bi-directional-provider-dotnet/bin/Debug/netcoreapp3.1/example-bi-directional-provider-dotnet.dll
Could not execute because the specified command or file was not found.
Possible reasons for this include:
  * You misspelled a built-in dotnet command.
  * You intended to execute a .NET program, but dotnet-src/example-bi-directional-provider-dotnet/bin/Debug/netcoreapp3.1/example-bi-directional-provider-dotnet.dll does not exist.
  * You intended to run a global tool, but a dotnet-prefixed executable with this name could not be found on the PATH.
make: *** [publish_dll] Error 1

I've now fixed the incorrect publish_dll target. I've also added a global.json for this project, which should ensure the correct .net version is used when running the makefile commands. See commit here: https://github.com/pactflow/example-bi-directional-provider-dotnet/commit/f7cf881ad38f222115a24647d10e1800f99c62ff


Update README.md

Thanks a lot!!!
Le 16 sept. 2015 à 17:14, Christoph Deil<EMAIL_ADDRESS>a écrit :

Merged #3.
—
Reply to this email directly or view it on GitHub.

Thanks!
Just FYI: I reformatted the file a bit using Markdown and added links to ADS for the papers.

Before
After


Clear only the Zend cache when flushing the localization cache

We currently wipe out all the expensive cache when we clear the Localization cache.
What about clearing only the ZendCacheDriver-related files?
@ahukkanen Do you see any drawback?

I don't see any other drawback than currently it seems the FeedService is utilizing the expensive cache. This might lead into some untranslated strings to be kept in the cache after clearing it. And of course it might impact some packages or external code utilizing the expensive cache.
But I would say the impact is probably minor compared to the benefit.

@ahukkanen  And about FeedService: yes, we'll clear its cache too, but we are currently doing it already by clearing the whole expensive cache (the zendcache is only a subset of the expensive cache).
Restricting the cache to be cleared should leave untranslated strings only if someone uses custom translator adapter, isn't it?

Restricting the cache to be cleared should leave untranslated strings only if someone uses custom translator adapter, isn't it?

Not sure I perfectly understand this but yes, if someone writes their own adapter and plugs it to a different cache driver, this might happen.


Barchart to fc

PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

Issue Number: N/A
What is the new behavior?
Refactor BarChart component to Functional component.
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

Any thoughts on the feedback?

On the issues w/ stories - this might be helpful - https://github.com/reaviz/reaviz/issues/13 - the parent props item.

@amcdnl I encounter several issues, so I moved to a new PR, working with some more precise order(starting from a.b.c..).

keys issue on stories.
some of the stories was not fully loaded.

Sounds good - if you are doing a anew pr maybe lets close this?


Terminal window too low

Bottom part of terminal merges with window border. It is not possible to see underscore when terminal text reaches bottom of window.
<IP_ADDRESS> OK

<IP_ADDRESS> NOT OK

This is related to Putty, not an issue with a specific version of SuperPutty. Not sure what causes it and have not been able to reliably reproduce it.

Screenshots were taken with Putty 0.67. Now I tested it with latest 0.70 and result is same. With 0.8 there is that space at bottom, with 0.9 space is missing.
Space is missing also when you are resizing window. It is painting some "doubled line" at the bottom when you are shrinking the window.


Problem integrating with angular-cli

Trying to integrate with the official angular cli but I'm facing the following issue:
cannot find module "adal"
Does anyone succeeded integrating it with angular-cli?

I'm having the same issue.  I think it's because his directions using system.js include adding adal to the modules loaded, so it exists at run time.  Still trying to figure out how to tell angular cli that it's there.

+1 same problem. This needs to be done since Angular-CLI is becoming kind of a standard.

+1 same problem. This needs to be done since Angular-CLI is becoming kind of a standard.

i am having the same problem

I solved this problem because I have it working now but I can't remember what EXACTLY fixed the issue.  My guess, though is that it was solved when I added the adal types to my project.
npm i --save @types/adal
should do the trick.

@csmithnic , could you please share the scripts that you are loading on angular-cli.json file? I am having the same issue, I've already installed @types/adal and no luck.

I did this again last night and the thing I realized I was missing was adding 'adal' to your list of types in the tsconfig.app.json file (If you're on the latest version of @angular/cli"
So, my tsconfig looks like this
{     "compilerOptions": {         "sourceMap": true,         "declaration": false,         "moduleResolution": "node",         "emitDecoratorMetadata": true,         "experimentalDecorators": true,         "lib": [             "es2016",             "dom"         ],         "outDir": "../out-tsc/app",         "target": "es5",         "module": "es2015",         "baseUrl": "",         "types": [             "adal"         ],         "typeRoots": [             "../node_modules/@types"         ]     },     "exclude": [         "test.ts",         "**/*.spec.ts"     ] }
Hope this helps

@csmithnic  , apologies for the late reply, after adding types: ["adal"] issue is now solved! Thanks alot!


PSA "restricted" - Pod Security Updates

In order to comply with the restricted PSA profile, the pod needs to have runAsNonRoot: true, and all containers need to have allowPrivilegeEscalation:false and drop all capabilities.
Also the Dockerfile should set a USER.
On Kubernetes we would also need to set seccompProfile.type: RuntimeDefault.
This will be added by a new make target bundle-k8s for community (k8s) releases, since it  would break deployment on OCP 4.10 though.
Therefore, it would be be empty by default.
Related docs:

https://kubernetes.io/docs/concepts/security/pod-security-standards/
https://kubernetes.io/docs/concepts/security/pod-security-admission/
https://master.sdk.operatorframework.io/docs/best-practices/pod-security-standards/
https://kubernetes.io/docs/setup/best-practices/enforcing-pod-security-standards/#adopt-a-multi-mode-strategy

/lgtm

/lgtm


CVE-2007-4559 Patch

Patching CVE-2007-4559
Hi, we are security researchers from the Advanced Research Center at Trellix. We have began a campaign to patch a widespread bug named CVE-2007-4559. CVE-2007-4559 is a 15 year old bug in the Python tarfile package. By using extract() or extractall() on a tarfile object without sanitizing input, a maliciously crafted .tar file could perform a directory path traversal attack. We found at least one unsantized extractall() in your codebase and are providing a patch for you via pull request. The patch essentially checks to see if all tarfile members will be extracted safely and throws an exception otherwise. We encourage you to use this patch or your own solution to secure against CVE-2007-4559. Further technical information about the vulnerability can be found in this blog.
If you have further questions you may contact us through this projects lead researcher Kasimir Schulz.

Still need to pull down and test!

tested this down and tested it on local machine, and tested with real data.


Rename "Compare Sequence Diagrams" option when right-clicking an AppMap

@ahtrotta rename it to what?

I don't remember what I had in mind :upside_down_face:


change multiyr average approach

Concisely describe what has been changed/addressed in the pull request.
Allows for multiyear averaging of F/Fmsy for >10 years.   Per request from @HaikunXu

Resolves issue #586

What tests have been done?
example model "simple" was used as test case to demonstrate fidelity of the change.

What tests/review still need to be done?
None
Is there an input change for users to Stock Synthesis?
in starter.ss there are needed changes if multiyr or log(ratio) is invoked

Additional information (optional).

@chantelwetzel-noaa  I like your suggestion of putting an example directly in starter.ss_new.


Add a diagnostic mode

Add a /api/diagnostic route on load balancer and make the following checks:

Check HTTP/HTTPS consistencies between Load balancer and transcoder (if transocder using http and loadbalancer https, redirection fails)
Check the number of transcoders registered (if there is no transcoder, start a stream fails directly)
Check that transcoder can be called (if the load balancer can't fetch the / of the transcoder, there is an issue)
Try to SELECT into plex database (else downlaod and forward will fail)
Check if we already received data from fake ffmpeg
Check if we can contact plex over http (if the load balancer can't talk with plex, streams will fails)

It could also be nice to make debug on the / of each transcoder to see if the transcoder is correctly installed and add some stats

We added a homepage on the transcoder part, it's a good beginning ☺


extract ffi components out of index.js

Stack:

#145
#143
#142
#141
#140 ⬅

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

✓ Commit merged in pull request #145


what cause the NSRangeException crash

I write these code:
  renderHeader: function() {
    var replyCount = this.state.replyCount ? this.state.replyCount: 0;
    console.log(replyCount);
    return (
      <Text>{replyCount} comments</Text>
    );
  },

and here is the crash happen:

but If I write like this:
  renderHeader: function() {
    if (this.state.replyCount) {
      return (
        <Text>{this.state.replyCount} comments</Text>
      )
    } else {
      return null;
    }
  },

and I have a initial state in my getInitialState:
 getInitialState: function() {
    return {
      dataSource: new ListView.DataSource({
        rowHasChanged: (row1, row2) => row1 !== row2,
      }),
      isLoading: true,
      replyCount: 0,
    }
  },

so what cause the problem ?

This had been fixed in the latest version #756
Try update react-native

still crash， my react-native version is 0.3.11  @a2

@LeezQ - are you still seeing this? It does look very much like #756, maybe you had to restart XCode?

@LeezQ - I ran your first example here and it worked fine with the latest version, although I had to make sure that getInitialState at least returned {}, so I'm going to close this issue. Ping me if it persists and provide the full error message and full component that causes it so I can run that on my own and verify.


Unable to send messaging after updating to 7.10.0

Describe the bug
Running environment: PHP8.1 / "kreait/firebase-php":7.10.0
My local development environment is: windows
The online server environment is: Debian GNU/Linux 12 x86_64 (Py3.7.16)
When I was developing locally, I had no problem using 7.10.0 and could send messages normally. When my online server was updated to 7.10.0, I could not send messages. The error message was:
URL error 0: The cURL request was retried 3 times and did not succeed. The most likely reason for the failure is that cURL was unable to rewind the body of the request and subsequent retries resulted in the same error. Turn on the debug option to see what went wrong. See https://bugs.php.net/bug.php?id=47204 for more information. (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://fcm.googleapis.com/v1/projects/flutter-receive-sms/messages:send
Additionally an error page is returned.
411 Error. POST requests require a Content-length header. That’s all we know
Installed packages
"kreait/firebase-php":7.10.0

PHP version and extensions
-

Steps to reproduce the issue.
    public function sendCloudMessaging(string $sendType, array $params): array|bool
    {
        Notification::fromArray([
           'title' => $params['title'],
           'body' => $params['body']
        ]);

        if (!isset($data)) {
            $params['data'] = ['jump' => 'my'];
        }
        $notification = Notification::create($params['title'], $params['body']);
        $notification = $notification->withTitle($params['title'])->withBody($params['body']);
        CloudMessage::withTarget($sendType, $params[$sendType])
            ->withNotification($notification)
            ->withData($params['data']);
        $message = CloudMessage::fromArray([
            $sendType => $params[$sendType],
            'notification' => $notification,
            'data' => $params['data']
        ]);
        try {
            if (is_array($params['token'])){
                if (count($params['token']) > 500){
                    return false;
                }
                $result = $this->messaging->sendMulticast($message, $params['token']);
                return ['success' => $result->successes()->count(), 'fail' => $result->failures()->count()];
            }else{
                $result = $this->messaging->send($message);
                if (array_key_exists('name', $result)){
                    return ['success' => 1, 'fail' => 0];
                }
                return false;
            }
        } catch (MessagingException | FirebaseException $e) {
            Log::error('sendCloudMessaging error' . $e->getMessage());
            return false;
        }
    }

Error message/Stack trace
-

Additional information
No response

Someone reported something similar a few days ago, perhaps reading through that issue might help:
https://github.com/kreait/laravel-firebase/issues/219
7.10 doesn't use the legacy FCM API anymore, and uses the HTTP V1 API with HTTP/2 instead, because the legacy API will be shut down by the end of June.
I understand that it's a minor release breaking your server environment, but still, please make sure that your remote server is properly configured and and has the latest dependencies (especially cURL) installed.
I have no means of testing why it works locally but not on the server, there are too many unknowns. But if you can tell me the differences between your local and remote environment, I might be able to introduce a condition to use a fallback mechanism.

Thank you for your reply, I am looking for the problem based on your tips
and I will get back to you if it is resolved.
Jérôme Gamez @.***> 于2024年5月10日周五 22:37写道：

Someone reported something similar a few days ago, perhaps reading through
that issue might help:
kreait/laravel-firebase#219
https://github.com/kreait/laravel-firebase/issues/219
7.10 doesn't use the legacy FCM API anymore, and uses the HTTP V1 API with
HTTP/2 instead, because the legacy API will be shut down by the end of June.
I understand that it's a minor release breaking your server environment,
but still, please make sure that your remote server is properly configured
and and has the latest dependencies (especially cURL) installed.
I have no means of testing why it works locally but not on the server,
there are too many unknowns. But if you can tell me the differences between
your local and remote environment, I might be able to introduce a condition
to use a fallback mechanism.
—
Reply to this email directly, view it on GitHub
https://github.com/kreait/firebase-php/issues/888#issuecomment-2104725206,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVVU5AMYC2AY6C4KK6FGO7TZBTLRFAVCNFSM6AAAAABHQXAPYCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBUG4ZDKMRQGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

Thank you for your reply, I am looking for the problem based on your tips and I will get back to you if it is resolved.

I have the same issue. Updating 7.9 to 7.10/7.11 made me unable to send any message.
I am using Webuzo panel. I installed Apache 2.4 MPM event version. I have enabled HTTP/2 protocol on apache setting.
The resulting error message is the same: 411 Error. POST requests require a Content-length header. That’s all we know.

Please share the output of the following CLI commands in the environment in which you encounter the issue:
curl --version

and (as you were asked when creating the issue)
composer show --platform

curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.90 zlib/1.2.7 libidn/1.28 libssh2/1.8.0
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz unix-sockets
composer                   2.7.2    Composer package
composer-plugin-api        2.6.0    The Composer Plugin API
composer-runtime-api       2.2.2    The Composer Runtime API
ext-bcmath                 8.2.17   The bcmath PHP extension
ext-bz2                    8.2.17   The bz2 PHP extension
ext-calendar               8.2.17   The calendar PHP extension
ext-ctype                  8.2.17   The ctype PHP extension
ext-curl                   8.2.17   The curl PHP extension
ext-date                   8.2.17   The date PHP extension
ext-dba                    8.2.17   The dba PHP extension
ext-dom                    20031129 The dom PHP extension
ext-exif                   8.2.17   The exif PHP extension
ext-fileinfo               8.2.17   The fileinfo PHP extension
ext-filter                 8.2.17   The filter PHP extension
ext-ftp                    8.2.17   The ftp PHP extension
ext-gd                     8.2.17   The gd PHP extension
ext-gettext                8.2.17   The gettext PHP extension
ext-gmp                    8.2.17   The gmp PHP extension
ext-hash                   8.2.17   The hash PHP extension
ext-iconv                  8.2.17   The iconv PHP extension
ext-imagick                3.7.0    The imagick PHP extension
ext-imap                   8.2.17   The imap PHP extension
ext-intl                   8.2.17   The intl PHP extension
ext-ioncube-loader         13.0.2   The ionCube Loader PHP extension
ext-json                   8.2.17   The json PHP extension
ext-ldap                   8.2.17   The ldap PHP extension
ext-libxml                 8.2.17   The libxml PHP extension
ext-mailparse              3.1.2    The mailparse PHP extension
ext-mbstring               8.2.17   The mbstring PHP extension
ext-mcrypt                 1.0.5    The mcrypt PHP extension
ext-memcached              3.2.0    The memcached PHP extension
ext-mysqli                 8.2.17   The mysqli PHP extension
ext-mysqlnd                0        The mysqlnd PHP extension (actual versi...
ext-openssl                8.2.17   The openssl PHP extension
ext-pcntl                  8.2.17   The pcntl PHP extension
ext-pcre                   8.2.17   The pcre PHP extension
ext-pdo                    8.2.17   The PDO PHP extension
ext-pdo_mysql              8.2.17   The pdo_mysql PHP extension
ext-pdo_sqlite             8.2.17   The pdo_sqlite PHP extension
ext-phar                   8.2.17   The Phar PHP extension
ext-posix                  8.2.17   The posix PHP extension
ext-random                 8.2.17   The random PHP extension
ext-reflection             8.2.17   The Reflection PHP extension
ext-session                8.2.17   The session PHP extension
ext-shmop                  8.2.17   The shmop PHP extension
ext-simplexml              8.2.17   The SimpleXML PHP extension
ext-soap                   8.2.17   The soap PHP extension
ext-sockets                8.2.17   The sockets PHP extension
ext-sodium                 2.0.23   The sodium PHP extension
ext-spl                    8.2.17   The SPL PHP extension
ext-sqlite3                8.2.17   The sqlite3 PHP extension
ext-sysvmsg                8.2.17   The sysvmsg PHP extension
ext-sysvsem                8.2.17   The sysvsem PHP extension
ext-sysvshm                8.2.17   The sysvshm PHP extension
ext-tidy                   8.2.17   The tidy PHP extension
ext-tokenizer              8.2.17   The tokenizer PHP extension
ext-xml                    8.2.17   The xml PHP extension
ext-xmlreader              8.2.17   The xmlreader PHP extension
ext-xmlwriter              8.2.17   The xmlwriter PHP extension
ext-xsl                    8.2.17   The xsl PHP extension
ext-zend-opcache           8.2.17   The Zend OPcache PHP extension
ext-zip                    1.21.1   The zip PHP extension
ext-zlib                   8.2.17   The zlib PHP extension
lib-bz2                    1.0.6    The bz2 library
lib-curl                   7.87.0   The curl library
lib-curl-openssl           3.0.7    curl OpenSSL version (3.0.7)
lib-curl-zlib              1.2.11   curl zlib version
lib-date-timelib           2022.10  date timelib version
lib-date-zoneinfo          2024.1   zoneinfo ("Olson") database for date
lib-fileinfo-libmagic      540      fileinfo libmagic version
lib-gd                     2.0.35   The gd library
lib-gd-freetype            2.4.12   freetype version for gd
lib-gd-libjpeg             9.0      libjpeg version for gd
lib-gd-libpng              1.6.30   libpng version for gd
lib-gmp                    6.1.0    The gmp library
lib-iconv                  1.14     The iconv library
lib-icu                    69.1     The ICU unicode and globalization suppo...
lib-icu-cldr               39       ICU CLDR project version
lib-icu-unicode            13.0.0   ICU unicode version
lib-icu-zoneinfo           2021.1   zoneinfo ("Olson") database for icu
lib-imagick-imagemagick    <IP_ADDRESS> The imagick-imagemagick library
lib-ldap-openldap          2.4.41   OpenLDAP version of ldap
lib-libsodium              1.0.18   The libsodium library
lib-libxml                 2.9.0    libxml library version
lib-libxslt                1.1.34   The libxslt library
lib-libxslt-libxml         2.9.0    libxml version libxslt is compiled against
lib-mbstring-libmbfl       1.3.2    mbstring libmbfl version
lib-mbstring-oniguruma     6.9.7    mbstring oniguruma version
lib-memcached-libmemcached 1.0.18   libmemcached version
lib-openssl                3.0.7    OpenSSL 3.0.7 1 Nov 2022
lib-pcre                   10.40    The pcre library
lib-pcre-unicode           14.0.0   PCRE Unicode version support
lib-pdo_sqlite-sqlite      3.28.0   The pdo_sqlite-sqlite library
lib-sqlite3-sqlite         3.28.0   The sqlite3-sqlite library
lib-zip-libzip             1.7.3    The zip-libzip library
lib-zlib                   1.2.11   The zlib library
php                        8.2.17   The PHP interpreter
php-64bit                  8.2.17   The PHP interpreter, 64bit
php-ipv6                   8.2.17   The PHP interpreter, with IPv6 support

Thank you for providing me with the information!
HTTP/2 support has been available since version 7.47 (which was released in 2016). I believe that should indeed be the issue. However, I assume(d) that the line
lib-curl 7.87.0 The curl library

would mean that PHP is using a newer version of libcurl.
In order to test this, could you please execute the following in the environment that doesn't work?
php -i | grep HTTP2

It should output something like HTTP2 => Yes - if it shows nothing, this means your environment indeed can't send HTTP/2 requests :/.

Uh oh. The reply is dreadfully:
HTTP2 => No
What can I do to fix this?
Would 7.9 stop working after 30 June?
I am so dead.

Uh oh. The reply is dreadfully: HTTP2 => No
What can I do to fix this? Would 7.9 stop working after 30 June? I am so dead.

I seem to be in the same situation, how to solve it?

7.9 would continue to work after June 30th - it already uses the new endpoints, but calls them synchronously instead of asynchronously since 7.10 (for better performance).
I could implement a check if HTTP/2 is supported - if it isn't, the SDK could do synchronous requests instead of asynchronous requests (which would result in the slower performance that the change improved).
I hope you can understand that I can't stop introducing new features or improve existing ones just because server dependencies are outdated. I can implement the needed checks and different behavior, but I can't do it for free.
I can get started with it as soon as I get $500 in total of GitHub sponsorships. It can be a one time sponsorship or a recurring one, as long as it reaches $500 in one month. If you make money with the help of the SDK, this shouldn't be too much.
If you don't want to go this route, you can either stay with 7.9 (and miss out on future improvements and features). The best way to solve the problem would, of course, making sure that your server environment has a current version of cURL installed. In the end, it all depends on how much you value your (or your team's) time, and the benefits of free Open Source software.
Thank you for your understanding!

哦哦。答复很糟糕： HTTP2 => 否
我该怎么做才能解决这个问题？ 7.9 会在 6 月 30 日之后停止工作吗？ 我快要崩溃了。

我刚刚解决这个问题
确实是这个http2的原因
php 的 curl 扩展 需要启用 http2

Yeah, I can confirm through my browser that my website is already served using http2. Also running curl on ssh does result in http2 working. The problem seems to be solely on my php binary. Centos 7.9 installed a precompiled version in which php's curl extension does not work with http2. Maybe I should compile it myself or something.
Thank you for the kind response, Jerome. Even though you are doing this project for free. I think it's fine to leave it like this if 7.9 will continue to work after 30 June. Don't bother with adding extra check here and there. Centos 7.9 itself will reach it's end of life soon anyway. I can always install Ubuntu 24.04 in the future.

It came to me (in the shower of all places 😅) that perhaps I can make it work with a small change, I remember adding something some time back that I could wrap in a condition 🤔

Could you please test with https://github.com/kreait/firebase-php/pull/903 if this solves the issue?

Unfortunately, the end result is the same. That must be because echoing those constants on my server returning this:
{"CURL_HTTP_VERSION_2":3,"CURL_HTTP_VERSION_2_0":3}
Well.. even if they are 'undefined', this pull request still won't fux the problem, because I have tried doing drastic measure.
Instead of performing extra check on those constants, I simply remove the line with "->withProtocolVersion('2.0')" now.
After removing that line, I got a new kind of error message.
Instead of getting '411 Error. POST requests require a Content-length header. That’s all we know.'
Now my php crashed with MessagingException, getMessage() returns "The message is not set."
Another drastic measure. Next, instead of removing ->withProtocolVersion('2.0'), I tried changing 2.0 to both 1.1 and 1.0.
The result is, my php crashed with MessagingException, getMessage() returns "The message is not set.", again.

Hm, if the constants are set, HTTP/2 is supported by your environment, and this isn't the solution. Are you using a proxy?

I use Webuzo as control panel on Centos 7.9. It is the one who installed Apache 2.4, MySQL 8.0, PHP-FPM, PHP81 and PHP82 on my server. It is not shown to user, but I think it might use Nginx behind the user.

For the time being, staying on 7.9 seems to be the best option, and it has no bugs or missing features, so you should be good for the foreseeable future.
But if you happen to find the reason, I'd be not the only one to appreciate if you shared it here.
My offer from a few posts ago still stands 😊

Yeah I am staying for the time being.
When I have time, I will try to look at your codes to find out why simply removing ->withProtocolVersion('2.0') ends up in "The message is not set." exception. I have checked the contents of this particular file when it's version 7.9, and that line seems to be the only difference. I have to check the other files' difference too, it seems.

HTTP/2 is needed to make sending FCM messages for several thousand, sometimes even 100K+ messages, high-performant. It'a a feature that even the official Admin Node SDK currently lacks (there's an open PR, though) and which currently sets this PHP SDK apart.
While it is less then desirable that v7.10+ break certain environments, I can't possibly be expected to think about environments that don't support a standard that has been introduced in 2015 and has been supported by curl shortly after, relatively speaking.
Before telling me what I must or must not do, especially if you haven't tested if it works or not, consider this: I work on this project in my spare time and my work is unfunded. I aim to introduce as few breaking changes as possible, but sometimes, things break. I address these as fast as I can when a BC affects everyone. Apart from that, I do it when I find the free time, or when sponsorships allow me to reserve time.
You want me to check for outdated dependencies like cURL, I'd like people to update your outdated dependencies. This project mainly isn't used by hobby projects but by businesses earning money with it and/or spending money on their teams working with. You can invest your money either on keeping your systems up-to-date or on the maintainers of the projects you use to do work so you don't have to. If you do neither, don't tell them what they must do.
That being said: I'm open for PRs (including tests) making the feature work with old curl versions. If they are none (as usual), I will try to find the time to look into this further. But I will not revert the performance improvements that the majority of people/businesses now rely on (and who also don't fund this project).

The change in the PR alone didn't help, that was the problem with the PR :/

But if it works for you, I'll happily re-add the check in another PR - it's not as if I hadn't tried 😅

#903 doesn't seem to have worked (https://github.com/kreait/firebase-php/issues/888#issuecomment-2144293337). Worse, if it works for you but not @Daniel-Cong, I'm even more inclined to not check this, who knows what else is at play in the multitude of environments that the SDK could be used in 😕

It's not about what we think as open source developers (people must update it's dependencies), it's about the usage of our work on real life. We were working in a real business and this problem wasted some valuable hours of work, that is OK because we are not paying for support, but is frustrating when you see that others had the same problem, the solution was provided and was rejected.

In real life, this should be a paid product and then I would be able to prioritize this.
I do get your point, it is frustrating, but I've spent thousands of hours on the SDK for free and saved other people a magnitude of that cumulated. Then hearing that I'm wasting people's time is frustrating as well and makes me wonder if my time spent on this was a waste.
(I understand my comments on this wasn't what you intended with your original message, and they are not directly directed at you, this isn't the first time I have this discussion, and that's frustrating as well)

Thank you!
I shortly thought about re-releasing 7.9.1 as 7.14.0, adding trying the libcurl check/minimum requirement and then immediately re-releasing 7.13 as 7.14.1, but that feels wrong...
Unfortunately GitHub Runners can not use CentOS as a base image, perhaps a good start for a PR could be to create a custom job that runs the messaging tests within a CentOS docker container 🤔

Yes the pull request doesn't work for me.
Leaving the check aside, removing the "withProtocolVersion('2.0')" altogether on 7.10 doesn't work.
I think the reason is that the difference of 7.9 and 7.10 is not as simple as that one liner.
I need to compare all files between 7.9 and 7.10 but I haven't found the time to do so.

The latest release can hopefully fix the issue - if it doesn't, please make sure to let me know ^^

Ok, its version 7.13.1 isn't it?
My server has always been weird, phpinfo shows that curl http/2 is not supported, but PHP vars says it's supported.
Hopefully this release will solve it for people who have more normal case where http/2 is stated to be not supported everywhere. :-D

"curl -V" shows curl 8.2.1 (x86_64-redhat-linux-gnu)
phpinfo() says that http/2 on curl is not supported.
echoing CURL_HTTP_VERSION_2 on my php script shows integer 3 however.

Perhaps PHP has been compiled with another curl version... could you try a curl_version() in-code? https://www.php.net/manual/en/function.curl-version.php

Yes I have tried echoing CURL_HTTP_VERSION_2_0 as well, if you traverse the thread from beginning. It resulted in integer 3 as well.
I have tried updating to 7.13.1 just now, and tried sending FCM message again, and hey, it works!! I don't know how you guys did it, but you rocks! Now this library works on both updated system and new system. :-D

Glad to hear it! 🎉

7.9 would continue to work after June 30th - it already uses the new endpoints, but calls them synchronously instead of asynchronously since 7.10 (for better performance).
I could implement a check if HTTP/2 is supported - if it isn't, the SDK could do synchronous requests instead of asynchronous requests (which would result in the slower performance that the change improved).
I hope you can understand that I can't stop introducing new features or improve existing ones just because server dependencies are outdated. I can implement the needed checks and different behavior, but I can't do it for free.
I can get started with it as soon as I get $500 in total of GitHub sponsorships. It can be a one time sponsorship or a recurring one, as long as it reaches $500 in one month. If you make money with the help of the SDK, this shouldn't be too much.
If you don't want to go this route, you can either stay with 7.9 (and miss out on future improvements and features). The best way to solve the problem would, of course, making sure that your server environment has a current version of cURL installed. In the end, it all depends on how much you value your (or your team's) time, and the benefits of free Open Source software.
Thank you for your understanding!
https://github.com/sponsors/jeromegamez

Jerome: you've been doing an amazing job on this library for so many years and I am happy to support it (just did). I'm not even sure if the work is still needed, but you have a proven track record of deciding well what is worth doing and what isn't. 🙏
Disclosure: while I worked on Firebase for a decade (before leaving Google a few months ago), this is a personal donation. Neither Firebase nor FlutterFlow has anything to do with it, although I'm quite sure they also appreciate your work on this library.

@puf Thank you so much ❤! Coming from your own pocket, it means even a lot more!
I believe the issue should be resolved as best it can be within the scope of the SDK/it's code. Of course there could still be combinations of OS/PHP/cURL versions that cause problems, but luckily they didn't seem to have occurred since then 🤞🏻


MultiStep Optimizer

Description
Hi there,
I've been working on a project still in TF 1.4 (oh dear, I know! An attempt to turrn this into working multit-gpu code, perhaps the last thing I'll do with this before moving to another framework --_--", (yes, Trax for instance :D)), and was glad to be able to import the AdaFactor optimizer from T2T. I'm considering now experimenting with the multistep Adam, and I noticed the two versions,   multistep_with_adamoptimizer.py  and multistep_optimizer.py, the one multistep-Adamizing the superclass tf.train.Optimizer, and the other 'only' multistepping the tf.train.AdamOptimizer. Is there any difference between these two, and which one would you recommend I use?
Thanks tons in advance!
Jeremie
...
Environment information
TF 1.4, to work with V100s.
Ubuntu 18.04.

Hi again, I hadn't actually seen this, which explains it all.


[18.09 backport] API: properly handle invalid JSON to return a 400 status

Backport of https://github.com/moby/moby/pull/38141 for 18.09
This PR depends on https://github.com/docker/engine/pull/109 (which on itself depends on https://github.com/docker/engine/pull/80) for a clean cherry-pick, so this was built on top of that
git checkout -b 18.09_backport_handle_invalid_json  ce-engine/18.09
git cherry-pick -s -S -x c7b488fbc82604ec23b862ec1edc5a0be9c7793d
git push -u origin

cherry-pick was clean; no conflicts
The API did not treat invalid JSON payloads as a 400 error, as a result
returning a 500 error;
Before this change, an invalid JSON body would return a 500 error;
curl -v \
  --unix-socket /var/run/docker.sock \
  -X POST \
  "http://localhost/v1.30/networks/create" \
  -H "Content-Type: application/json" \
  -d '{invalid json'

> POST /v1.30/networks/create HTTP/1.1
> Host: localhost
> User-Agent: curl/7.52.1
> Accept: */*
> Content-Type: application/json
> Content-Length: 13
>
* upload completely sent off: 13 out of 13 bytes
< HTTP/1.1 500 Internal Server Error
< Api-Version: 1.40
< Content-Type: application/json
< Docker-Experimental: false
< Ostype: linux
< Server: Docker/dev (linux)
< Date: Mon, 05 Nov 2018 11:55:20 GMT
< Content-Length: 79
<
{"message":"invalid character 'i' looking for beginning of object key string"}

Empty request:
curl -v \
  --unix-socket /var/run/docker.sock \
  -X POST \
  "http://localhost/v1.30/networks/create" \
  -H "Content-Type: application/json"

> POST /v1.30/networks/create HTTP/1.1
> Host: localhost
> User-Agent: curl/7.54.0
> Accept: */*
> Content-Type: application/json
>
< HTTP/1.1 500 Internal Server Error
< Api-Version: 1.38
< Content-Length: 18
< Content-Type: application/json
< Date: Mon, 05 Nov 2018 12:00:18 GMT
< Docker-Experimental: true
< Ostype: linux
< Server: Docker/18.06.1-ce (linux)
<
{"message":"EOF"}

After this change, a 400 is returned;
curl -v \
  --unix-socket /var/run/docker.sock \
  -X POST \
  "http://localhost/v1.30/networks/create" \
  -H "Content-Type: application/json" \
  -d '{invalid json'

> POST /v1.30/networks/create HTTP/1.1
> Host: localhost
> User-Agent: curl/7.52.1
> Accept: */*
> Content-Type: application/json
> Content-Length: 13
>
* upload completely sent off: 13 out of 13 bytes
< HTTP/1.1 400 Bad Request
< Api-Version: 1.40
< Content-Type: application/json
< Docker-Experimental: false
< Ostype: linux
< Server: Docker/dev (linux)
< Date: Mon, 05 Nov 2018 11:57:15 GMT
< Content-Length: 79
<
{"message":"invalid character 'i' looking for beginning of object key string"}

Empty request:
curl -v \
  --unix-socket /var/run/docker.sock \
  -X POST \
  "http://localhost/v1.30/networks/create" \
  -H "Content-Type: application/json"

> POST /v1.30/networks/create HTTP/1.1
> Host: localhost
> User-Agent: curl/7.52.1
> Accept: */*
> Content-Type: application/json
>
< HTTP/1.1 400 Bad Request
< Api-Version: 1.40
< Content-Type: application/json
< Docker-Experimental: false
< Ostype: linux
< Server: Docker/dev (linux)
< Date: Mon, 05 Nov 2018 11:59:22 GMT
< Content-Length: 49
<
{"message":"got EOF while reading request body"}

- Description for the changelog

* Fix API returning a 500 error instead of a 400, if an invalid JSON payload is sent [moby/moby#38141](https://github.com/moby/moby/pull/38141)

- A picture of a cute animal (not mandatory but encouraged)

This test is really flaky; https://jenkins.dockerproject.org/job/Docker-PRs-s390x/11948/console
tracked through https://github.com/moby/moby/issues/32673, and being investigated in https://github.com/moby/moby/pull/37833
14:22:04 FAIL: docker_api_swarm_test.go:296: DockerSwarmSuite.TestAPISwarmLeaderElection
14:22:04
14:22:04 [d42131a9a3088] waiting for daemon to start
14:22:04 [d42131a9a3088] daemon started
14:22:04
14:22:04 [d253e390a4e6e] waiting for daemon to start
14:22:04 [d253e390a4e6e] daemon started
14:22:04
14:22:04 [d524e324b6fc7] waiting for daemon to start
14:22:04 [d524e324b6fc7] daemon started
14:22:04
14:22:04 [d42131a9a3088] exiting daemon
14:22:04 assertion failed: error is not nil: Error response from daemon: rpc error: code = DeadlineExceeded desc = context deadline exceeded
14:22:04 [d253e390a4e6e] exiting daemon
14:22:04 [d524e324b6fc7] exiting daemon

ping @kolyshkin @cpuguy83 PTAL


Alarmo Intergration fails with error

Alarmo Version
v1.9.9
HA Version
2023.5.2
Bug description
HACS Alarmo install (Download) appears to be successfull, after a restart of HA, going to HA Settings ->Devices&Services - Intergrations, then adding Alarmo, this fails with a red box around Alarmo stating  "error", refer to logs below.
Steps to reproduce
Using the Latest version of HA, Just add Alarmo intergration from the HA intergation page.
Relevant log output
This error originated from a custom integration.

Logger: homeassistant.config_entries
Source: custom_components/alarmo/store.py:674
Integration: Alarmo (documentation, issues)
First occurred: 9:40:50 AM (3 occurrences)
Last logged: 4:38:46 PM

Error setting up entry Alarmo for alarmo
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 387, in async_setup
result = await component.async_setup_entry(hass, self)
File "/config/custom_components/alarmo/init.py", line 55, in async_setup_entry
store = await async_get_registry(hass)
File "/config/custom_components/alarmo/store.py", line 674, in async_get_registry
return cast(AlarmoStorage, await task)
TypeError: SensorEntry.init() got an unexpected keyword argument 'entity'

I just tried to perform a fresh install of Alarmo 1.9.9 under HA 2023.5.2.
For me the installation succeeded without problems (no errors in the integrations page, nor the HA logs).
I suggest to take a look in the .storage subfolder in your HA configuration folder.
Alarmo stores its settings in a alarmo.storage file within this directory.
Based on the error I am suspecting that there is an older version of this file stored, possibly due to a previous installation of alarmo which was not cleaned up properly.
In case you find such file, could you share it here such that I can reproduce the problem?
I am hopeful that after deleting this file the installation succeeds without issues.

Sorry I deleted the file before reading you entire responce.  This did the trick.  I don't recall trying to use it in the past, then again i've been using HA for a long time now.
THANKS for helping, i'll be sure to contribute to this intergration, great job by the way.


Improve test reliability

Closes #52

E2E Failure
How it is sometimes:
time="2021-12-09T18:20:39.980373Z" level=info msg="Got Connection" ConnInfo="{0xc000114008 false false 0s}" package=test-helper
time="2021-12-09T18:21:10.118036Z" level=info msg="API: Just before sending response status" created=true package=api
time="2021-12-09T18:21:10.118289Z" level=fatal msg="Couldn't create default environment for e2e tests" error="error executing request: EOF" package=e2e
FAIL	github.com/openHPI/poseidon/tests/e2e	30.155s

How it should always be:
time="2021-12-09T18:13:24.264255Z" level=info msg="Got Connection" ConnInfo="{0xc0000107a8 false false 0s}" package=test-helper
time="2021-12-09T18:13:34.406509Z" level=info msg="API: Just before sending response status" created=true package=api
time="2021-12-09T18:13:34.406671Z" level=info msg="Got first response byte" package=test-helper
time="2021-12-09T18:13:34.406769Z" level=info msg="Put Idle Conn" error="<nil>" package=test-helper
ok  	github.com/openHPI/poseidon/tests/e2e	20.158s

Since we do not receive the first response byte in the error case I assume that the server http handler is crashing.
Site note: I wonder why in all 10 e2e failures I have observed, the execution time is exactly 20.1xx or 30.1xx seconds...

E2E Failure
This error is caused by our set WriteTimeout configuration.
https://github.com/openHPI/poseidon/blob/dce895faff56de11e8c59c03032e097aff3a7760/cmd/poseidon/main.go#L76
I cannot remember why we have introduced this. One reason I can think of is to interrupt a faulty state of Poseidon. In practice, however, this does not solve the problem, since the complete Poseidon functionality is calculated and only then is it decided whether the calculated result is to be returned or discarded..
I think we should remove this configuration.

TestSendsSignalAfterTimeout
The go race detector identifies a race condition in this test case. But this is intended and with one second it should be enough time to schedule the right goroutine..
Since I added debug statements I cannot reproduce the error for many tries. For me it would be fine to keep it this way and investigate further when it becomes a problem again.

That's a really surprising result. As I was able to verify, this change dramatically increases the probability of a successful pipeline run. In my test, only 8% of all E2E tests would still fail, whereas with the write timeout 44% of all E2E tests would fail. This is a huge difference.
While I am able to observe the change, I am still unable to understand it. According to this or that source, the write timeout is not seen as something negative but rather a protective feature for slow and untrusted clients. From what I've read, it should work as a timeout and only cancel the request if it takes longer. Why is that not the case?
Additionally, I am wondering how this change might affect our production environment. For sure, we can assume CodeOcean is a trustworthy client (at least it should behave "normally"). I don't expect a major negative impact but couldn't it be that if a client is slow, we allocate too many resources in Poseidon? And why is this error not an issue for CodeOcean but only the E2E tests? If we found a real server error, I would have assumed that we could see similar errors in our production environment.
This change might be out of my horizon and I am fine if you acknowledge that this makes sense. I just want to prevent that we're fighting symptoms instead of the root cause...

Thank you for raising unclear points like this!

From what I've read, it should work as a timeout and only cancel the request if it takes longer. Why is that not the case?

Approximately it is. In your first reference we find the practical definition of the WriteTimeout: WriteTimeout normally covers the time from the end of the request header read to the end of the response write (a.k.a. the lifetime of the ServeHTTP)
With this I am quiet sure our root cause is that the request to create a new environment with ten runners takes longer than 15s and so the response is timed out.

a protective feature for slow and untrusted clients

I agree that both references warn about this vulnerability. Untrusted clients could read the response very slow and at the same time build up many connection leading to too many open connection (/reserved resources) and a crash of Poseidon. I see four solutions for this:

Declare Poseidon clients as trusted and accept this vulnerability.

We are vulnerable for a DOS attack by all members of the same network.

Approximate a maximum duration for all Poseidon requests and set it as WrtiteTimeout

"While this is a timeout-like behavior, it would be more useful to stop our server from further execution when it reaches the timeout, ending the request. In our example above, the handler proceeds to process the request until it completes, although it takes 100% longer (2 seconds) than the response write timeout time (1 second)."

Introduce a LimitListener that provides a maximum number of simultaneous connections.

We would also be vulnerable to DOS as we block all new requests and do not end the malicious slow reading ones.

Introduce a TimeoutHandler and set a timeout duration specific for each route.

Pro: We stop the execution in the moment the timeout is reached.
Contra: We continue to limit our execution time. The creation of an execution environment with x runners is potentially aborted in the middle.

And why is this error not an issue for CodeOcean but only the E2E tests?

Because usually CodeOcean runs only requests below 15s. And apart from that, it is. You have to try creating a new execution environment. When everything is correct except that it took longer than 15 seconds CodeOcean thows the error: Docker Image error: Could not synchronize execution environment because of Faraday error: #<Faraday::SSLError wrapped=#<OpenSSL::SSL::SSLError: SSL_read: decryption failed or bad record mac>>

only 8% of all E2E tests would still fail

Thanks for pointing out that our familiar error of the lost line-break is still there.

TestOutputToStdout
What made the test flaky is that Nomad sometimes splits the stdout into multiple WebSocket messages. We often put these messages back together. In this test, however, we explicitly accessed a specific ws message.

Now I get it, thanks for your explanation! I can relate to the SSL error (as I've seen this in CodeOcean before) and it reminds me of the synchronous response for new execution environments (which is good). I defentiley see the issue and also acknowledge that a response might take longer than 15 seconds in these cases.
I also think that the current approach of "terminating" the connection without sending a proper timeout response is not the best way to handle it: CodeOcean (or other clients) might fail with the TLS error and it causes the E2E tests to fail more often. Consequently, we should change it.
You presented several options to reintroduce the protective feature handled by the 15 seconds timeout - thanks for these! I came up with the similar ideas. All are valid options, based on the thread model that we face. For our use case, I would argue as follows:

Providing different timeouts for different routes would allow us to limit the attack to some routes but does not prevent it. Furthermore, any time limit could be reached by increasing the prewarming pool size. I think, it will shift the issue but not resolve it. Still, if we enable any WriteTimeout, the introduction of a TimeoutHandler would be suitable.
LimitListener will not prevent slow connections from blocking the all listeners.
Removing the timeout removes this protective feature at all (where 15 seconds was long anyway).

Hence, I would follow your suggestion to remove the timeout. Most other solutions will be too difficult to implement and maintain, I think. There is only one idea that came into my mind and mixes various concepts: Can we set a (relatively low) timeout for all unauthorized requests (e.g. those not containing the Poseidon-Token)? This will only affect the /health and any access to the API from unauthorized clients. As a consequence, an attacker is not able to exploit the service with slow connections if the token is not known (which would require any other attack to succeed beforehand). I consider even this idea as optional as we're operating an internal service anyway (even though it would increase our protection and thus might be a dedicated ticket?).
Back to the E2E tests: I also like your second approach of combining the output and agree: If we do that on many other places, we should also do it here. In my 25 tests, none of the E2E pipeline runs failed with these (well-known) errors. There was just a single failure of the TestStderrFifoIsRemoved which obviously does not occur that often.


Error occurred during initialization of VM

Error occurred during initialization of VM
Unable to load native library: dlopen failed: library "libandroid-spawn.so" not found

Please help me 🙏🙏🙏

Please help me 🙏🙏🙏

Java jdk is not installed properly, clear termux data and reinstall again


Chrome 下官网搜索跳转失效

Describe the bug

搜索跳转失效

Your Example Website or App
https://g6.antv.antgroup.com/manual/getting-started
Steps to Reproduce the Bug or Issue

搜索任意关键词跳转无效

Expected behavior

正确跳转到搜索的页面

Screenshots or Videos

跳转404

Platform

OS: macOS
Browser: Chrome
Version: 107.0.5304.110

Additional context
No response

解决咯


vvencFFapp is not installed

Sorry, it is me again :wink:
When building VVenC 1.11.1 like this:
cmake -G Ninja -S my_source_dir -B my_binary_dir \
    --install-prefix my_install_dir \
    -DCMAKE_CXX_STANDARD=23 \
    -DCMAKE_BUILD_TYPE=RelWithDebInfo \
    -DVVENC_TOPLEVEL_OUTPUT_DIRS=OFF

ninja -C my_binary_dir

# ninja -C my_binary_dir install
-- Install configuration: "RelWithDebInfo"
-- Installing: my_install_dir/include/vvenc/version.h
-- Up-to-date: my_install_dir/include/vvenc
-- Installing: my_install_dir/include/vvenc/vvenc.h
-- Installing: my_install_dir/include/vvenc/vvencCfg.h
-- Installing: my_install_dir/include/vvenc/vvencDecl.h
-- Installing: my_install_dir/lib/vvenc.lib
-- Installing: my_install_dir/bin/vvencapp.exe
-- Installing: my_install_dir/bin/vvencapp.pdb
-- Installing: my_install_dir/bin/vvencFFapp.pdb
-- Installing: my_install_dir/lib/cmake/vvenc/vvencConfig.cmake
-- Installing: my_install_dir/lib/cmake/vvenc/vvencConfigVersion.cmake
-- Installing: my_install_dir/lib/cmake/vvenc/vvencTargets-static.cmake
-- Installing: my_install_dir/lib/cmake/vvenc/vvencTargets-static-relwithdebinfo.cmake
-- Installing: my_install_dir/lib/pkgconfig/libvvenc.pc
ninja: Entering directory `my_binary_dir'
[0/1] Install the project...

While vvencFFapp.pdb is installed, vvencFFapp.exe is missing from the installation directory. My last known working version is 1.7.0.

Hi Bart,
If using cmake please add -DVVENC_INSTALL_FULLFEATURE_APP=1 to the build setup step.
We stopped installing it per default because it's not intended for external use by non-video-experts somehow familiar with VTM. You of course are one.
Best, Adam

Hi Adam, thanks for the quick response. I'll add that flag to my builds.
Isn't it surprising though that vvencFFapp.pdb is installed when VVENC_INSTALL_FULLFEATURE_APP=0?

Guess we missed that. Thanks for pointing it out.


empty ladle hint (use it on miso soup)

        t "hint for if you have empty ladle" # todo: empty ladle hint (use it on miso soup)

https://github.com/pixequil/oso-game-1/blob/c9953ec3e6480bd1dfa989c34c13f39644383997/game/toasty_hints.rpy#L28

"This ladle seems rather empty; maybe you should fill it up with something."

hints are conversations with toasty. you can look in the toasty_hints script file for an example

t " What are you doing with that?"
p "Dunno. A red guy gave it to me."
t "..."
p "What?"
t "This ladle seems rather empty: maybe you should fill it up with something, dumbass."
p "That was very rude."


Could I use this package for Meteor + Vue?

Could I use this package for Meteor + Vue?
Have any example project?

@thearabbit this is pure backend, ofcourse you can use it. We don't use vue.

Very thanks for your reply 👍


Add a function to snapshot the action scope

This will allow using the action scope on threads that are running okhttp async executions. Those threads are not tied to the original action thread in a coroutine-friendly way so we can't use the existing coroutine APIs to propagate the action scope. Instead we need some out-of-band mechanism, and this new function provides that ability.

Context for this PR (sorry, private slack channel) is at https://cash.slack.com/archives/C01M5M297T7/p1684293301465499?thread_ts=1677887172.336679&cid=C01M5M297T7


Add support for REQUEST type Lambda Authorizers

Description
Support for REQUEST authorizers was almost there, as the type authorizer property was mostly passed through to the CloudFormation templates. This PR extends the handler middleware to also treat events of type REQUEST as authorization events. It also extends the template creation to treat TOKEN and REQUEST type authorizers equal (defaulting to TOKEN just as before).
The most significant change is in the logic how the authorization type for API routes is derived from the authorizer type: Instead of assuming CUSTOM if the type is not specified, the authorizer type correctly defaults to TOKEN. The authorization type is then mapped to CUSTOM for both, TOKEN and REQUEST authorizers.
Added unit tests and tested on live environments on AWS.
GitHub Issues
Fixes #1159

Coverage increased (+0.02%) to 72.982% when pulling 73a82fd2a6085d26faac48c58b3dba3d92ba315d on tommie-lie:feature/request-authorizer into 80a6881f0ec0be525a8fd7835b5a1157f9e66100 on Miserlou:master.

Any news on this? thanks

I'd love this too, using zappa from this PR at the moment.

@Miserlou Would it be possible to have this functionality added, please?


Q: Webpack chunks

Is there documentation available about using Webpack chuncks for JS, so you can split code better and only load it when needed. (and for specific page templates).
When I create a new file for a specific page template, it looks like all the webpack code is generated again, which causes a very big file. (2000 lines). Am I doing something wrong or isn't it possible yet with the current webpack config?

Nevermind, guess this project isn't active anymore.


[Web] No autofill suggestions for new or existing save passwords and selected suggested password is not filled

Hi Team,
I have multiple issues with Auto fill feature.
Note : i have already linked the google account and turned on the sync

When textfield comes in focus, it didnot open the password suggestions automatically , Note : i have added the code for AutoFillHints.newPassword and tried AutoFillHints.password.
When i manually right click password textfield and click the suggest password from the options from context menu, it suggest random password in dropdown but when i click  the dropdown, it is not getting populated in the textfied, until if i have some text in the textfield and try the same process again.
When i move from the one tab to another and comes back, when i right click and choose the option suggest password , it is not even showing that dropdown for password suggestions.
Later i re-run the application and added the password and save it, if i comes back again to sigin screen, it is not proposing me the auto fill options of the email and password which was saved in the google account.

Please find the minimal sample to reproduce the issue.
test.zip
Also i am attaching video of it, because it is difficult to explain it with screenshots, as the issues are reproduced with the scenarios. Please find the video below,
https://user-images.githubusercontent.com/70260505/128376606-31f12c1b-6c38-4ed7-a4ce-1812fdfcb94b.mp4
NOTE: fixing this issue is blocked by https://bugs.chromium.org/p/chromium/issues/detail?id=649162
This is a new, Flutter-specific tracking issue
Note 2: https://bugs.chromium.org/p/chromium/issues/detail?id=1378402

Hi @jaikrishnachandrasekar, please share the output of flutter doctor -v to better investigate the issue.
Thank you

Hi @maheshmnj ,
Please find thre required information below,
[✓] Flutter (Channel beta, 2.3.0-24.1.pre, on Ubuntu 20.04.1 LTS 5.8.0-59-generic, locale en_IN)
• Flutter version 2.3.0-24.1.pre at /home/jaikrishna/Desktop/Flutter_SDK/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 615957513e (6 weeks ago), 2021-06-25 09:24:44 -0700
• Engine revision 9d517f475b
• Dart version 2.14.0 (build 2.14.0-188.5.beta)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
✗ 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/linux#android-setup for more details.
[✓] Chrome - develop for the web
• Chrome at google-chrome
[!] Android Studio (not installed)
• Android Studio not found; download from https://developer.android.com/studio/index.html
(or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).
[✓] IntelliJ IDEA Ultimate Edition (version 2021.2)
• IntelliJ at /snap/intellij-idea-ultimate/311
• Flutter plugin version 58.0.4
• Dart plugin version 212.4746.57
[✓] IntelliJ IDEA Ultimate Edition (version 2021.1)
• IntelliJ at /snap/intellij-idea-ultimate/306
• Flutter plugin version 55.0.5
• Dart plugin version 211.6693.108
[✓] VS Code
• VS Code at /snap/code/current
• Flutter extension version 3.24.0
[✓] Connected device (1 available)
• Chrome (web) • chrome • web-javascript • Google Chrome 91.0.4472.114
! Doctor found issues in 2 categories.

Hi @jaikrishnachandrasekar, I tried this in firefox and I could see the browser prompting me with a random password incase of chrome browser, I  don't see any such suggest password option on right click Is this anythin specific to OS?
And regarding your 4th issue there's already an issue filed here https://github.com/flutter/flutter/issues/87309
https://user-images.githubusercontent.com/31410839/128726269-2107c1d5-a749-460e-abf7-d7340124096f.mov

Hi @maheshmnj ,
Note: Right now i tested in the windows machine, google chrome still reproduces the issue in the windows machine too. And also other websites are working in the chrome browser.
The video which i posted earlier was from the chrome Linux, and now after your reply i tried from the linux firefox browser and it is working. What i shared is a minimal sample to reproduce the issue, i cannot ask our customers to use only the firefox browser.
i hope the issue reproduces when the chrome browser is used and also i tested in safari i did not get any pop up for suggest password and even if i right click it i dont find any options fot suggest password.

hI @jaikrishnachandrasekar
Thanks for filing the issue, I'm able to reproduce the issue on chrome on macOS, Windows, and Linux (same behavior on current stable.  (can't reproduce on other Flutter channels, blocked by https://github.com/flutter/flutter/issues/86497)
Let's summarize the issues you listed
1. No automatic suggestions for a new password

macOS
Windows
Linux

2. No automatic suggestions for already saved passwords (Even if I have multiple passwords saved for the same site, there is a suggestion dropdown to choose from), and the text field is automatically filled with one of the credentials. This will be problematic if I wanna choose another account for the same website.

macOS, Windows & Linux
https://user-images.githubusercontent.com/48603081/128888430-6f138314-d39c-4ef7-8efd-82a3de405c49.mov
2. When choosing suggest strong password, the text field is not filled

macOS

Windows

Linux

Your Point 4 is the same as point 1 and these don't reproduce on Firefox at least on stable channel

flutter doctor -v
[✓] Flutter (Channel stable, 2.2.3, on macOS 12.0 21A5294g darwin-x64, locale
    en-GB)
    • Flutter version 2.2.3 at /Users/tahatesser/Code/flutter_stable
    • Framework revision f4abaa0735 (6 weeks ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/tahatesser/Code/SDK
    • Platform android-31, build-tools 30.0.3
    • ANDROID_HOME = /Users/tahatesser/Code/SDK
    • Java binary at: /Users/tahatesser/Code/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment Temurin-11.0.12+7 (build
      11.0.12+7)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode-beta.app/Contents/Developer
    • Xcode 13.0, Build version 13A5201i
    • CocoaPods version 1.10.1

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

[!] Android Studio (version 2020.3)
    • Android Studio at /Users/tahatesser/Library/Application
      Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/203.7583922/Android
      Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

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

[✓] Connected device (3 available)
    • Taha’s iPhone (mobile) • 00008020-001059882212002E • ios            • iOS
      15.0
    • macOS (desktop)        • macos                     • darwin-x64     •
      macOS 12.0 21A5294g darwin-x64
    • Chrome (web)           • chrome                    • web-javascript •
      Google Chrome 92.0.4515.131

! Doctor found issues in 1 category.

I have also encountered the issue no. 2 on Flutter web. The user credentials are autofilled immediately when I press on the username or password field and it gets focused. This is not the expected behavior. When the field is focused, the browser's autofill suggestion hint should be displayed and clicked by the user, before the values are inserted.

same issue

same issue

Same problem here for the last 2 months at least. Maybe something in beta channel?

It's been at least 6 months, and nothing on the beta channel as that's the one I've been using all along.

same issue

Please leave an upvote on the original post 👍🏻 if you are affected by this issue.

same here
same issue

comments like these don't really add any value to this issue, but upvotes might do to help increase the priority of the issue..

Still not resolved? Chrome doesn't fill textfield.

https://api.flutter.dev/flutter/widgets/AutofillGroup-class.html
even the example here doesn't work as expected

Any update on this issue?

This is still reproducible as of stable 3.0.1 and the master 3.1.0 channel. Focusing on Textfield with Autofill enabled doesn't suggest anything.

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

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

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

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: AutofillGroup(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            const TextField(
              autofillHints: [AutofillHints.email],
            ),
            const SizedBox(
              height: 20,
            ),
            const TextField(
              autofillHints: [AutofillHints.password],
            ),
            const SizedBox(
              height: 20,
            ),
            ElevatedButton(
              child: const Text("Save the credentials"),
              onPressed: () {
                TextInput.finishAutofillContext(shouldSave: true);
                debugPrint("Saving");
              },
            ),
          ],
        ),
      ),
    );
  }
}

flutter doctor -v (mac)
[✓] Flutter (Channel stable, 3.0.1, on macOS 12.3 21E230 darwin-arm, locale en-IN)
    • Flutter version 3.0.1 at /Users/mahesh/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision fb57da5f94 (3 days ago), 2022-05-19 15:50:29 -0700
    • Engine revision caaafc5604
    • Dart version 2.17.1
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-32, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    • All Android licenses accepted.

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

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

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

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

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

[✓] Connected device (4 available)
    • Redmi K20 Pro (mobile) • <IP_ADDRESS>:5555                     • android-arm64  • Android 11 (API 30)
    • iPhone 12 Pro (mobile) • 19FD0231-BFF0-441D-B584-AD94C4084525 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-15-2 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.3 21E230 darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 101.0.4951.64

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

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 3.1.0-0.0.pre.1138, on macOS 12.4 21F79 darwin-arm, locale en-IN)
    • Flutter version 3.1.0-0.0.pre.1138 at /Users/mahesh/Documents/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d9be807192 (26 hours ago), 2022-06-06 21:16:49 -0700
    • Engine revision 48864fc837
    • Dart version 2.18.0 (build 2.18.0-170.0.dev)
    • DevTools version 2.14.0

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

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

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

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

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

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

[✓] Connected device (3 available)
    • iPhone 12 Pro (mobile) • 6AE1D692-DB57-4C3E-ADCA-66842182426B • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.4 21F79 darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 102.0.5005.61

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

• No issues found!

I suspect this has to do with the fact the form is in shadow DOM. @yjbanov is there a way to pull the form out of the #shadow-root thing?

Same here on stable 3.0.1

Same here on stable 3.0.1. This is a major problem for us and prevents us from using Flutter in any further web project.

Same here. We develop an international payment system on Flutter Web.
Is there any chance on having this update soon?
p.s. We do understand that it's not an easy issue to fix

Can only agree, just feel the issue is not being stressed enough. The importance of autofilling the user credentials cannot be overstated. Lack thereof is simply a show stopper for any web app that includes log in.

This is definitely a blocker for me, my customers (and I guess I'm not the only one) cannot even think about a web app without autofill 😬

@LongCatIsLooong Why do we use shadowDom and put form to it?

any update ?

@LongCatIsLooong is this something in your gift to fix or do we need to escalate through other channels? Thanks

This is definitely a major blocker to adoption of an otherwise very good platform.  Is there any ETA for resolution?  This bug has been open for almost an entire year now.

Birthday of the issue ! 🥳 Can we have an update as a gift please ? 🙃 (I'm trying 😬)
@LongCatIsLooong

Any fixes to this problem?

Using the provided test.zip, I could reproduce the error on Google Chrome 104.0.5112.79 but works on Mozilla Firefox 103.0. On Firefox, I still had to click twice to get the suggestion https://github.com/flutter/flutter/issues/66356 but that's something else.
@Oleh-Sv I had a look at the html code, both had shadow dom.
@nturgut @mdebbar any idea why there is a different behaviour even if there is a specific FirefoxTextEditingStrategy ? Could the issue come from DefaultTextEditingStrategy not trigerring correctly in chrome ?
I'm probably not aware of everything happening in this TextField widget but I tried to understand the issue 😬 Could you help us with this issue ?
On the video below, an example of the behaviour in Chrome (left) and Firefox (right).
The Submit button is the following one:
ElevatedButton(
    onPressed: () {
        TextInput.finishAutofillContext();
    },
    child: const Text('Submit'),
)

https://user-images.githubusercontent.com/35189782/183286555-ce4e9fcc-d7a2-482b-801f-d71ce5ff5078.mp4

flutter doctor -v
[✓] Flutter (Channel stable, 3.0.5, on Ubuntu 20.04.4 LTS 5.15.0-43-generic, locale en_US.UTF-8)
    • Flutter version 3.0.5 at /home/theoguidoux/snap/flutter/common/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f1875d570e (4 weeks ago), 2022-07-13 11:24:16 -0700
    • Engine revision e85ea0e79c
    • Dart version 2.17.6
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /home/theoguidoux/Android/Sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /home/theoguidoux/Android/Sdk
    • Java binary at: /opt/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Linux toolchain - develop for Linux desktop
    • clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
    • cmake version 3.10.2
    • ninja version 1.8.2
    • pkg-config version 0.29.1

[✓] Android Studio (version 2020.3)
    • Android Studio at /opt/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.10+0-b96-7249189)

[✓] VS Code (version 1.70.0)
    • VS Code at /usr/share/code
    • Flutter extension version 3.46.0

[✓] Connected device (2 available)
    • Linux (desktop) • linux  • linux-x64      • Ubuntu 20.04.4 LTS 5.15.0-43-generic
    • Chrome (web)    • chrome • web-javascript • Google Chrome 104.0.5112.79

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

• No issues found!

any solution for this problem?

I have two production Flutter web apps and this is my biggest problem with Flutter web.
We will not be porting them since we've invested thousands of hours into these projects and we love Flutter. However we are shitmixing our own solution to bypass this (by adding an alternative email code login). One would think that this issue was a higher priority than leaving it open for 13 months and counting.

any progress on this?

https://user-images.githubusercontent.com/17007214/188985142-e07acfe5-b203-4a54-bd9f-834618170cdc.mov
Exists one workaround for anyone who really needs this feature right now.

You can build custom version of flutter engine without using ShadowDom. After this change autofill works good in all browsers.
It can produce bugs, but for my enough big project I didn't notice any problems. You can use at your own risk.

Over a year has passed and there is no solution. But how can you present a web solution in 2022 that does not have the login autofill?
Please, resolve this as soon as possible because it is essential.

@Cisty77 I think Flutter team will not approve my PR. Maybe if someone who decided to move form under shadow tree tell me that we can move it to light DOM - I will make PR where move form to light DOM.

A pretty horrible workaround based on your solution, @Oleh-Sv , is to add
<script>
    // Disable shadow dom to work around https://github.com/flutter/flutter/issues/87735
    Element.prototype.attachShadow = null;
  </script>

at the top of your index.html head tag. That way you don't need to alter flutter's engine to disable shadow dom.
I do not advise to use this.

With this workaround it works. It should be understood what will break in the rest of the project

Wouhou ! :partying_face:
I found a temporary fix to avoid disabling shadowDom completely, based on @abarisain and @Oleh-Sv answers.
In your web/index.html file, add this
  <script type="application/javascript">

    // Disable shadow dom for FLT-GLASS-PANE by overriding
    // `attachShadow` to avoid the following issue:
    // https://github.com/flutter/flutter/issues/87735

    Element.prototype._attachShadow = Element.prototype.attachShadow;
    Element.prototype.attachShadow = function (init) {

      if (this.tagName == "FLT-GLASS-PANE") {

        _element = document.createElement('flt-element-host-node');
        this.appendChild(_element);

        return _element;
      }

      return this._attachShadow(init);
    };

  </script>

Below <script src="main.dart.js" type="application/javascript"></script>
The idea behind this fix is to fake the attachShadow() call of the ShadowDomHostNode and replace the content created by the one from the ElementHostNode.
Pretty hacky I have to admit but works as expected, I'm also on a quite big project and I did not see any issue in other parts of the app:
https://user-images.githubusercontent.com/35189782/190852039-d7e9c5fb-bf46-4164-9ce8-1df1f5ffb5be.mp4
Hopefully this will be fixed soon to avoid doing this kind of thing.

Well Theo, you're quite the resourceful guy. I've tried it and it seems to work.
Thanks for sharing.
Let's hope there's no unforeseen side effects. If anyone finds any, please do share. I'm using this in a production web app.
Hopefully the Flutter team incorporates this into the framework soon.

Wouhou ! 🥳 I found a temporary fix to avoid disabling shadowDom completely, based on @abarisain and @Oleh-Sv answers.
In your web/index.html file, add this
  <script type="application/javascript">

    // Disable shadow dom for FLT-GLASS-PANE by overriding
    // `attachShadow` to avoid the following issue:
    // https://github.com/flutter/flutter/issues/87735

    Element.prototype._attachShadow = Element.prototype.attachShadow;
    Element.prototype.attachShadow = function (init) {

      if (this.tagName == "FLT-GLASS-PANE") {

        _element = document.createElement('flt-element-host-node');
        this.appendChild(_element);

        return _element;
      }

      return this._attachShadow(init);
    };

  </script>

Below <script src="main.dart.js" type="application/javascript"></script>
The idea behind this fix is to fake the attachShadow() call of the ShadowDomHostNode and replace the content created by the one from the ElementHostNode.
Pretty hacky I have to admit but works as expected, I'm also on a quite big project and I did not see any issue in other parts of the app:
flutter-issue-87735-tmp-fix-2022-09-17_12.14.10.mp4
Hopefully this will be fixed soon to avoid doing this kind of thing.

It still breaks url_launcher package with support to display link address in the Chrome on left bottom side.  Is there any to block it only on one page?

@BarRemisz I am using this code for ignore shadow Dom only on login page
    Element.prototype._attachShadow = Element.prototype.attachShadow;
    Element.prototype.attachShadow = function (init) {
      if (this.tagName == "FLT-GLASS-PANE" && window.location.pathname == '/login') {

        _element = document.createElement('flt-element-host-node');
        this.appendChild(_element);

        return _element;
      }

      return this._attachShadow(init);
    };

@BarRemisz I am using this code for ignore shadow Dom only on login page. Thanks @zetechmoy for excellent idea.
P.S I noticed that if I disable attachShadow for whole app google maps and video player becomes broken, but on login page I don't have anything except login form. If I disable attachShadow only for this page - everything works cool.
    Element.prototype._attachShadow = Element.prototype.attachShadow;
    Element.prototype.attachShadow = function (init) {
      if (this.tagName == "FLT-GLASS-PANE" && window.location.pathname == '/login') {

    _element = document.createElement('flt-element-host-node');
    this.appendChild(_element);

    return _element;
  }

  return this._attachShadow(init);
};

@Oleh-Sv sir can you please help me out
Thats the url that i am trying to ignoring dom shadow
dev.mywebsite.com/#/sign-in

@MalikSamiAwan you are using hashUrlStrategy in your project, but I am using pathNavigationStrategy (it has many differences, but if simple your url contains #). You should use window.location.hash == '#/sign-in'

@Oleh-Sv thanks for you answer, but in my case it didn't helped. I don't know why but
Element.prototype.attachShadow = function (init) {

is invoked only once at start of the web app. No matter what kind of navigation is made. The function is not invoked second time. I've even changed to pathUrlStrategy, but with no luck. Maybe the used "navigator" is the issue. I am using auto_route package - maybe this information will help somebody to find solution. I will try later to somehow invoke it manually.

@Oleh-Sv Thanks for answering
i have changed this but it still does not work for me
could you please verify that the form code is correct
Form(
                key: _key,
                child: Column(
                  children: [
                    AutofillGroup(
                      child: KeyboardForm(
                          onEnter: () async {
                            await _onSubmit(context);
                          },
                          fields: [
                            HTextField(
                              autofillHints: [AutofillHints.email],
                              onFieldSubmitted: (x) {
                                _onSubmit(context);
                              },
                              onChanged: (x) => values['email'] =
                                  (x ?? '').toLowerCase().trim(),
                              hint: 'Email',
                              validator: Validators.emailValidator,
                            ),
                            UIHelper.getSizedBox(3),
                            HTextField(
                              autofillHints: [AutofillHints.password],
                              onFieldSubmitted: (x) {
                                _onSubmit(context);
                              },
                              obscure: true,
                              onChanged: (x) => values['password'] = x,
                              hint: 'Password',
                              validator: pvalidator,
                            ),
                            UIHelper.getSizedBox(3),
                          ],
                          primaryTitle: 'SIGN IN'),
                    ),
                    UIHelper.getSizedBox(2),
                    TextButton(
                        onPressed: () {
                          Navigator.of(context).pushNamed('/forgot-password');
                        },
                        child: const Text(
                          "Forgot Password ?",
                          style: TextStyle(),
                        )),
                    UIHelper.getSizedBox(2),
                    Row(
                      mainAxisAlignment: MainAxisAlignment.center,
                      children: [
                        const Text("Don\'t have an account ? "),
                        TextButton(
                            onPressed: () {
                              Navigator.of(context).pushNamed('/sign-up');
                            },
                            child: const Text("Sign Up",
                                style: TextStyle(fontWeight: FontWeight.w300)))
                      ],
                    ),
                  ],
                ),
              )

@Oleh-Sv Thanks sir for help it worked.

I have noticed that after navigation from/to prepared page (e.g. login page) function attachShadow is not invoked. Taking into account, that flutter web is more like application it's proper behavior. So my solution is more complicated. Below is list what I've done:

create external function JS in dart (my had name checkAndFixDomShadow)
create NavigatorObserver and check if it is "login page" in separate method for each of overridden methods push/pop/replace/remove
add to the script of Oleh-Sv something like this:

    window.checkAndFixDomShadow = function (isLoginPage) {
      const elements3 = document.querySelectorAll('flt-glass-pane');
      var hasShadow = elements3[0].shadowRoot != null;
      var isInLocationLogin = isLoginPage || window.location.hash == '#/page-login';
      if (isInLocationLogin && hasShadow == true || isInLocationLogin == false && hasShadow == false) {
        window.location.reload();
      }
    };

How it works:
whenever user gets on login page, the page refreshes itself to force init attachShadow function. When user gets somewhere else and shadow is still "disabled" then it refreshes that page but with normal ShadowDOMHostNode - so everything goes back to normal. Of course app needs to be able to handle it's state on reload/refresh.
One of the worst hackfix'es I've ever made. I hope priority change to P3 means that it will be fixed in near future.

Chromium-side issue: https://bugs.chromium.org/p/chromium/issues/detail?id=649162

Ditto regarding behaviour changing with browser - same issue as others mention in Chrome, no issue in Firefox

Chromium-side issue: https://bugs.chromium.org/p/chromium/issues/detail?id=649162

Everybody please star the Chromium issue that is causing this bug.

We've created a Flutter-specific tracking issue - https://bugs.chromium.org/p/chromium/issues/detail?id=1378402
...and we have chrome folks actively engaged. 🤞

still no solution for this ?

@Oleh-Sv
@zetechmoy
https://github.com/flutter/flutter/issues/87735#issuecomment-1251177412
Thank you for this solution. there is only one problem:
after autofilling this exception is thrown in the browser:

@Oleh-Sv @zetechmoy
#87735 (comment)
Thank you for this solution. there is only one problem: after autofilling this exception is thrown in the browser:

Hey @matanyos
I have the same thing sadly... This problem is annoying but this solution is a temporary fix, it's pretty hacky and in this situation it creats an error.

I'm using this solution since few months in prod now and I did not experience any problem with it except this error which does not impact anything in my case.
If I find a workaround, I'll share it of course.

@Oleh-Sv @zetechmoy
#87735 (comment)
Thank you for this solution. there is only one problem: after autofilling this exception is thrown in the browser:

Hey @matanyos
I have the same thing sadly... This problem is annoying but this solution is a temporary fix, it's pretty hacky and in this situation it creats an error.

I'm using this solution since few months in prod now and I did not experience any problem with it except this error which does not impact anything in my case.
If I find a workaround, I'll share it of course.

Thank you for your reply. Let's hope that flutter Team fix it then.

Chromium issue fixed already hopefully, waiting for the Flutter fix
https://github.com/WICG/webcomponents/issues/187

Here is a test app I made for this issue. These pages are auto-built once a week for Flutter channels stable, beta, and master.
https://rexios80.github.io/flutter_autofill_test/stable
https://rexios80.github.io/flutter_autofill_test/beta
https://rexios80.github.io/flutter_autofill_test/master

For folks folks tracking here, I'll let you know when we have a flutter/flutter roll with the engine w/ this fix.
We'd LOVE you to try out scenarios – if possible – on the master channel to make sure this is working!

https://github.com/flutter/engine/commit/0416103cea9fc174916b938c2e1c05afd1050253

Has this been fixed?

What about on iOS?
https://github.com/flutter/flutter/issues/99356
Looks like above was closed but this really doesn't work.
Please help.

Still not working on the latest version of Chrome on iOS, autocompletion is suggested but it does not fill the password field
Also it does not work on iOS Safari
https://user-images.githubusercontent.com/97469482/229487042-fcd7a3c3-f4e8-41a9-a602-03d912fe3056.MOV

Has this been fixed?

No, it does not work for any Flutter Web.
Tested with Flutter 3.7.5, 3.7.6, 3.7.7, 3.7.8, 3.7.9
Desktop Chrome 111.0.5563.147 (Official Build) (64-bit)
Android Chrome 111.0.5563.116

The fix was reverted. thanks so much for your patience. Let us dig in today
On Mon, Apr 3, 2023, 03:45 zs-dima @.***> wrote:

Has this been fixed?
No, it does not work for any Flutter Web.
Tested with Flutter 3.7.5, 3.7.6, 3.7.7, 3.7.8, 3.7.9
Desktop Chrome 111.0.5563.147 (Official Build) (64-bit)
Android Chrome 111.0.5563.116
—
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/87735#issuecomment-1494091935,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAEFCQOVC7VUWXDKK3DWLLW7KS5TANCNFSM5BUC4GSA
.
You are receiving this because you commented.Message ID:
@.***>

Reopening because the fix was rolled back.

Is this merged in yet? It looks like it is, but if so it isn't working on my test app. It seems like Chrome can see the email field and gives options to autofill email addresses it's seen before, but 1Password can't do anything useful.
https://rexios80.github.io/flutter_autofill_test/master

https://user-images.githubusercontent.com/7896519/231334430-6db71f5b-40b9-497a-bb40-487e32120890.mov
Autofill works, but the blue box covers up the email field for some reason

@Rexios80 – I'd call that progress. Which browser?

Oh also it looks like the field you have focused when autofilling gets the blue box. If I have the password field focused it has the blue box over it.

@kevmoo @Rexios80 The blue box is 1Password changing the background color of the focused input field. We might need to force the transparency Flutter requires somehow, but the 1Password CSS rule is already awfully specific (and includes an !important).

Even applying background-color on the element style with a value of transparent !important doesn't seem to be able to override this rule. This is the case in both Firefox and Chrome, and I'm assuming others. I'm looking into a workaround.

@kevmoo Is there a reason Flutter's input fields need to be opacity: 1? So far, I've found that nothing in the world overrides an injected style in either browser - the only viable workaround for now to make the stark color disappear has been making the whole element disappear, but I understand this might be problematic for other reasons.

For the opacity change, I'm guessing it's not feasible first and foremost because we couldn't use the browser's spellcheck (or rather the accompanying squiggly lines) anymore.
Removing the data-com-onepassword-filled attribute works, obviously, as does triggering an input event programmatically (since 1Password removes the attribute itself when the value is modified), but both of those seem like awful workarounds. The first one also only works for 1Password specifically, and I would really rather not have weird hacks like that in the framework. The second, while it might work, also seems terribly shoddy, in addition to it being fairly hard (although not impossible) to tell when the event should be triggered in the first place.

@skreborn Flutter delegates the styling of inputs to the framework and hides the default browser styles - this is done to achieve consistency across different platforms, so removing opacity styling would likely lead to other visual issues.  The styles applied to the input are all inline and have the highest specificity, but since the 1P injected styles are applied afterwards and include !important, there isn't a straightforward way to override them.
The good news is that we have a proposal for a text editing solution that inverts the styling delegation of these inputs in a way that is more consistent with native browser behavior: https://github.com/flutter/flutter/issues/120613.  I believe this 1Password issue is an example of what could be solved with that proposal.
Let's close this issue since the root cause is fixed.  @Rexios80 please open an issue for the 1Password styling bug so we move the discussion there.


SNAP-3054 :

What changes were proposed in this pull request?

Renaming page headers from "JDBC/ODBC Server" to "Hive Thrift Server" and "JDBC/ODBC Session" to "Hive Thrift Session".

How was this patch tested?

Tested manually.

It is just page header name change. Review is not required.


introducing start/end offset

when set, start and end offsets control start of the audio and its duration.
Closes https://github.com/vmudigal/ngx-audio-player/issues/59

Available in "ngx-audio-player": "^9.0.8"
https://www.npmjs.com/package/ngx-audio-player/v/9.0.8


Add channel starboard feature

Note that this is designed with the fact it will be used solely by mods in mind, so it does not actually have a way to remove a "pin" except deleting the message, and it has not been thoroughly QA'd.

Supported message properties copied over: text, images, videos, GIFs, rich embeds, components, current username and avatar
Hit-or-miss message properties: specialized link embeds like YouTube (it can't copy them, so just have to hope Discord generates it automatically, which it usually does but not always)
Unsupported message properties: I guess if you somehow find a message with five rows of components and want to pin it, one row will need to be bumped off, but why tho. Also, can't copy role colors because of webhook limitations.
Demo:
https://user-images.githubusercontent.com/92685708/202837608-59a88898-84a4-48fe-adb0-4d53174dd8fc.mp4
As mentioned, the only way to delete a pin is to delete the message in the thread, and there is no auto-deletion of pinned messages when the source is deleted. However, since it's meant for internal mod use rather than being a proper starboard solution, this shouldn't be a major problem.


Depth texture instead of pack/unpack.

For ShadowMaps consider using WEBGL_depth_texture  instead of pack/unpack for browsers that do support that extension, 82%.
And use pack/unpack as fallback.

Implemented it, but didn't found significant performance difference. Same on PC, very slightly faster on a Mali GPU tablet, slightly slower (why?) on iPhone 5s.


Fix unsafe navigation from non-existing space to org

Fixes #2335

[x] I have reviewed the contributing guide

[x] I have viewed, signed, and submitted the Contributor License Agreement

[x] I have made this pull request to the main branch

[x] I have run all the unit tests using bundle exec rake

[ ] I have run CF Acceptance Tests

@bepotts and I have resolved the merge conflict which was introduced during the Space Application Supporter => Space Supporter rename. We have opened a new PR with the resolved merge conflict.


Main

Appended Name In Main Branch Of Repository 🚀🚀✔

We are not using this branch yet, please use the default branch master

@DRISHTANT-DUBEY This repo was archived for awhile. Just checking in to see if you would like this to be merged,
Could you pull out all the changes that are only on the main branch?