WIP: Feature: logging capability

:warning: work in progress :warning:
This issue would close #224. But in a more generic way, that allows users to define their own Logging capabilities easier than previous attempts, and without having to expose our macros.
The idea is that - especially - with the advent of CE3, it's a shame to have to pass along such a powerful capability like Sync[F] everywhere you just need logging. And since more and more people are moving towards the pattern of "instantiate a bunch of specific capabilities in your main then pass along where needed", I would like for log4cats to encourage users to do the same with logging.
Now, the problem is that the macros we have for sl4j specifically is not ameanable to user extension, meaning that we couldn't provide a user friendly API for creating loggers with zero params. That's why I wrote, and introduced the enclosure microlibrary that solves the issue of getting the enclosing class/object/package name as a data structure, that you can do anything with. The library itself is well tested, and outputs the same things as our sl4j macros.
Featured are these two traits (better names please):
trait LoggingGenId[F[_], LoggerType <: Logger[F]] {
  // in slf4 implemented as Slf4jLogger.getLoggerFromName(enc.fullModuleName), and is equivalent to our current macro implementation
  def getLogger(implicit enc: Enclosure): LoggerType

  def getLoggerFromName(name: String): LoggerType

  def getLoggerFromClass(clazz: Class[_]): LoggerType
}

trait LoggingGenF[F[_], LoggerType <: Logger[F]] {
  def create(implicit enc: Enclosure): F[LoggerType]

  def fromName(name: String): F[LoggerType]

  def fromClass(clazz: Class[_]): F[LoggerType]
}

// --------- usage in userland
// warning: compiled with mental compiler :)
object MyApp extends IOApp {
  import org.typelevel.log4cats._
  import org.typelevel.log4cats.slf4j._

  override def run(args: List[String]): IO[ExitCode] = runF[IO].as(ExitCode.Success)

  def runF[F[_]: Sync]: F[Unit] = {
    implicit val logging: Logging[F] = Slf4jLogging.createForSync[F]
    val myComplexLogic =  new MyComplexLogic[F]()
    myComplexLogic.thisIsMyDomainLogic
  }

  // no kitchen Sync anymore
  class MyComplexLogic[F[_]: Logging: Monad] {
     private val logger = Logging[F]

     def thisIsMyDomainLogic(s: String): F[Unit] = for {
        _ <- logger.info(s"complex logic for: $s")
        //complex logic here, and everywhere else. But I know it's only in Monad, and logging
        _ <- logger.warn(s"complex logic again for: $s")
     } yield ()
  }
}

Which you can see, from a user perspective offers the same user friendly method as the Slf4jLogger.getLogger macro backed one. But, again, in an extensible way, especially on the user side. This is extra useful in case users will want to write their own logger capabilities that talk to various external services, while maintaining the ability to create loggers with the same naming pattern.
I understand that it's a tough decision to add an external dependency, but I'd be more than happy to donate to typelevel the enclosure library, and maintain it myself.
Various other advantages to this approach:

can be forwardported
downstream libraries can ask for a Logging capability trait
future backend implementations (at some point there will be a pure cats-effect logging library :stuck_out_tongue:) can implement the logger naming convention without duplicating the same macros over and over again.
we can even remove the macros entirely from log4cats in a bin-compat breaking release, and just reimplement the Slf4jLogger.getLogger[F] using Enclosure in a source compatible way.
offloads macro maintenance to the downstream library (I also tried writing enclosure's macros to be a bit more readable for the maintainer)

Todo:

[ ] bikeshed names for the capability traits. I am lacking ideas for LoggingGenId and LoggingGenF specifically.
[ ] write docs explaining the capability trait, and why it's a good idea to use instead of passing along Sync[F] everywhere.

See gitter discussion for ideas


Additive blending of Quats looks suspect

I believe this was previously noticed by @djeedai in the review of the Animatable trait rollout.
I am not an expert in this subject, but here is my understanding.
Context
In additive animation blending, a sample from an animation clip represents a relative displacement rather than an absolute quantity; this is applied on top of other animations by combining the displacement with the absolute quantity "underneath". Like non-additive animation blending (which interpolates between two absolute quantities instead), this can be used in concert with a weight which indicates the strength of the sample's influence in the blend. For additive blending, this means that, as the weight tends to zero, the displacement also attenuates; with a weight of zero, the blend should have no effect on the existing quantity.
For example, additive blending of translational components works something like this:
let (displacement, weight): (Vec3, f32) = incoming_sample;
translation += displacement * weight

The right-hand side of this is perhaps best conceptualized as:
Vec3::lerp(Vec3::ZERO, displacement, weight)

In other words, the additively blended sample is interpolated with zero and then composed with the existing value.
The mismatch
Now, currently additive blending for Quat works like this:
let (rot_displacement, weight): (Quat, f32) = incoming_sample;
rotation = rotation.slerp(rot_displacement, weight);

What I would expect based on my understanding of additive blending is instead something like this:
let (rot_displacement, weight): (Quat, f32) = incoming_sample;
rotation = Quat::slerp(Quat::IDENTITY, rot_displacement, weight) * rotation;

Note that these are definitely not equivalent — when the incoming sample is Quat::IDENTITY, the latter never has any effect, while the former (with positive weight) will slerp the current rotation state towards the default orientation.
Of course, it's possible this was an intentional decision and I'm missing something; this is just my understanding of things.

I also wonder how this works with adding multiple additive animations. (That is an intended use-case right?)
In the case of translations, this operation is associative, in the current quaternion case it is not. (but would be in the suggested one).
To me it looks like we're trying to exponentiate group elements here.
We have some group G (of translations, rotations, etc...) we are animating and we have a sample s.
We then have another element a which we want to additively blend, that is, compose it: s <- a * s
(question: is the composition supposed to be a left or right composition? it doesn't matter for translations as they commute, but it does matter for rotations)
We then want to introduce a real-number weight parameter w such that w = 0 does nothing (s <- s) and w = 1 does the full effect of a (s <- a * s), intuitively I'd think that w = 2 should do the effect twice s <- a * a * s and w = 0.5 should do it "half" in the sense that it would have to be applied twice to obtain the effect of w = 1.
This points me to the idea that we're looking for an operation of group exponentiation a^w that follows the standard expected behaviour:
a^0 = identity
a^1 = a
a^(x+y) = a^x * a^y
notably:
a^2 = a * a
and
a = a^0.5 * a^0.5

As far as I know, the sound way to mathematically define this is to:
A) map the group element into its lie algebra (which is a vector space)
B) scale the vector
C) map back to a group element
a^w := exp(w * ln(a))
In the case of translations, the group of vectors is already the lie algebra, hence no visible mapping happens and we just do the vector scaling.
In the case of rotations, unless I'm mistaken, this procedure yields
Quat::slerp(Quat::IDENTITY, a, w)
TL;DR: From a math standpoint I believe that the code is wrong and the new proposal is sound.
I don't know if there's an animation reason to do it mathematically unsoundly like this (why is this behaviour desired?)
Also I wonder if we should left-compose or right-compose the additive rotation?

I think left-composing might be the correct option, because it applies the additive operation "after" the base one, which sounds more like the expected behaviour of "adding on top". But I can't speak for animation.

Yes I'm convinced the current code is wrong as commented in the original PR #4482 and I had linked an animation article coming to the same conclusions as above that you need to slerp with identity. See also https://github.com/bevyengine/bevy/pull/4482#issuecomment-1918448199 which I don't necessarily agree (I'm not sure) with but would have been worth an answer too.


yum-epel repository is not required for amazon platform_family

monit package is available via amazon repository and yum-epel is not required for amazon platform.
submitting a PR..

good deal, thanks!

resolved in https://github.com/bbg-cookbooks/monit-ng/pull/12


Cannot access Menu in ODK Collect 1.4.11 (Build 1062) Android 4.4.2

This may be related to #706
I'm testing ODK Collect v 1.4.11 (Build 1062), latest version at the time of writing, on a few Androids of different size and age, and funnily, the menu dots (accessing General and Admin settings) are not showing on one of the devices (left in screenshot):

Device not showing menu:

Samsung SM-T210, Android 4.4.2 (latest available update on that device), screen approx 7".

Devices working fine are:

Motorola Moto G4+, Android 6.0.1, screen approx 5", bought Nov 2016
Samsung Galaxy Tablet S2, Android 6.0.1, screen 9.7", bought Nov 2016

So the obvious difference is the Android version (fine on latest 6.0.1, not showing on older 4.4.2) and the screen size (funnily the smallest and the largest screens work).
I tried tapping, holding, swiping all bits of the UI but I don't seem to be able to find the menu.
#706 reads to me that the reporter saw the three menu dots after all - I don't have them. Also, tapping the area where the dots should show doesn't open the menu either.
Any advice highly appreciated!

Solved. The menu opens when tapping the off-screen, hardware "menu" sensor, right next to the home button and "back" sensor. Maybe worth mentioning in the "for dummies" section in the docs. I totally did not expect to leave the screen for navigating the app :-)
I'd still be happy to see the three menu dots in the title bar, but as the device in question is running an older Android version, this is not really urgent.


fix: the sdk error

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Reference database by UUID

@betodealmeida I know you've been looking at this. I've seen something that I think is kind of related to this issue (or at least may be solved by the same solution). With cockroach DB, the id column in the generated query is defined using unique_rowid().
node table
CREATE TABLE public.node (
  name VARCHAR NULL,
  created_at TIMESTAMPTZ NULL,
  updated_at TIMESTAMPTZ NULL,
  type public.nodetype NULL,
  id INT8 NOT NULL DEFAULT unique_rowid(),
  description VARCHAR NULL,
  query VARCHAR NULL,
  CONSTRAINT node_pkey PRIMARY KEY (id ASC),
  UNIQUE INDEX node_name_key (name ASC),
  INDEX ix_node_description (description ASC),
  INDEX ix_node_id (id ASC),
  INDEX ix_node_query (query ASC)
)

This sets huge numbers as the ID for nodes and databases, for example<PHONE_NUMBER>94337500, which causes issues when hitting the API.
| => curl "http://localhost:8000/metrics/" | jq
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   407  100   407    0     0  11305      0 --:--:-- --:--:-- --:--:-- 11305
[
  {
    "id":<PHONE_NUMBER>94337500,
    "name": "kaggle.num_playtime_events",
    "description": "Number of Steam user playtime events captured",
    "created_at": "2022-10-11T20:45:24.817571+00:00",
    "updated_at": "2022-10-11T20:45:24.817576+00:00",
    "query": "SELECT COUNT(*) FROM kaggle.playtime",
    "dimensions": [
      "kaggle.playtime.amount",
      "kaggle.playtime.behavior",
      "kaggle.playtime.game",
      "kaggle.playtime.user_id",
      "kaggle.playtime.zero"
    ]
  }
]
| => curl "http://localhost:8000/metrics/804292935094337500/sql/?database_id=804292934582501400/" | jq
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   109  100   109    0     0  21800      0 --:--:-- --:--:-- --:--:-- 21800
{
  "detail": [
    {
      "loc": [
        "query",
        "database_id"
      ],
      "msg": "value is not a valid integer",
      "type": "type_error.integer"
    }
  ]
}

Would it make more sense to make this field a string and for DJ to take control of setting the UUID instead of leaving it to the database? We could set the field to be unique and then just generate a uuid (i.e. import uuid; uuid.uuid4().hex) and then include a single retry for the very rare case where the generated uuid already exists in the database. Let me know what you think.

Would it make more sense to make this field a string and for DJ to take control of setting the UUID instead of leaving it to the database? We could set the field to be unique and then just generate a uuid (i.e. import uuid; uuid.uuid4().hex) and then include a single retry for the very rare case where the generated uuid already exists in the database. Let me know what you think.

SQLAlchemy provides an abstraction when we set the type to UUID — if the database can generate it automatically it will, since it's faster, otherwise it falls back to generating in Python.
I have the PR almost ready, I'll finish it this week.


[Question] How to turn off Firebase, GPGS, and ADmob logs?

[REQUIRED] Please fill in the following fields:

Unity editor version: _____
Firebase Unity SDK version: _____ 9.6.0
Source you installed the SDK: _____ (.unitypackage or Unity Package Manager)
Problematic Firebase Component: _____ (Auth, Database, etc.)
Other Firebase Components in use: _____ (Auth, Database, etc.)
Additional SDKs you are using: _____ (Facebook, AdMob, etc.)
Platform you are using the Unity editor on: _____ (Mac, Windows, or Linux)
Platform you are targeting: _____ (iOS, Android, and/or desktop)
Scripting Runtime: _____ (Mono, and/or IL2CPP)
Pre-built SDK from the website or open-source from this repo: _____

[REQUIRED] Please describe the question here:

These logs have occurred since Unity Google Packages were imported
Can you tell me how to turn off these logs?
Clicking log does not link to IDE

Hi @ant5033,
I can relay this to the engineers so that we can gather input related to your question. For now, let's see if this is reproducible. Are there any additional steps you've taken after importing the packages? Also, it would be great if you provide the other details indicated in the issue template so that we can analyze what's causing this behavior.

Unity editor version: 2021.3.1f1
Firebase Unity SDK version:  9.6.0
Source you installed the SDK : unity package
Problematic Firebase Component: FireBase All
Other Firebase Components in use: _____ (Auth, Database, etc.)
Additional SDKs you are using: google SDK(GPGS + AdMob + ExternalDependencyManager + review + assetdelivery )
Platform you are using the Unity editor on: Windows
Platform you are targeting:Android
Scripting Runtime:  IL2CPP
Pre-built SDK from the website or open-source from this repo: _____

No additional work was done after the package was imported .
This may be a Unity-related setting, but I ask for your help!


Should remain references to MRUBY_VERSION in Rakefile

Now Rakefile generated by mruby-cli --setup contains three 1.2.0 strings.
I guess that the original intention is to evaluate MRUBY_VERSION in Rakefile instead of evaluating it in this method.

:clap:


Lsmallwood/add portal items

@ldanzinger - please review the Add Items To Portal Sample

Looks good!


RSpec/InstanceVariable for @request/@routes

In Rails Controller specs I sometimes want to change parameters of the request (e.g. host, env) or adding specific routes. This is done by accessing @request or @routes. This rule complains about this usage. How can I circumvent this?

I believe you can modify the request object just by e.g. request.host, request.env and not use @request (see https://github.com/rails/rails/blob/v5.1.2/actionpack/lib/action_controller/test_case.rb#L332)
The rspec-rails documentation has examples of how to define routes without using @routes, e.g. https://relishapp.com/rspec/rspec-rails/docs/controller-specs/anonymous-controller#draw-custom-routes-for-anonymous-controllers


Don't validate undefined assign outside render/1

The following gives a undefined assign @message` warning:
  defp message(assigns) do
    ~H"""

      {{ @message }}

    """
  end

The warning should appear only if the caller module is a Surface Component/Liveview and the caller function is render/1.

Hi @msaraiva I am not able to reproduce the bug. Could you give me a complete example. I'll be glad to tackle this bug.

Hi @Malian!
Here's a complete example:
defmodule MyComponent do
  use Surface.Component

  def render(assigns) do
    ~H"""

      {{ sum(assigns) }}

    """
  end

  def sum(assigns) do
    ~H"""
    {{ @a + @b }}
    """
  end
end

You should see this:

As mentioned, this validation should happen only if the caller module is a Surface Component/LiveComponent/Liveview AND the caller function is render/1.

@Malian BTW, thanks for stepping in. I've been quite busy working on the Surface Catalogue for the last weeks. I appreciate the help with the pending issues. ❤

@msaraiva I fixed the warning but I discovered a new one with LiveComponent:
defmodule MyComponent do
  use Surface.LiveComponent

  def render(assigns) do
    ~H"""

      {{ sum(assigns) }}

    """
  end

  def sum(assigns) do
    ~H"""
    {{ @a + @b }}
    """
  end
end

I suppose we also have to fix this?

Yeah, we need to fix that too :)


In the absence of the NitroShare folder on Linux the Android app signals "No route to host"

This might be specific for the pair Android app with Nitroshare installed on Ubuntu 17.04. I installed the latest version of both (as of 20170815) from the Google Play (Android) and the official PPA (version 0.3.4 linux x86_64). When trying to transfer files in the Android>Linux direction, an error message stating "No route to host" led to transfer failure.
Creating the NitroShare folder in "Downloads" on the Linux machine removed the problem. Transfer proceeds correctly now.

That's odd - I was aware of that bug and I thought I had fixed it a couple weeks ago. I'll take another look.


Question regarding the EpisodicGPSSensor's position data

Hi,
I find the following code reverses the order of x and z in the simulation environment. I wonder why you do this? Thank you!
https://github.com/facebookresearch/habitat-lab/blob/9220a301c3b168f845150a3d2f20df8fc21f3842/habitat/tasks/nav/nav.py#L456

This is just transforming the 3D coordinate system to the 2D coordinate system.  We use +x is forward and +y is right in 2D.


Improve agent-platform-ops alerts

What does this PR do?
Part of this RFC.
Updates the information displayed when emitting broken jobs alert.
This reworks the check-consistent-failures job with classes and more data to the JSON.
Notification example :

Note that the commit hash will be replaced by the link to the PR and there will be 3 jobs instead of 6.

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


Remove redundant isScala3 from build.sbt

This is passing the scalafmt check locally but failing in CI 🤔 I'll try to fix the scalafmt update PR and see if that solves this.


Backtrace, Can't filter out .rbenv lines

I can't get rid of the .rbenv lines from my backtrace. I've tried using exclusion patterns and going
through notes in issue 745 but I haven't had any luck.
One thing I noticed is that this latest application uses Ruby 2.2.5 and a similar application (same spec_helper, rails_helper, .rspec) using Ruby 2.2.2 does not have this problem.
If I use guard, the problem does not exist either and the backtrace is better filtered.
Backtrace from running $bundle exec rspec spec
/Users/seyonvasantharajan/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/example_group.rb:656:in `method_missing'
  /Users/seyonvasantharajan/Desktop/whats_your_plan/spec/features/full_goalsetting_spec.rb:165:in `block (3 levels) in <top (required)>'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/example_group.rb:363:in `module_exec'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/example_group.rb:363:in `subclass'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/example_group.rb:254:in `block in define_example_group_method'
  /Users/seyonvasantharajan/Desktop/whats_your_plan/spec/features/full_goalsetting_spec.rb:149:in `block (2 levels) in <top (required)>'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/example_group.rb:363:in `module_exec'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/example_group.rb:363:in `subclass'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/example_group.rb:254:in `block in define_example_group_method'
  /Users/seyonvasantharajan/Desktop/whats_your_plan/spec/features/full_goalsetting_spec.rb:57:in `block in <top (required)>'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/example_group.rb:363:in `module_exec'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/example_group.rb:363:in `subclass'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/example_group.rb:254:in `block in define_example_group_method'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/dsl.rb:43:in `block in expose_example_group_alias'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/dsl.rb:82:in `block (2 levels) in expose_example_group_alias_globally'
  /Users/seyonvasantharajan/Desktop/whats_your_plan/spec/features/full_goalsetting_spec.rb:12:in `<top (required)>'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb:1327:in `load'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb:1327:in `block in load_spec_files'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb:1325:in `each'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb:1325:in `load_spec_files'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb:102:in `setup'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb:88:in `run'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb:73:in `run'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb:41:in `invoke'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/rspec-core-3.3.2/exe/rspec:4:in `<top (required)>'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/bin/rspec:23:in `load'
  /Users/seyonvasantharajan/.rbenv/versions/2.2.5/bin/rspec:23:in `<top (required)>'

spec_helper.rb
require 'capybara/rspec'
# require 'capybara/email/rspec'
require 'capybara/poltergeist'
require 'capybara-screenshot/rspec'
require 'should_not/rspec'

Capybara.javascript_driver = :poltergeist

RSpec.configure do |config|

  config.expect_with :rspec do |expectations|
    expectations.include_chain_clauses_in_custom_matcher_descriptions = true
    expectations.syntax = :expect
  end
  config.before(:all) do
    FactoryGirl.reload
  end
  config.backtrace_exclusion_patterns << /\/Users\/seyonvasantharajan\/Desktop\/whats_your_plan\/\/spec\/features\//

end

What happens if you add this:
 config.backtrace_exclusion_patterns << %r{/Users/seyonvasantharajan/\.rbenv/}

Whoah, that seems to have worked for cases where there's no dumb error. If I put a random letter "g",
the above stacktrace still persist with the two below lines at the top. Completely fine if I remove the g and there's no mention of .rbenv
bundler: failed to load command: rspec (/Users/seyonvasantharajan/.rbenv/versions/2.2.5/bin/rspec)
NameError: undefined local variable or method `g' for #<Class:0x007fd1698c82e0>
``

On another note(for my understanding), when I delete the line you gave me and there's no "g", .rbenv no longer appears which is interestingty

Thats bundler preventing RSpec from running at all, we've recently improved that but it's yet to be released.

Ah. Thanks so much Jon!


Missing imports with dedupeFragments and file imports

Describe the bug
When I set dedupeFragments: true and use .graphql files with #import syntax, the generated typed document node refers to fragment docs that are not imported.
To Reproduce
Steps to reproduce the behavior:
https://codesandbox.io/s/romantic-gareth-q9tqv?file=/operations/document.ts
Note that ...MyGroupFragmentFragmentDoc.definitions is injected to the definition but MyGroupFragmentFragmentDoc is not available in the generated module.

My GraphQL schema:

schema {
  query: Query
}

type Query {
  animals: [Animal!]!
}

type Group {
  id: ID!
  name: String!
}
type Animal {
  id: ID!
  name: String!
  group: Group
}

My GraphQL operations:

#import "./fragments/MyAnimalFragment.graphql"

query Test {
  animals { ...MyAnimalFragment }
}

#import "./fragments/MyGroupFragment.graphql"

fragment MyAnimalFragment on Animal {
  name
  group {
    ...MyGroupFragment
  }
}

fragment MyGroupFragment on Group {
   id
   name
}

My codegen.yml config file:

schema: schema.graphql
documents: operations/**/*.graphql
generates:
  types.ts:
    plugins:
      - typescript
    config:
      skipTypename: true

  operations:
    preset: 'near-operation-file'
    presetConfig:
      extension: '.ts'
      baseTypesPath: '../types'

    plugins:
      - typescript-operations
      - typed-document-node
    config:
      skipTypename: true
      dedupeFragments: true
      exportFragmentSpreadSubTypes: true

Expected behavior
Generated typed document imports all needed dependencies
Environment:
"@graphql-codegen/add": "1.13.3",
"@graphql-codegen/cli": "1.21.6",
"@graphql-codegen/near-operation-file-preset": "1.18.4",
"@graphql-codegen/typed-document-node": "1.18.9",
"@graphql-codegen/typescript": "1.22.4",
"@graphql-codegen/typescript-operations": "1.18.3",

If someone else is having this, please try<EMAIL_ADDRESS>(until we'll release a stable version).

I just checked the alpha version and it solves most of the issues 💯 Only 2 of my queries still generate incomplete typed document node.
Would it be possible to also handle fragments that depend on other fragments?
https://codesandbox.io/s/gracious-sea-1ge8l?file=/operations/document.ts:1045-1076

I just checked the alpha version and it solves most of the issues 💯 Only 2 of my queries still generate incomplete typed document node.
Would it be possible to also handle fragments that depend on other fragments?
codesandbox.io/s/gracious-sea-1ge8l?file=/operations/document.ts:1045-1076

Can you please report a new issue with this reproduction? (cc @gilgardosh )

Sure 👍 The current workaround we have is to flat the structure of fragments.

I temporarily merged the problematic deep nested fragment into its parent and with<EMAIL_ADDRESS>all works like a charm ❤ Thanks a lot for dedupeFragments option and the fix for the near operation preset!
Unless you want to keep this issue open until 1.18.5 is out, I would consider this bug as fixed.

Fixed in<EMAIL_ADDRESS>


Make safari modal dismissable and re-alert

Makes "safari unsupported" modal dismissable via "OK" button or clicking on the backdrop.
The alert re-appears if a user selects a file or enters a code.

Code Review Checklist (to be filled out by reviewer)

[x] Description accurately reflects what changes are being made.
[ ] Description explains why the changes are being made (or references an issue containing one).
[ ] The PR appropriately sized.
[ ] New code has enough tests.
[ ] New code has enough documentation to answer "how do I use it?" and "what does it do?".
[ ] Existing documentation is up-to-date, if impacted.

Looks like this broke something.

Task linked: CU-1j9vp7t Safari issues: tell people use a different browser


Support all nginx configmap settings

Towards https://github.com/giantswarm/giantswarm/issues/8851
As side-effect also https://github.com/giantswarm/giantswarm/issues/7210 gets addressed.

Tested on giraffe (aws, china) for GS platform release 11.0.0, with nginx IC as optional app.


Output harness in cargo metadata

What does this PR try to resolve?
Adds harness to output of cargo metadata. Closes #11846 . Useful for third party rust build tools that want to use Cargo.toml metadata.
How should we test and review this PR?
Updated the metadata tests with the new harness output.

Thanks! It looks like there is a test failure, you'll need to run tests with nightly to check benchmarks.
Can you also update the documentation at https://github.com/rust-lang/cargo/blob/master/src/doc/man/cargo-metadata.md, and regenerate the man pages (documented at https://github.com/rust-lang/cargo/tree/master/src/doc#building-the-man-pages)?  Also https://github.com/rust-lang/cargo/blob/master/src/doc/src/reference/external-tools.md looks to also need updating.

I'm going to close due to inactivity. If you are interested in continuing on this, feel free to reopen (just beware that due to a quirk in GitHub, if you push to your branch before reopening that you'll need to open a new PR instead).
Thanks for your contribution.


bug:  Failed to resolve dependencies

Provide environment information
System:
OS: macOS 14.6.1
CPU: (10) arm64 Apple M1 Max
Memory: 1.04 GB / 32.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 20.16.0 - ~/.proto/shims/node
npm: 10.8.2 - ~/.proto/shims/npm
pnpm: 9.7.1 - ~/.proto/shims/pnpm
bun: 1.1.24 - ~/.proto/shims/bun
Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman
Describe the bug
I get the following error when trying to deploy an app within a pnpm monorepo that imports a workspace package "@repo/lib":
Failed to resolve dependencies: Command failed with exit code 1: npm install --package-lock-only --ignore-scripts --no-audit '--legacy-peer-deps=false' '--strict-peer-deps=false'

npm error code E404
npm error 404 Not Found - GET https://registry.npmjs.org/@repo%2flib - Not found
npm error 404
npm error 404  '<EMAIL_ADDRESS>is not in this registry.
npm error 404
npm error 404 Note that you can also install from a
npm error 404 tarball, folder, http url, or git url.
...

The dependency is specified in the apps package.json like:
"@repo/lib": "workspace:*",

But I still get the error even if I add this to the config:
dependenciesToBundle: ["@repo/lib"],

Reproduction repo
You can run something like pnpx create-turbo@latest to create a similar pnpm monorepo to reproduce
To reproduce
See above
Additional information
No response

Hey @ianwalter, sorry for the slow reply. We have a preview version of our CLI which has some major changes to how we build code. It's designed to work way better in monorepos and generally be way easier to use. https://trigger.dev/docs/guides/new-build-system-preview


Brainstorming the linter architecture

We want to design and develop a linter that checks the Gherkin feature files.
Here is the revised initial architecture of the linter:

Folder structure:

Components
General overview of different components
Cli:

parse cli args
generate cli config
anything related to cli

Gherlint:

file enumerations
config operations (search - parse - merge configs)
any FS tasks
initialize Linter
lint files
read file contents
store lint problems

Linter:

lint texts
fix lint issues
initialize Rules
no FS tasks
browser compatible
generate lint problems

Formatter:

format/convert lint problems into the desired structure

Rule:

define rule (meta data)
work on AST
define fix logic
generate rule problem

The diagrams can be added to the docs


Issue Items do not appear at the right moment when scrolling down.

If you take a look at my Site https://dev-institut-fuer-bewegende-kuenste-kohl.vercel.app/ you can see that the Fade works for the news but there is a problem that it does not appear at the right moment when you go down, somehow it feels like the box size or layout size makes the problem to react-awesome-reveal. Also there is the issue that if you manage somehow to fill the last row by going up down with your mouse wheel the last 2 items never appear.
I tried to play around with fraction or delay but nothing helped. Any idea how to make it so a new row of news cards appears as soon as maybe 20pixel of the card could be seen. Any suggestion on what I can do here? Here my code
{data && data.length && (
          <Fade
            direction="up"
            cascade={true}
            triggerOnce={true}
            damping={1}
            duration={200}
            fraction={0.2}
          >
            {topNews.map((post, index) => (
              <NewsComponent key={post.id} post={post} />
            ))}
          </Fade>
        )}
```

what was the solution to this problem? is presenting this error currently. I use version 4.2.3 and react v18

what was the solution to this problem? is presenting this error currently. I use version 4.2.3

what was the solution to this problem? is presenting this error currently. I use version 4.2.3 and React v18.


Great work!!

I was literally just texting my friends about building something like this and then stumbled over it after reading the code for smol developer. Thank you !!

thanks!!


Phantom fire time not working

Describe the bug
Phantom firetime
Phantom:
flames:
fire-time: 8
entity doesnt catch fire they only take damage.
To Reproduce
ride phantom and spit fire on entity/player they will take damage but doesnt catch on fire
Version
Purpur version git-Purpur-905 (MC: 1.16.4)

Confirmed. Seems I'm not actually using this value anywhere in my code. I'll have to see where and when it got lost at and add it back in


Add xpath to whitelist

This is required for https://github.com/DefinitelyTyped/DefinitelyTyped/pull/37484 to use the types bundled with xpath.

Definitely Typed's CI should pick up the new whitelist next time it runs.


Cleanup the recap$ locations and set the Alma recap_edd flag  correctly

The recap_edd flag is always set to false.  It should be set to true in many recap locations.
Here are the old location where recap_edd is set to true: etasrcp, rcpgp, rcpjq, rcppa, rcppb, rcppj, rcppk, rcppn, rcppq, rcppt, rcppw, rcpxw, scsbcul, scsbnypl
Update
The new locations are something like mendel$pk NOT recap$pk as is set up in bibdata.  The recap$ locations exist AND the mendel$ locations exists.  The flags are set correctly on the recap$ locations, but not on the mendel$ ect locations.  The recap$ locations should be purged and the new locations should have the correct flags set.

@carolyncole I checked https://bibdata-alma-staging.princeton.edu/locations/holding_locations and the recap locations you listed plus the scsbcul, scsbnypl have 'Recap EDD': true.

same for https://bibdata-alma.princeton.edu/locations/holding_locations

To bring this back in from slack.  The old recap$ locations for items in libraries should be removed.  They are no longer in use.  For instance recap$pk is now in alma as mendel$pk.  medel$pk has the recap edd flag set incorrectly.
@mzelesky and ideas on how to map between the old rcppk and the new locations?  It seems like it is just replace rcp with the correct library so if I am right the ones that need the edd flag set correctly would be
rcpgp => firestone$gp , rcppb => firestone$pa, rcppj => marquand$pj, rcppk => mendel$pk, rcppn => lewis$pn, rcppq => plasma$pq, rcppt => engineering$pt, rcppw => architecture$pw, rcpxw => rare$xw
not sure how rcpjq, rcppa translate since they are just recap locations not related to a library.

@mzelesky @kevinreiss  if there is a mapping please update this issue with a translation map https://github.com/pulibrary/bibdata/issues/1199

Mapping is at https://docs.google.com/spreadsheets/d/1LKypZZQNu3zy2lSZf_V-QgoV5FfZcILUrlk8BfRDqRM/edit#gid=0. I added column that says if the location is eligible for EDD at ReCAP.

@kevinreiss does this mean that alma records with location recap$pk are moved/updated to mendel$pk or will they keep both locations?
I can't understand from https://catalog-alma-qa.princeton.edu/catalog?utf8=✓&f1=all_fields&q1=&op2=AND&f2=author&q2=&op3=AND&f3=title&q3=&f_inclusive[advanced_location_s][]=recap%24pk&range[pub_date_start_sort][begin]=&range[pub_date_start_sort][end]=&sort=score+desc%2C+pub_date_start_sort+desc%2C+title_sort+asc&search_field=advanced&commit=Search (4,025 records) and https://catalog-alma-qa.princeton.edu/catalog?utf8=✓&f1=all_fields&q1=&op2=AND&f2=author&q2=&op3=AND&f3=title&q3=&f_inclusive[advanced_location_s][]=mendel%24pk&range[pub_date_start_sort][begin]=&range[pub_date_start_sort][end]=&sort=score+desc%2C+pub_date_start_sort+desc%2C+title_sort+asc&search_field=advanced&commit=Search (138 records) because the index is older.
I can try to do a search in alma.

I might have down the wrong search but I looked for physical items with base status in mendel$pk https://princeton.alma.exlibrisgroup.com/ng/page;u=%2Frep%2Faction%2FpageAction.search.physical_item_results.xml.do%3FxmlFileName%3Dsearch.physical_item_results.xml&RequestBeanClassName%3Dcom.exlibris.repository.web.search.RepositorySearchBean&pageViewMode%3DEdit&pageBean.advancedSearchPerformed%3Dtrue&pageBean.searchMode%3DAdvanced&pageBean.securityHashToken%3D4900755837146601384 and it returned 349
and physical items with base status in recap$pk and it returned 10,525.
I don't think we should remove the recap$pk from the locations table. right?

I will update the existing mapping file https://github.com/pulibrary/bibdata/blob/alma/voyager_alma_mapping.csv with the new 'EDD allowed' column @kevinreiss added in https://docs.google.com/spreadsheets/d/1LKypZZQNu3zy2lSZf_V-QgoV5FfZcILUrlk8BfRDqRM/edit#gid=0

@carolyncole for now I will not remove the recap locations because the searches I did return different numbers which means that a lot of items are in the old locations. I will move forward to update the flags of the new locations.

I will use the updated file that @mzelesky updated 2 weeks ago https://docs.google.com/spreadsheets/d/18YCL_PoGMjybNHplVpVhdk-fEgPrTHHxU2VvNcpOTBI/edit#gid=0 to regenerate the locations file.
@mzelesky said that I can remove recap$pk (old recap locations) since all the items will be up to date on July 26th. Thanks @mzelesky .

Based on the updated file that @mzelesky provided and the updated list that @carolyncole and @kevinreiss provided for the recap_edd: true, the mapping for the new recap locations and recap_edd:true is:

rcpgp -> recap$gp,
rcpjq -> recap$jq
rcppa -> recap$pa
rcppb -> firestone$pb
rcppj -> marquand$pj
rcppk -> mendel$pk
rcppn -> lewis$pn
rcppq -> recap$pq
rcppt -> engineer$pt
rcppw -> arch$pw
rcpxw -> rare$xw
etasrcp -> online$etasrcp
scsbcul (partners not alma)
scsbnypl (partners not alma)
scsbhl (partners not alma)

This is a screenshot from my local:

There was a discussion with @kevinreiss about the holding_library column and if it's still needed or if we can remove it. It might be used in the requests gem. Something to look into.

@christinach I just noted that the holding library was no longer set for the new locations: https://github.com/pulibrary/requests/issues/1021. It is definitely causing bad behaviors to not have it.  I spot checked a couple of locations from your screen shot and they look the same as production bibdata (minus the names).

I was wondering if we can use location[:library][:code] since the name of the library and the holding_library is the same in the new locations.

But we can definitely keep it as it is having both 'library' and 'holding_library' and maybe do these changes in the future.
My thought was more about that the holding_library as a concept does not apply any more in the new locations with remote_storage.

@christinach since we have to support both the old and the new locations currently, it would be simpler to keep it for now.  Then remove it after we go live and everything is in its new location.

I will keep the old recap locations to be safe; And we will remove them after we go live.

I agree, let's keep these through the migration to have a contingency if items don't migrate exactly as we think they should to the new remote_storage locations.

closed by #1503


Have placeholders for all UI elements and load them asynchronously

This is hard, but worth it, start it with BoardView.
Essentially we want any UI element to have a simple initial placeholder look while we load, bind or finish its initialization code on a background thread.
In the context of BoardView we can change the onBindViewHolder of BoardView and TaskListView especially such that they both show some simple placeholder and then when the data is loaded and everything is set up on a background thread, we can show that new stuff. This will make the experience faster and smoother overall.

This is done, the slowness is because of all the code in onBindViewHolder we'll move that to issue #58


C#: Fix compilation of ValueNumberingInternal

Fixes the compilation of C# qldocs, for example build target/packs/pack-csharp-qldoc.zip on the internal repository.
I'm not quite sure what TLoadTotalOverlapValueNumber means for C# so I left it none(). Since C# doesn't have union, this is probably correct.

I might be wrong, but I think TLoadTotalOverlapValueNumber is valuable for C#. It was added for C++ here, and I think a similar code snippet as the one I posted in the PR can be constructed for C#?
Also: There's an open PR (https://github.com/Semmle/ql/pull/2839) that adds ValueNumberingInternal.qll to the list of files that should be shared between C++ and C#.

@MathiasVP Ok, let's hold off merging this PR then and wait for #2839.

Is this PR still needed now that #2839 is merged?

I tested the build command, and master now builds fine, so we can close this.


HTTP_X_PJAX not always sent

HTTP_X_PJAX is not sent correctly unless / or file extension is added to the URL.
This do not send the header: < a href="/contact" >contact< /a >
These ones do: < a href="/contact/" >contact< /a > < a href="/contact.html">contact< /a >

It seems the problem exists with /index path only.


adapt to mojo 0.4

hope it helps,
i also added parallel to:
#Apply the temperature to the logits
https://docs.modular.com/mojo/changelog.html#v0.4.0-2023-10-05

I implemented the vectorize, as for the benchmarks i have no idea how to do it,
i have mojo 0.4.0 right now,
any idea ?

@rd4com , there are examples of how to benchmark in the matmul notebook in the Mojo documentation.  For this change doing a small benchmark that only tests the changed loop code at vocab_size of 32000 iterations would be interesting.  Also just running `mojo llama2.mojo stories15M.bin" 5-10 times from this PR branch and again from master branch and reporting the results is useful information.

@rd4com would you mind to run some benchmarks ? Or better let's focus on Mojo 0.4.0 migration, for this let's not include vectorize change for now. Feel free to send another PR.

Ok, i updated the repo, do you want me to close this pr and create another one ?
please verify the code is running fine before


This page doesn't mention preview's major downside

Apps you make in preview environments generally cannot be opened in production environments. That should be mentioned here

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: da4e83ac-52bb-6aff-0796-c19341377412
Version Independent ID: e122c886-ca3c-afba-2870-809849903700
Content: Preview environments - Power Platform
Content Source: power-platform/admin/preview-environments.md
Service: power-platform
GitHub Login: @manasmams
Microsoft Alias: manasma

@TubanMicrosoft
Have you tried exporting/importing the app as directed here:
https://docs.microsoft.com/en-us/powerapps/maker/common-data-service/export-solutions

@jimholtz
That handles a lot of issues you run into when moving apps between environments, but it's not relevant to what I'm talking about. I am on the PowerApps Canvas team and I have been dealing with this issue with multiple customers as DRI so I have a good amount of background on this problem. The core issue is that apps from newer versions of PowerApps cannot be opened in older versions of PowerApps, regardless of how you export them. Preview is always using a newer version of PowerApps then Production, so we need to warn the user about that.
The closest thing we have to a consistent way to move apps from preview to production is to roll back to a version from a week ago and hope that version has made it to production in your region. That solution has enough potential problems that I wouldn't be comfortable recommending it to customers. That's why I suggest we note that moving apps from Preview to Production is not supported, even if it is technically doable. Customers using Preview environments should know what they're getting into.

Taking this to internal for resolution.


Fix reduction contiguous size calculation

The calculations done for the block size are not correct in some cases leading to inefficient block sizes when keepdims=True in regular reductions. Closes #6425
This PR uses the sizes of the output array to figure this instead of the input ones.
master
sum of (400, 400, 400) shaped array in all axis with keepdims=True
CPU:  111.235 us   +/-117.695 (min:   30.789 / max:  340.247) us     GPU-0:1540503.906 us   +/-112.247 (min:1540392.822 / max:1540723.633) us

this pr
CPU:   26.479 us   +/- 7.041 (min:   21.125 / max:   44.058) us     GPU-0:50921.146 us   +/-13.583 (min:50900.673 / max:50951.263) us

/test mini

/test mini


drs: Add auto-detect between tribes and swgb DRS header types

The SWGB header is larger to accomodate a larger copyright string. (What
a reason!!)
There are no other differences in the DRS format.
Signed-off-by: Chris Forbes<EMAIL_ADDRESS>

Hi Chris, thanks for the pull request! Unfortunately, it breaks Age Of Empires DRS files for me. I guess that is because genie first tries to parse them as SWGB files, which fails because it gets wrong offset / number_of_tables values (because it reads 20additional copyright bytes).
Maybe a better mechanism to detect SWGB files would be to manually seek to offset 64, read 4 bytes from the stream and compare them with swgb, and only invoke _parse if they match. What do you think? Unfortunately I have no copy of SWGB, so I can't test.

OK, I see it's not quite safe enough. I'll do what you suggest.

I do something similar to this, albeit your approach is better.
I currently seek to 41 then read a single char and if the result is a 't' then it is SWGB, else AOE.

Reading SWGB DRS files now works for me. However, it couldn't find the interface DRS file to read the color palette. It's called interfac.drs on my AOE2 installation, but INTERFAC.DRS on my SWGB installation, and I'm on a case-sensitive system. So I added a command-line option that can be used to specify the filename.


Execute full command strings

Actually, that touches on a larger issue. I think it should be possible to just do:
cmd.execute("sudo apt-get install xyz > /tmp/output.txt")
instead of:
cmd.execute(:sudo, "apt-get", "install", ...)
This is the most common use case, in my opinion, and supporting this pattern will encourage people to stop using bash to write this stuff.

This worked from the beginning, I think you can close it.


ColGroup column sizes are overridden on ServerReload

I'm using a MudTable that is populated via an API call after the user selects an item from the autocomplete search bar. I'm using a ColGroup to assign column sizes to the table and it works fine when the table is initially loaded. However, after an item is selected and ServerReload is called to populate the table with data, the column sizes are overridden and set back to default, as if ColGroup had never been applied in the first place. I'm not sure if this is a bug or if there is someway to maintain column sizes between server reloads that I'm not aware of.

Could you provide a try.MudBlazor?


Fix link error introduced by grpc missing libgpr

When developing client-c with system-installed grpc, which is probably 1.40+, build will fail by undefined symbols in libgpr. This PR fixes this issue by adding libgpr as a dependency.

/run-all-tests

/run-all-tests


Could 'pr checkout' use a more meaningful name for the newly created branch?

pr checkout is awesome! But... if I do hub pr checkout 123, then I get a local branch named like ORIGINALSUBMITTER-THEIRBRANCHNAME. And as a maintainer, neither of these strings are particularly meaningful to me, and don't make it easy to find this branch later. I would prefer if the local branch were named like pr-123, or perhaps pr-123-ORIGINALSUBMITTER-THEIRBRANCHNAME if you want to keep that information around.

Thank you for the praise! You can specify the branch name yourself by passing in an extra parameter: hub pr checkout 123 my-branch-name. However, if you want to specify some kind of template as default, for instance pr-{num}-{owner}-{branch}, that's still not possible. Do you think such a feature would be useful?
Here's the thing about default branch names: I was thinking of changing the default from {owner}-{branch} to just {branch}. This won't make the branch any easier to find among your other local branches, but it would allow you, as a maintainer, to push new commits to somebody's branch in their fork (this level of access is enabled by default when people create new PRs via the web interface) by simply doing git push. This is being discussed in https://github.com/github/hub/issues/1495#issuecomment-310065377. What do you think about this?

Responded in #1495


get_fieldmap()

Closes #16.
I also added get_subjects().

get_subjects already exists! You just have to initialize the Layout with dynamic_getters=True, then you automatically get get_{entity} for every defined Entity. It even inflects properly. :)

Does it return the results sorted?

Yes; those methods are just wrappers for .get(); they take all the same arguments and return all of the same results. By default everything is returned in natsort order. The benefit is that users can do .get_subjects(return_type='id') instead of only getting back files
One thing you may not want though is that the default return_type is tuple, and it looks like you want id. I'm open to making this a Layout-level configuration setting, so that you can stipulate that all BIDS getters always have return_type='id' by default. Would that work?

I don't think the results are sorted... https://ci.appveyor.com/project/chrisfilo/pybids-ilb80/build/1.0.17/job/8c18f6qtl76q748x#L195

Who you gonna trust, me, or your lyin' tests?

Okay, okay. I'm on it.

Ah, sorting works, but PyPI is out of sync with GitHub. Pushing a new release.

So, while I'm at this, would the solution suggested above work for you? I'm thinking that the Layout init can take a default_return_type argument, and then you can set it to whatever you like (probably id). Does that work?

Actually, ignore that. I forgot I was already setting return_type='id' for .get_subjects() in the partial function. So the behavior you want is already happening. I'll push the new release to PyPI right now.

Okay, should work now if you upgrade from PyPI. If not, let me know.


Doomfist can uppercut and slam while frozen/knocked down/asleep/stunned

Created by: MrKingMichael

moved from ow1_emulator_backup#612

mentioned in merge request ow1_emulator_backup!125


Will the protein text data be available?

Hi, thanks so much for sharing such a good repo. Just wondering are you planning to share the protein-text paired data?

Hi, thank you for your interest in our work!
We have not yet submitted our paper now. We will evaluate it after our paper being accepted :)

Thanks for your fast reply! Hope your article will be accepted soon.


Indexing race condition

Thank you for reporting an issue.
The registry currently has a race condition when not all artifacts are available for a provider release yet (see #1030). The indexing should inspect the SHASUMS file and make sure that all files are present.
OpenTofu Version
N/A

OpenTofu Configuration Files
N/A

It's a few lines of code here, whereas the libregistry switchover is a much larger change.

This is a bit of a tricky situation.  Not all projects are setup to correctly produce the checksums file, which we saw in the hydration process.  The logic we have currently is to only fail if there are zero targets provided.
I think I've got an idea for a workaround, but I don't love it.

The more I look at this, the more it looks like a checksum was uploaded early.  We generate all possible files from the checksum data and don't actually inspect the release beyond there.

Given that a release was published with a incomplete checksum file, we did the expected thing and indexed what we could.  We don't know what architectures are intended by individual provider releases vs what they actually released.
I'm going to close this as IMO it's not a bug on our end.


Update Tester docs to accommodate Github checks

Closes: #2112
Signed-off-by: Morgan Davies<EMAIL_ADDRESS>

Jobs aborted since these are all documentation changes


docs(README): update links

This PR updates old urls to new ones in README.md.

LGTM, thanks @kt3k!

LGTM, thanks @kt3k!


Vim keybindings do not scroll to the selected line on :n

When I select a line that's out of the range of the screen, the cursor will move but the viewport won't, so the cursor can end up outside the screen.
Steps to reproduce: go to https://play.rust-lang.org/?version=nightly&mode=release&edition=2018&gist=e59b183cd5eeeea326a6864c56aa5ad0 and hit :50.

Can you try it on the kitchen sink? If it fails there, then it's an upstream issue.

I'll actually keep this open to check every so often for an Ace update.


Component test fails using signals for state management

I tried to write a fresh-testing-library test for a component in an app that uses signals for state management and the test fails.
The test code can be found here (with the component-under-test and other code in the same branch):
https://github.com/cdoremus/fresh-todo-signals/blob/fresh-testing-lib/tests/AddTodo_test.tsx
This is a full error trace:
craig@craig-G750JX:~/git/deno/blog/deno-blog-apps/fresh-todo-signals$ deno task test
Task test deno test -A
running 1 test from ./tests/AddTodo_test.tsx
AddTodo.tsx test ...
  should add todo... ... FAILED (13ms)
AddTodo.tsx test ... FAILED (due to 1 failed step) (86ms)

 ERRORS

AddTodo.tsx test ... should add todo... => https://deno.land/std@0.193.0/testing/_test_suite.ts:323:15
error: TypeError: Cannot read properties of undefined (reading 'value')
          value={currentTodo.value}
                             ^
    at T.AddTodo [as constructor] (file:///home/craig/git/deno/blog/deno-blog-apps/fresh-todo-signals/islands/AddTodo.tsx:16:30)
    at T.ce [as render] (https://esm.sh/stable/preact@10.15.1/denonext/preact.mjs:2:8524)
    at O (https://esm.sh/stable/preact@10.15.1/denonext/preact.mjs:2:6232)
...

I was able to fix the tests. I was not using the Preact context in my tests that the components were using.


libwpg: 0.3.2 -> 0.3.3

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/libwpg/versions.
meta.description for libwpg is: '"C++ library to parse WPG"'.

Checks done (click to expand)

built on NixOS
/bin/sh passed the binary check.
1 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 0.3.3 with grep in /nix/store/yj8i7yv8f7q63awma4m5kva0zanp190x-libwpg-0.3.3
directory tree listing: https://gist.github.com/590b92ca79e0a2bb1735f5b482ab38a5
du listing: https://gist.github.com/3c2fdbc8e6941b30a0932c9d874a4b36

Rebuild report (if merged into master) (click to expand)

103 total rebuild path(s)
35 package rebuild(s)
35 x86_64-linux rebuild(s)
35 i686-linux rebuild(s)
11 x86_64-darwin rebuild(s)
22 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
adapta-gtk-theme
arc-theme
arx-libertatis
asciidoc-full
asciidoc-full-with-plugins
bibata-cursors
btrbk
calligra
capitaine-cursors
dblatexFull
disorderfs
emojione
fim
gnome3.gnome-documents
inkscape
libcdr
libmwaw
libodfgen
libreoffice
libreoffice-fresh
libreoffice-fresh-unwrapped
libreoffice-still
libreoffice-still-unwrapped
libreoffice-unwrapped
libvisio
libwpg
natron
numix-cursor-theme
numix-solarized-gtk-theme
odpdown
plata-theme
twemoji-color-font
udiskie
unoconv
wpa_supplicant_gui

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/yj8i7yv8f7q63awma4m5kva0zanp190x-libwpg-0.3.3 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A libwpg https://github.com/r-ryantm/nixpkgs/archive/2a55cb0e25c28e2c94d25add3e6e3e466ab3a138.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/yj8i7yv8f7q63awma4m5kva0zanp190x-libwpg-0.3.3
ls -la /nix/store/yj8i7yv8f7q63awma4m5kva0zanp190x-libwpg-0.3.3/bin

This pull request has been mentioned on Nix community. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/12


Evaluate networking resources for runtime-watcher

Description:
As part of this backlog item, enable mTLS communication between KCP and SKR watcher and implement certificate management for SKRs using Gardner features
ACs:

[x] Implement certificate issuing and management using Gardner certificate management
[x] DNS Entry setup with primary and secondary domain names
[x] Secured HTTPS hosting on KCP

Evaluation is done and results are documented in the PR.


[Missing SNMP Polling Profile] Dell SonicWALL NSA 4600

Device Vendor: Dell
Device Model: SonicWALL NSA 4600
System Object Identifier (SysOID): <IP_ADDRESS>.4.1.8741.1
List of critical metrics that you expect in the profile (does not need to be all-inclusive, just a general idea of your expectations):

CPU Utilization (%)
Memory Utilization (%)
System model name and number
System serial number for this device
Current system firmware version
Maximum number of connection cache entries allowed through the firewall
Number of active connection cache entries through the firewall
Current number of dynamic NAT translations being performed
Hostname (Device Name)
and etc.

If there is a New Relic technical support case related to this request, please provide the case number:#00049125
Please provide a public gist with a sanitized (sensitive information removed) SNMP walk of the device. Providing MIB files is not a substitute for an SNMP walk and failure to provide one here will result in delays for closing this issue. The output of these commands shows the "true story" of what a device will respond to in SNMP and is used to ensure that our profiles are efficient and accurate for your devices.
Gist Link:

Example SNMP walk commands:
# v2c example
snmpwalk -v 2c -t 10 -On -c $COMMUNITY_STRING $IP_ADDRESS . >> snmp_walk.out

# v3 example
snmpwalk -v3 -t 10 -l authPriv -u $USERNAME -a MD5|SHA -A $AUTH_PASS -x DES|AES -X $PRIV_PASS -ObentU -Cc $IP_ADDRESS . >> snmp_walk.out

snmp_walk‗20220805.txt

@shu-ctc - your SNMP walk looks to have timed-out in the middle of the IF-MIB;
ref: the last line here is one of the columns in the ifXTable

.<IP_ADDRESS>.<IP_ADDRESS>.<IP_ADDRESS> = Timeticks: (0) 0:00:00.00

We expect a fully completed walk to have much more information, and the majority of devices will have their most valuable performance metrics in the private side of the MIB tree (.<IP_ADDRESS>.4.*)
Can you try again and increase the timeout value please?
# v2c example
snmpwalk -v 2c -t 30 -On -c $COMMUNITY_STRING $IP_ADDRESS . >> snmp_walk.out

# v3 example
snmpwalk -v3 -t 30 -l authPriv -u $USERNAME -a MD5|SHA -A $AUTH_PASS -x DES|AES -X $PRIV_PASS -ObentU -Cc $IP_ADDRESS . >> snmp_walk.out

If that doesn't work, you can try targeting the private MIB space directly:
# v2c example
snmpwalk -v 2c -t 30 -On -c $COMMUNITY_STRING $IP_ADDRESS .<IP_ADDRESS>.4 >> snmp_walk.out

# v3 example
snmpwalk -v3 -t 30 -l authPriv -u $USERNAME -a MD5|SHA -A $AUTH_PASS -x DES|AES -X $PRIV_PASS -ObentU -Cc $IP_ADDRESS .<IP_ADDRESS>.4 >> snmp_walk.out

@thezackm
Thank you for your reply.
We tried extending the timeout value as you mentioned, but it seems to have stopped in the middle of the MIB-IF.
Therefore, we have collected the information with .<IP_ADDRESS>.4.* specifed, please kindly check the file.
snmp_walk.out(filter by <IP_ADDRESS>.4)_20220825.txt

thanks for adding that @shu-ctc - looking at the results; this device should already be supported by the existing sonicwall profile.
Please destroy your current SNMP container and follow the installation steps in your New Relic UI to redeploy a fresh container. This will pull the latest image available from dockerhub and ensure that you have this profile, as well as run a fresh discovery job against your target devices; which should get your firewall handled.

@thezackm
Sorry for late reply.
Today, we did destroy current SNMP container and redeploy a fresh container.
(We also check the container image and the update was latest Sep. 9 version)
And also, did the discovery job against the target devices.
However, SNMP container don't recognize Sonicwall profile and still kentik_default.
Is existing sonicwall profile support followings?
Device Model: SonicWALL NSA 4600
System Object Identifier (SysOID): <IP_ADDRESS>.4.1.8741.1
Version: SonicOS Enhanced <IP_ADDRESS>-79n.jpn
Please kindly check the profile again.


Max Torque set to 1865 in engine.cfg, however G1000 Panel is not correct

I'm not sure this really matters right now given how jacked up the Engine logic is in-game, but the max torque is not reflected on the G1000 in the panel.xml file (Asobo_208B_GRAND_CARAVAN_EX\panel)
Adjusting this down to this limit would result in severely underpowered take-off's, however, based on my testing. Not sure if this is due to engine logic or something else.
Cruse Example Currently:
60% power @ 7400 ft OAT 15c = 1900 ft-lbs of torque @ 555c ITT.
<EngineDisplay>
	<Gauge>
		<Type>Circular</Type>
		<Style>
			<BeginAngle>-50</BeginAngle>
			<EndAngle>190</EndAngle>
			<ValuePos>End</ValuePos>
			<CursorType>Triangle</CursorType>
			<SizePercent>90</SizePercent>
		</Style>
		<BeginText></BeginText>
		<EndText></EndText>
		<ID>Turbo_TorqueGauge</ID>
		<Title>TRQ</Title>
		<Unit>FT-LB</Unit>
		<Minimum>0</Minimum>
		<Maximum>2600</Maximum>
		<Value>
			<Simvar name="TURB ENG FREE TURBINE TORQUE:1" unit="Foot pounds"/>
		</Value>
		<ColorZone>
			<Color>green</Color>
			<Begin>0</Begin>
			<End>2396</End>
		</ColorZone>
		<ColorZone>
			<Color>red</Color>
			<Begin>2396</Begin>
			<End>2600</End>
		</ColorZone>
		<GraduationLength>100</GraduationLength>
		<GraduationTextLength>500</GraduationTextLength>
		<RedBlink>
			<Greater>
				<Simvar name="ENG TORQUE:1" unit="Foot pounds"/>
				<Constant>2400</Constant>
			</Greater>
		</RedBlink>
	</Gauge>

Yes, I'm aware of this but thanks for point that out anyways. But as you've said, the engine logic is really messed up, to an extent in which I don't really think I can do much more with my poor programming skills. I decided to just wait and see how Asobo will deal with these turboprop situation first.

Even though the max TRQ by the POH is around 1850 ft-lbs, the TRQ indicator green area goes all the way to 2300 ft-lbs. I plan to correct this in the G1000 MFD and in the STBY TRQ indicator, which is also wrong.


Fix kube-prometheus

chart and values need to be reworked from the original. values transferred from fluxv1 stopped working for some reason. needs investigation.

this is mostly fixed, needs to be divided into smaller issues


w2ui 2.0 grid -  redundant GET request to the server that is aborted (canceled)

When a new grid is created (initiated), send two requests to the server. The first one is aborted (canceled), and the second one successfully downloads records from the server. I think the first one is a bug.

I have been post Pull request to fix it, But be cancel.

Thanks for the info.
I would like the author to solve it in the future.

@WenSheng-tw
Can you tell me  the reason of the redudant error requests?
On backend site I see  a lot of error messages like "- Broken pipe from ('<IP_ADDRESS>', 54816)"

@jankrnavek
I don't know why the error occurs while receiving data from backend (php).
find: e.finish())}}}requestComplete(e,t,i,s,l){let r=e.error??!1,
fix to: e.finish())}}}requestComplete(e,t,i,s,l) {if(typeof(e)!='object'){return;}let r=e.error??! 1,

I did some research and came up with the following.

GET requests are appears randomly until the first succesfull request fetching  data from the backend.
requests are canceled by frontend (w2ui object)

Please @vitmalina  look at it.


Use the gcr.io/google_appengine/openjdk as base instead of openjdk:8

Fixes #64
@aslo

Good catch about the readme. I'll update it as part of this PR.


[Hackathon team 1] Sindrom utenka.

The PR has been made in order to monitor the process os BeCode hackathon DELL EMC Mongoose task completion for team "Sindrom Utenka".

We do appreciate your help with the visualization of metrics. Thank you for your contribution.


init being called twice

Steps to Reproduce

Run flutter create bug.
i tested in this code:

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    print('build');
    return MaterialApp(
      home: HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {

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

class _HomePageState extends State<HomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Example app'),
      ),
      body: Center(
        child: Text('hello Flutter'),
      ),
    );
  }
}

to reproduce the problem, just enable developper mode and activate "don't keep activities"
run the activity -> minimize it -> resume it -> issue

Expected results: print('build'); should be called onces !
Actual results:print('build'); called twice and sometimes three times

flutter doctor
>flutter doctor -v
[√] Flutter (Channel stable, 1.22.4, on Microsoft Windows [version 6.1.7601], locale fr-FR)
    • Flutter version 1.22.4 at E:\SDK\FlutterSDK
    • Framework revision 1aafb3a8b9 (2 weeks ago), 2020-11-13 09:59:28 -0800
    • Engine revision 2c956a31c0
    • Dart version 2.10.4

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at E:\SDK\Android\Sdk
    • Platform android-29, build-tools 29.0.3
    • ANDROID_HOME = E:\SDK\Android\Sdk
    • ANDROID_SDK_ROOT = E:\SDK\Android\Sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[!] Android Studio (version 4.1.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] Connected device (1 available)
    • SM T813 (mobile) • 64fd402f04e9bba0 • android-arm64 • Android 7.0 (API 24)

! Doctor found issues in 1 category.

flutter Analyze
>flutter analyze
Analyzing flutter-native-state...
No issues found! (ran in 4.2s)

Hi @salim-lachdhaf
It is normal to have a build function called multiple, it's trying updated to render to every element
Please look at this https://github.com/flutter/flutter/issues/23063 and you can many alternatives when doing a google search,
The easiest way is to use the init function
Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you

even the initState is called twice... , not just build, the hole runApp is re called !
this should not be closed.

@salim-lachdhaf
Just tried to reproduce, a print called once   in init  after the app resumes
W/ActivityThread(23089): handleWindowVisibility: no activity for token android.os.BinderProxy@898cee0
V/PhoneWindow(23089): DecorView setVisiblity: visibility = 4, Parent = null, this = DecorView@226070d[]
D/WindowManager(23089): Add to mViews: DecorView@226070d[MainActivity], this = android.view.WindowManagerGlobal@8322ad8,pkg= com.example.stable_flutter
D/ViewRootImpl[MainActivity](23089): hardware acceleration = true , fakeHwAccelerated = false, sRendererDisabled = false, forceHwAccelerated = false, sSystemRendererDisabled = false
I/InputTransport(23089): Create ARC handle: 0x6ff2785c40
V/PhoneWindow(23089): DecorView setVisiblity: visibility = 0, Parent = android.view.ViewRootImpl@a6db010, this = DecorView@226070d[MainActivity]
D/Surface (23089): Surface::connect(this=0x6ff289f000,api=1)
D/mali_winsys(23089): EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
D/Surface (23089): Surface::setBufferCount(this=0x6ff289f000,bufferCount=4)
I/SurfaceView(23089): 146343689 visibleChanged:true -> SurfaceHolder.Callback.surfaceCreated
D/Surface (23089): Surface::connect(this=0x6ff2900000,api=1)
D/mali_winsys(23089): EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
D/ViewRootImpl(23089): setSurfaceViewCreated, created:true
I/SurfaceView(23089): 146343689 surfaceChanged -- format=4 w=1080 h=2400 visibleChanged:true -> SurfaceHolder.Callback.surfaceChanged
D/SurfaceView(23089): updateScreenMode w:1080 h:2400 ViewRoot w:1080 h:2400
D/SurfaceView(23089): try to resquest 60Hz
D/ViewRootImpl(23089): set screen refresh mode 1 due to SurfaceView-146343689
D/SurfaceView(23089): updateScreenMode w:1080 h:2400 ViewRoot w:1080 h:2400
D/SurfaceView(23089): try to resquest 60Hz
I/Choreographer(23089): Skipped 14 frames!  The application may be doing too much work on its main thread.
I/GED     (23089): ged_boost_gpu_freq, level 100, eOrigin 2, final_idx 27, oppidx_max 27, oppidx_min 0
I/flutter (23089): initState called
I/.stable_flutte(23089): Compiler allocated 5397KB to compile void android.view.ViewRootImpl.performTraversals()

flutter doctor -v
[✓] Flutter (Channel stable, 1.22.4, on macOS 11.0.1 20B29 darwin-x64, locale
    en-GB)
    • Flutter version 1.22.4 at /Users/tahatesser/Code/flutter_stable
    • Framework revision 1aafb3a8b9 (2 weeks ago), 2020-11-13 09:59:28 -0800
    • Engine revision 2c956a31c0
    • Dart version 2.10.4

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

[✓] Xcode - develop for iOS and macOS (Xcode 12.2)
    • Xcode at /Volumes/Extreme/Xcode.app/Contents/Developer
    • Xcode 12.2, Build version 12B45b
    • CocoaPods version 1.10.0

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

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

[✓] Connected device (2 available)
    • RMX2001 (mobile)   • EUYTFEUSQSRGDA6D                     • android-arm64
      • Android 10 (API 29)
    • iPhone 12 (mobile) • BBCEDCF6-A80B-49DC-86EE-C9B542A9AD1B • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-14-2 (simulator)

! Doctor found issues in 1 category.

yes, that's correct, however i found the exact problem i don't know if it's should be consedered as Flutter issue or not.
in fact, using your code with small changes:

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      key: GlobalKey(),//this line source of issue !
      home: HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    print('xxxxxxxxxxxxxxx <call initState Home> xxxxxxxxxxxxxxxxxxxx');
  }
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Example app'),
      ),
      body: Center(
        child: Text('hello Flutter'),
      ),
    );
  }
}

adding navigatorKey: GlobalKey(), made initState of homePage called 3 times !, and if i remove it everything goes fine !

Hi @salim-lachdhaf
Using the updated code sample, init is still called once
D/Surface (30326): Surface::setBufferCount(this=0x6ff2a10000,bufferCount=4)
I/SurfaceView(30326): 2896720 visibleChanged:true -> SurfaceHolder.Callback.surfaceCreated
D/Surface (30326): Surface::connect(this=0x6ff29b0000,api=1)
D/mali_winsys(30326): EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
D/ViewRootImpl(30326): setSurfaceViewCreated, created:true
I/SurfaceView(30326): 2896720 surfaceChanged -- format=4 w=1080 h=2400 visibleChanged:true -> SurfaceHolder.Callback.surfaceChanged
D/SurfaceView(30326): updateScreenMode w:1080 h:2400 ViewRoot w:1080 h:2400
D/SurfaceView(30326): try to resquest 60Hz
D/ViewRootImpl(30326): set screen refresh mode 1 due to SurfaceView-2896720
D/SurfaceView(30326): updateScreenMode w:1080 h:2400 ViewRoot w:1080 h:2400
D/SurfaceView(30326): try to resquest 60Hz
I/Choreographer(30326): Skipped 14 frames!  The application may be doing too much work on its main thread.
I/GED     (30326): ged_boost_gpu_freq, level 100, eOrigin 2, final_idx 27, oppidx_max 27, oppidx_min 0
I/flutter (30326): xxxxxxxxxxxxxxx <call initState Home> xxxxxxxxxxxxxxxxxxxx

Can you reproduce it on an emulator? which API, thanks
Thanks

did you followed the same senario as the first case (don't keep activity ...) ?
i'm using  • SM T813 (real tablet) • android-arm64 • Android 7.0 (API 24)

@salim-lachdhaf
Yes, exactly the same, don't keep activities on Android 10 device.  Could it be Samsung specific?
Can you please confirm you can reproduce it on an emulator or another device?
Thank you

the same issue
I will provide a video
 Flutter (Channel stable, 1.22.4, on Microsoft Windows [Version 10.0.19042.685], locale en-US)

@AbdOoSaed
This issue is about init function not build function
build function can call it twice or more,  https://github.com/flutter/flutter/issues/71399#issuecomment-735765871

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.

@pedromassango: We are seeing initState get called multiple times but only on iOS. We have a sample size of about 1,000. Please re-open this issue.

@pedromassango: We are seeing initState get called multiple times but only on iOS. We have a sample size of about 1,000. Please re-open this issue.

Hi @jmealo

Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.

Hi @jmealo

Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


fix(manifests): updating release # and adding nodePort to service

nodePort allows the minio service to be accessible from the host machine for k8s clusters run inside vagrant
cc/ @smothiki

This is just for dev purposes, I assume?

@bacongobbler yep, correct

I sorta have mixed feelings about putting NodePort in here. It has some security implications for non-local installs, right?

@technosophos @smothiki yea, NodePort exposes a service on a well known port on every node's IP. it adds to the potential attack surface area of the service, but depends on the deployment whether that matters (i.e. if all nodes are behind the same firewall, it probably doesn't matter). There are actually two parts:

type: NodePort adds routing to every node to the service. so  you can curl localhost:$PORT on any node to get to minio
nodePort: 32760 gives the minio service a stable port. the service will fail to come up if that port is taken or outside the configured range

I believe that 1 eliminates a network hop, which is nice, but 2 hurts portability if a cluster has differently configured port ranges or that port is taken.
I'll leave this one up to you guys whether it's worth going in.
http://kubernetes.io/v1.1/docs/user-guide/services.html#type-nodeport

@technosophos @bacongobbler @smothiki I'm gonna take the LGTM2 label off of this PR since it seems we're still discussing

closing this as we don't seem to need it right now


snapshot always runs in english (does not switch language)

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I have read the Contribution Guidelines

Issue Description
Snapshot always runs the simulator in English (same as OS language I suspect?). After defining languages in the snapfile (included below) I expected snapshot to run the simulator in the proper language. How do I best go about debugging this problem?
Snapfile
devices([
   "iPhone 6",
   "iPhone 6 Plus",
   "iPhone 5s"
])
languages([
  "nl-NL",
  "en-US"
])
scheme "App Name"
output_directory "./screenshots"
clear_previous_screenshots true
launch_arguments(["DEMO_RULESET","SIM_FIRST_LAUNCH"])

Environment
✅ fastlane environment ✅
Stack

Key
Value

OS
10.12.4

Ruby
2.2.4

Bundler?
false

Git
git version 2.11.0 (Apple Git-81)

Installation Source
~/.fastlane/bin/bundle/bin/fastlane

Host
Mac OS X 10.12.4 (16E195)

Ruby Lib Dir
~/.fastlane/bin/bundle/lib

OpenSSL Version
OpenSSL 1.0.2g  1 Mar 2016

Is contained
false

Is homebrew
true

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.3.2

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE
en_US.UTF-8
✅

fastlane files:
No Fastfile found
No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.28.7
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

slack-notifier
1.5.1

CFPropertyList
2.3.5

claide
1.0.1

colored2
3.1.2

nanaimo
0.2.3

xcodeproj
1.4.4

rouge
1.11.1

xcpretty
0.2.6

terminal-notifier
1.7.1

unicode-display_width
1.1.3

terminal-table
1.7.3

plist
3.2.0

public_suffix
2.0.5

addressable
2.5.1

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.5.0

babosa
1.0.2

colored
1.2

highline
1.7.8

commander-fastlane
4.4.4

excon
0.55.0

faraday
0.12.1

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20170404

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.1.0

gh_inspector
1.0.3

uber
0.0.15

representable
2.3.0

retriable
2.1.0

mime-types-data
3.2016.0521

mime-types
3.1

hurley
0.2

little-plugger
1.1.4

multi_json
1.12.1

logging
2.2.2

jwt
1.5.6

memoist
0.15.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
2.8.3

google-api-client
0.9.28

json
1.8.1

mini_magick
4.5.1

multi_xml
0.6.0

rubyzip
1.2.1

security
0.1.3

xcpretty-travis-formatter
0.0.4

dotenv
2.2.0

bundler
1.14.6

faraday_middleware
<IP_ADDRESS>

generated on: 2017-05-02

Can you share your UI test files? Do you call the setupSnapshot method in the correct part of the UI Test?

Yes that was the problem, it correctly switches languages now. I did not call setupSnapshot at all and was banging my head over what I had missed. Thanks for the help and the great library.

Glad to hear it got resolved 👍


Nuxt3 Build

Hello,
I'm using nuxt-highcharts@next @ 3.0.3 with Nuxt3.
When I run npm run build, vite/nitro will not bundle the Highcharts modules. I've tried a lot of configurations and nothing seemed to work.
Do you have a trick to either have nuxt-highcharts not load uneeded modules or a config to have it bundle in a single file?
Thanks.
Image: built scripts getting loaded. 90+ requests.

I'm not sure without looking at your config, but I believe for the highcharts modules, you may need to specify vite.optimizeDeps.include

Closing this one in favor of #49 , which will try to address this issue.


Pressing right arrow on an open folder in the explorer should send focus to the directories first child

Steps to Reproduce:

Focus explorer
Move focus to a closed directory
Press → to open the dir
Press →, notice nothing happens

I expect the first child of the directory to be focused.

that should happen on the level of the tree

Is this platform dependant? Finder, in OS X, does not behave that way.

I believe this is how Windows Explorer works and it's how I generally expect tree views to work. Atom works the same as I'm describing https://github.com/atom/tree-view/issues/561 (I actually did the PR before joining :stuck_out_tongue:)

What's the stance on platform conventions conformity? Currently vscode also expands a tree if you click on it, which doesn't conform with OS X conventions. I was ready to open a pr to change that, should I go ahead or is the project policy not to follow them so closely?

@elemongw How would the user expand a directory, then?

Yeah sorry I should be more specific. Currently wherever you click in the line, the tree expands. The standard behaviour is to expand only when the little arrow that is before the folder name is clicked.

cc @bpasero what do you think?

I strive for a consistent experience across platforms personally (tweaking keybindings/settings where necessary). I seldom use OS X though and Linux/Windows are fairly similar.

I think this wouldn't fly so late in the game. Besides, we're trying to achieve OS consistency in keybindings, but product consistency in UI, so we'd probably not take just clicking the twisty for expanding/collapsing.


chore: rewrite to solve various problems

Use a sorted array instead of a type from heapless.

Use types from lset and primordial to fit into the Enarx
ecosystem more cleanly.

Include access permissions in the ledger.

Provide fine-grained control over ledger allocation size.

Support finding free space at the front or back of the address space.

Additional improvements can still be made.

We could probably get better performance with a binary tree.
We need a way to remove items from the ledger.

Signed-off-by: Nathaniel McCallum<EMAIL_ADDRESS>

Let me check:

1 was necessity since there was an actual bug on this.
2 is at least half-way related to issue that I reported and you fixed: https://github.com/enarx/primordial/issues/14. So it is fine.
3 I had them before and not sure if they're needed but let's keep them for now.
I can cope with 4 and 5.

Not perfect but since this still very much in WiP, I'll merge these.


Delete article slack event

Next time you do a refactor PR, perhaps do it separately from a feature addition otherwise it becomes hard to tell what change was introduced for which reason.
This is a greatly welcome PR so I'm not going to finagle but I like to separate refactors from other change sets to make git blame and finding the reason why changes were introduced in a commit more easy.

And thanks so much for adding lovely specs to Speakerphone. I really appreciate that. :-)

You got it, Olivier. We'll be mindful of that next time.
Saying the specs were lovely, from the man that did the course on it, is awesome!


Textfield with FocusNode Rendered within an iFrame on Web Refuses to Lose Focus

Steps to reproduce

Create a flutter app with the following main.dart file (this is just a hello world flutter app that contains a textfield along with a focusnode):

import 'package:flutter/material.dart';

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

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

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  // Declare the FocusNode
  late FocusNode _focusNode;

  @override
  void initState() {
    super.initState();
    // Initialize the FocusNode
    _focusNode = FocusNode();
  }

  @override
  void dispose() {
    // Dispose of the FocusNode
    _focusNode.dispose();
    super.dispose();
  }

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text('You have pushed the button this many times:'),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headlineMedium,
            ),
            const SizedBox(height: 20), // Add spacing
            // Add the TextField widget
            Padding(
              padding: const EdgeInsets.symmetric(horizontal: 40.0),
              child: TextField(
                focusNode: _focusNode,
                decoration: const InputDecoration(
                  labelText: 'Enter text',
                  border: OutlineInputBorder(),
                ),
              ),
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          _incrementCounter();
          // Request focus when the button is pressed
          _focusNode.requestFocus();
        },
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ),
    );
  }
}

Build the app with flutter build web
Run this dart file to statically serve the flutter web application on port 3000:

import 'package:shelf/shelf_io.dart' as io;
import 'package:shelf_plus/shelf_plus.dart' show Pipeline;
import 'package:shelf_static/shelf_static.dart';
import 'package:shelf/shelf.dart';

Map<String, String> corsHeaders = {
  'Access-Control-Allow-Origin': '*',
  'Access-Control-Allow-Headers': '*',
};

Middleware cors = createMiddleware(responseHandler: (response) {
  return response.change(headers: corsHeaders);
}, requestHandler: (request) {
  if (request.method == 'OPTIONS') {
    return Response.ok(null, headers: corsHeaders);
  }
  return null;
});

void main() async {
  Pipeline pipeline = Pipeline();

  // pipeline = pipeline.addMiddleware(shelf.logRequests());
  pipeline = pipeline.addMiddleware(cors);

  var server = await io.serve(
    pipeline.addHandler(createStaticHandler('build/web', defaultDocument: 'index.html')),
    'localhost',
    3000,
    poweredByHeader: '',
  );

  /// This will remove default headers from the server.
  server.defaultResponseHeaders.removeAll('X-Frame-Options');
  // server.defaultResponseHeaders.add('X-Frame-Options', 'null');
}

open this html file in your browser (this simply opens up an iframe to localhost:3000)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Iframe Example</title>
    <style>
        body {
            margin: 0;
            padding: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
        }
        iframe {
            width: 50vw; /* 50% of the viewport width */
            height: 100vh; /* 100% of the viewport height */
            border: none; /* Remove default border */
        }
    </style>
</head>
<body>
	<input placeholder="normal browser text input">
    <iframe src="http://localhost:3000"></iframe>
</body>
</html>

click on the flutter app's TextField input widget
Attempt to click on the browser input with the placeholder 'normal browser text input'
The flutter TextField will momentarily lose focus, to only request it again, making it impossible to type into the other normal text input without clicking outside of the TextField in the flutter application

Expected results
I would expect that if you click outside of an iFrame that is a flutter web application, a focused TextField should properly lose focus
Actual results
The Flutter TextField does not lose focus until you click outside of the TextField within the flutter application
Code sample
Code sample
I provided the code sample earlier

Screenshots or Video

Screenshots / Video demonstration
https://github.com/user-attachments/assets/80a4d81b-90a2-4ebe-8be3-19acf8eec048

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.24.3, on macOS 14.3.1 23D60 darwin-arm64, locale en-US)
[!] Android toolchain - develop for Android devices (Android SDK version 33.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/to/macos-android-setup for more details.
[!] Xcode - develop for iOS and macOS (Xcode 15.3)
    ✗ Unable to get list of installed Simulator runtimes.
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.2)
[✓] IntelliJ IDEA Ultimate Edition (version 2024.2.1)
[✓] IntelliJ IDEA Community Edition (version 2023.3.4)
[✓] VS Code (version 1.93.0)
[✓] Connected device (3 available)
[✓] Network resources

! Doctor found issues in 2 categories.

3. Run this dart file to statically serve the flutter web application on port 3000:

@caleb-at-pieces Thanks for the detailed report. Can you please elaborate how to run this file ?

Can you please elaborate how to run this file ?

You can run this file simply by creating it (i.e name it server.dart), then from the root directory of the flutter project used to reproduce this run: dart server.dart

Also, is there a way to replicate the reported behavior without above setup ?

You could install the Pieces VS Code extension and see the same behavior within our Copilot input.
In general, the important factors are having a FocusNode with a TextField that are then rendered within an iFrame on the web.
Does that answer your question?

Yes, thanks for the update. Using the details provided, I was able to replicate the reported behavior on latest versions.
Stable : 3.24.3
Master : 3.26.0-1.0.pre.152

For anyone else who needs it here is a workaround I've managed to get working for this issue:
let blurTime: Date | null = null;
window.onblur = () => {
  blurTime = new Date();
};
const originalFocusMethod = HTMLElement.prototype.focus;
HTMLElement.prototype.focus = (options?: FocusOptions) => {
  const now = new Date();

  if (blurTime && now.getTime() - blurTime.getTime() < 100) {
    return;
  }

  originalFocusMethod(options);
};

This was reported back in 2020 here: https://github.com/flutter/flutter/issues/70173
IDK what wasn't clear enough about the original that it wasn't fixed.
The suggested workaround at the time was:
import 'dart:html' as html;
...
html.window.onblur.listen((e) {
  FocusManager.instance.primaryFocus.unfocus();
});

It didn't work for me but by adding a delay it could get it to at least lose focus on the flutter widget so that if the user clicked again then they could get focus on html elements.
import 'dart:html' as html;
...
html.window.addEventListener('blur', (html.Event event) async {
  await Future.delayed(const Duration(seconds: 0));
  FocusManager.instance.primaryFocus?.unfocus();
});

Then github co-pilot auto-completed to use html.document.activeElement?.blur(); for some reason and it worked perfectly. Yay AI!
Now I have:
import 'dart:html' as html;
...
html.window.onBlur.listen((event) {
  html.document.activeElement?.blur();
});

I bring it in with conditional importing (https://dart.dev/guides/libraries/create-packages#conditionally-importing-and-exporting-library-files)
I created a gist as an example of this problem and solution that you can run on dartpad here:
https://dartpad.dev/?id=9b720275ec5d8c1370ad5b69d1bc495d

hey guys i have the same problem and would like to use the workaround. but i cannot use html since i am using wasm and therefore have to use import 'package:web/web.dart' as web; can anyone tell me what the equivalen of html.window.onBlur.listen((event) { html.document.activeElement?.blur(); }); is using the web package?

here it is the wasm compatible workaround, provided by @jezell on Twitter
import 'package:web/web.dart';
import 'dart:js_interop';

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

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

class _MyAppState extends State<MyApp> {
  @override
  void initState() {
    super.initState();
    window.addEventListener('blur', onBlur.toJS);
  }

  @override
  void dispose() {
    window.removeEventListener('blur', onBlur.toJS);
    super.dispose();
  }

  // Workaround for https://github.com/flutter/flutter/issues/155265
  void onBlur(Event e) {
    (document.activeElement as HTMLElement?)?.blur();
  }

  ...
}


Additional step for the users who have got the error: npm: command no…

…t found

There's so many ways to suggest someone installs Node.js, and unfortunately putting any information about how to get Node.js will end up becoming stale just in case in the future for example Windows Terminal magically installs things like npm or node if you don't have it.

There are so many ways to suggest someone installs Node.js, and unfortunately putting any information about how to get Node.js will end up becoming stale just in case in the future for example Windows Terminal magically installs things like npm or node if you don't have it.

Thanks for notifying this Was not aware of it. This was my first ever pull request by the way. Learned a lot.
I was hoping to get at least one green squares. 😅

@Recognizeyourself well done on your 1st pull request 🔥 . Keep going 💪  You got the green square and you will get many more 💥

@Recognizeyourself well done on your 1st pull request 🔥 . Keep going 💪 You got the green square and you will get many more 💥

Thanks to you !!


Error zoxide

PowerShell 7.3.7
zoxide: C:\Users\danzg\Documents\PowerShell\Microsoft.PowerShell_profile.ps1:219
Line |
219 |  Invoke-Expression (& { (zoxide init powershell | Out-String) })
|                          ~~~~~~
| The term 'zoxide' is not recognized as a name of a cmdlet, function, script file, or executable program. Check
| the spelling of the name, or if a path was included, verify that the path is correct and try again.
Invoke-Expression: C:\Users\danzg\Documents\PowerShell\Microsoft.PowerShell_profile.ps1:219
Line |
219 |  Invoke-Expression (& { (zoxide init powershell | Out-String) })
|                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Cannot bind argument to parameter 'Command' because it is null.

Just install it. winget install zoxide -s winget