Restrict providers for given email domains

Feature request
Is your feature request related to a problem? Please describe.
#244 requests for SAML SSO support. Commonly, domains which are under SSO have all other sign-in options restricted, to only allow access via the SAML SSO. By restricting the providers available for signing in based on the user's domain name, SSO support would be considerably easier to integrate.
Describe the solution you'd like
Potentially, a new table could be created which contains the domain name and the list of allowed providers for that domain. By default, all domains would be allowed to have sign-ins though any enabled provider, whereas if a domain is stored in the table, only the list of providers stored in the matching row would be allowed.
If a user logins via an existing provider, their email should then be checked against the list of restricted domains. If their domain is now restricted, and the provider they use now disallowed, they should be prompted to use a different provider, then have the restricted provider and provider ID be removed from their account on next login.
Note: I haven't considered how this would work with gotrue's SMS authentication.
Describe alternatives you've considered
Without such a solution to restrict the list of providers for given domains, there doesn't seem to be a way to implement industry-standard SSO as users will be able to login through other providers with the same email address.

thanks @liaujianjie and @bnjmnt4n !
just to clarify what you're trying to achieve, you want the ability to write rules such as:

@facebook.com emails can only log in with the facebook oauth provider
@hootsuite.com emails can only log in with the google oauth provider

is that correct?

Yes, that's right!

Just wanted to add that I'm looking to integrate with WorkOS as for SAML SSO and SCIM.
With SCIM or other similar user-provisioning services/standards, we also need the ability to write even more specific rules such as:

@foo-corp.com emails can only log in with Google OAuth provider if the user is in the designers Google group
@bar-corp.com emails can only log in with Okta OAuth provider (via WorkOS) if the the user has already been provisioned the app

Hey,
Just bumping this here. This thread has been inactive for a while so I would just like to highlight that we haven't forgotten about this issue and we are actively working on the WorkOS integration as well as SAML.
Thanks for your patience!
Joel

Hey all!
This should be resolved via #244 which @hf is actively working on. Feel free to follow along there -- going to close this issue for now but feel free to re-open if there are further concerns


Add interface for the div element in TabNavigation and TabContent

Codecov Report

Merging #1070 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1070      +/-   ##
==========================================
+ Coverage   99.77%   99.77%   +<.01%
==========================================
  Files         323      323
  Lines        7987     7989       +2
  Branches     1914     1914
==========================================
+ Hits         7969     7971       +2
  Misses         18       18

Impacted Files
Coverage Δ

src/components/tab/TabContent.tsx
100% <100%> (ø)
:arrow_up:

src/components/tab/TabNavigation.tsx
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


chore: remove usage of io/ioutil package as deprecated since Go 1.16

Remove io/ioutil, the package is deprecated since Go 1.16, see https://pkg.go.dev/io/ioutil
Test
No specific test required
Additional Information
Tradeoff

Potential improvement

Thanks for the cleanun


Query parameter order

Hello everyone,
I'd like to ask how to user order as dataset query parameter. Currently I have this error
TypeError: GridStatusClient.get_dataset() got an unexpected keyword argument 'order.
I've got
gridstatusio = "0.6.2"

@HalfDeadPie this is not currently supported by the python, but could be added.
by default, data is returned sorted in ascending order already. is your goal to sort data by descending order?


Contain the ever-growing code base

This is a "dumping ground" for useful resources that could help refactoring our code base. I think some issues are pretty-well summarized by a teaser for Jason Swett's book "Growing Large Rails Applications".

"How did our Rails app get to be such a confusing mess?"

Your models are bloated
When you open up a model file, you see a grab bag of random stuff. There are five methods that relate to this concept, two methods that relate to that concept, and about 20 one-off methods that don't have anything to do with anything else. The problem is especially bad in one or two "god objects" that you can't seem to figure out any way to break up.

Your controllers are confusing
Your controllers are bloated, but in a different way. By necessity, you've added custom methods to some of your controllers beyond the defaults that Rails gives you. In some cases you've added quite a lot of custom methods. You want to practice "fat models, skinny controllers" but somehow the controllers are still left carrying a lot of weight.

Your views are messy
You know that view code should be kept as simple as possible. Yet there's still some code that doesn't seem to fit comfortably in the view layer, nor the controller model layers, nor anywhere else. You've tried using helpers, and that helps some, but it also creates a mess of its own.

 You easily can't find what you want when you want to find it. When you add new code, it's unclear where to put it, so you just add it to one of the growing piles that are lying everywhere. Your team has tried to fix the problem by adding an app/services directory, and that helps a little, but mostly it just moves the mess around.

While it might not be that bad, we currently tend towards that direction with ever-growing models that act more like a dumping ground. Let's tackle this issue. It's a big one of course and will probably need a lot of time to solve, if it's ever to be solved. It's rather a continuous improvement I guess.
I don't think there's this one recipe that you follow to achieve a super clean and understandable codebase. Apps are too different and operate in various domains that they need different "solutions". Instead, let's collect many resources here to learn about new design patterns and experience from other people that deal with big code bases. I don't think buying Jason's book is necessary (it is not that cheap in the end) and am certain that we collect a good pool of websites, blog posts etc. to move forward.
I will post new links as separate comments down below and try to group them. Feel free to edit my comments to append links.

Clean Architecture
Ever since I've learned about "clean architecture", I fell in love with this concept and employed it in my own projects. The project structure and the philosophy, as well as the design patterns, really helped separate all those concerns of my code. While it might be too much effort to rejig MaMpf to use this kind of architecture, it might be still worth to check it out and borrow some ideas.

Using DDD and Clean Architecture With Rails / Nov 30, 2021
One brave soul described how they went all in and used Clean Architecture in Ruby on Rails, even working around the Rails conventions and trying to use the best of both worlds. Seems like a nice "trying things out" endeavor, but way too much effort to adapt this in our code as this is changing things at the roots. It also looks like a lot of pain to work around Rails conventions.

Folder structure
In my opinion, the topic of file/folder structure is one of the most important topics to achieve a sustainable codebase. I mean, it's like the house we're living in whenever we work with the MaMpf code, so it should feature a clear separation of what the rooms are for. And it shouldn't take too long to find a room.
To be honest, I feel a bit uneasy with the Rails default folder structure. For example, I find it weird that it separates files by their type and not by the feature they belong to.

Organizing Rails files by meaning / October 2022
This one explains at a high-level what I mean.
Folder structure / September 2021
This one goes more in-depth with actual examples. I like that they find a good balance: still the rigorous MVC separation (that I also like), but then subfolders to cluster according to meaning/feature. I don't like every idea there (e.g. the naming for the web folder is a bit weird IMHO), but I think this is a great resource to take inspiration from.

Patterns to refactor
We don't have to reinvent the wheel: there are many useful design patterns already out there that could be useful. But I feel like there is sometimes an over-emphasis on these patterns; more often than not some plain old Ruby classes should work just fine to create cohesive modules with low coupling between them.

7 Patterns to Refactor Fat ActiveRecord Models October 2012, but timeless
This one hooked me right from the start with precise descriptions. And it feels easy to implement, most of these things are really just POROs.

▶ Concrete ideas on how to proceed in our codebase
These are just some ideas to make models smaller, more cohesive and reduce their inter-dependency (if there is any?).
These might be very different approaches, I just want to write them down such that I don't forget. Nothing set in stone yet.

Start inside-out, e.g. take a big model like User. Identify groups of methods/scopes that semantically belong together. Try to put those in a separate file, use patterns and Rails niceties. Start here and make changes in other layers if necessary.PRs should be very small: literally just handle this one semantic group and change nothing else on the user object. This way, we can also progressively write unit and maybe even more importantly full integration/system tests that cover whole user workflows / use cases. And it's a lot easier to review than if the whole user model was refactored at once.

Thank you for all your work here!
Since it has come up in the review of #671, I think we should see if we can agree on some concept on how to proceed here, in order that new PRs can already be written in a way that follows our ideas. I totally agree with you on this point (which is in my mind is also the most pressing one):

I think the biggest pain point is the non-DRYness of our controllers and models. Especially the models have so many different behaviors and controllers also include too much business logic. Maybe one approach could be to create subfolders in models and split the big models into multiple classes in these subfolders. Every file should only deal with one very specific thing (single-responsibility principle) and be as cohesive as possible. It might be tempting to just move functionality into separate files, but this good post argues against it.

As I did in our basecamp pings, I want to contribute this link, henceforth known as A. I personally think that using the things that Rails already offers (instead of completely overworking everything like the person in the first DDD link) would be a good way to go, also considering our limited resources. In the links above there are two links which are on different ends of the spectrum regarding this (in particular towards concerns, namely this one, henceforth known as B and the one I linked above. I personally have a preference for the archicture described in A, but I would love to hear your opinion on this, and I still can be convinced of B (also, B offers some concepts that we can use as well even if we follow A's way concerning concerns).
This would be relevant already in #671 as it currently introduces a service model VoucherProcessor. This could be discussed in #671 as well but I think it provides a nice example of what we want to achieve in #694 so I will discuss it here.
If I understand the point of view of A correctly (please correct me if I am wrong here), it would be better to do it this way (or in a similar way):
# app/models/voucher.rb
class Voucher < ApplicationRecord
  include Redeemable
  ...
end

# app/models/voucher/redeemable.rb
module Voucher::Redeemable
  extend ActiveSupport::Concern

  included do
     has_many :redemptions, dependent: :destroy
  end

  def redeem(...)
    # what is currently in the VoucherProcessor
  end
end

such that in the redeem action in the VouchersController we would directly interact with the Voucher model by something like voucher.redeem(...) instead of VoucherProcessor.call(voucher, current_user, check_voucher_params).
Refactoring other classes could then follow a similiar pattern just as you described (for A, it would mean concerns).

I personally think that using the things that Rails already offers (instead of completely overworking everything like the person in the first DDD link) would be a good way to go, also considering our limited resources.

I agree that OOP is a tool we shouldn't underestimate. Creating POROs can greatly help orchestrating everything while keeping it DRY. Citing resource A: "Delegating functionality to additional systems of objects (AKA using plain object-oriented programming)".
And yes: going full into DDD with clean architecture is not feasible for us with the already existing code. It might still be a valuable source for inspiration and we might borrow very specific things from it.

A vs. B
💠 Concerns
The main point of B that rebels against A is this paragraph:

Prefer composition to inheritance. Using mixins [concerns] like this is akin to “cleaning” a messy room by dumping the clutter into six separate junk drawers and slamming them shut. Sure, it looks cleaner at the surface, but the junk drawers actually make it harder to identify and implement the decompositions and extractions necessary to clarify the domain model.

This is countered in A by:

[...] you must differentiate between SRP violations at the interface level or the implementation level:
The SRP violation we care more about is violation at the implementation level. Plainly put, we care whether the class really does all of that stuff or whether it just delegates to a couple of other classes.

So B argues that it's just a "facade", we clean the room by putting the dirt into smaller bins (e.g. using concerns aka "mixins"). On the contrary, A argues that this is exactly what makes looking at the room nicer. Bins can be labeled and then it's easier to work with those smaller pieces inside a cleaner room.
The distinction can be really subtle. I find that pattern 6 (policies) in B provides a good example:
class ActiveUserPolicy
  def initialize(user)
    @user = user
  end

  def active?
    @user.email_confirmed && @user.last_login_at > 14.days.ago
  end
end

We could easily model this exact same thing using concerns. The only real difference would be that using concerns, we wouldn't pass the user variable to another independent object (here of type ActiveUserPolicy). Instead, using concerns, the active? method would actually be callable directly on the user object itself, which could clutter its public API. The question is if that really bothers us. At least, with Rails concerns, we still have a separation into another file. So, on the implementation level, User and a possible concern similar to ActiveUserPolicy are independent, but not so much during the runtime/architectural point of view where one file is kind of included in the other. But if the method name like active? is really clear, why not have it in the scope of the user object.
For a simple example as this one here, I'd prefer the point of view of B where we have a really independent PORO: both on the implementation level and the "runtime" level as it gets passed the user as parameter. Also for number 1 in B, this would be my go-to approach, e.g. extracting simple value objects such as the presented class Rating.
But what do you do if you need more than a simple value object and instead access data from the database? You might need some has_many statements, but then you can't just easily outsource from a big model to a new class. I feel like article B is falling short for these cases, whereas A is providing more real-life examples, e.g. the module Recording::Copyable. I'm not sure how this scenario could be tackled with mere B's available tools. The question is how can you outsource methods that semantically belong together (in new class), but that new class needs access to the database and also shares some data with the original class where it came from. Here, concerns could help allowing us to at least put code in separate files.
In my opinion, the better approach would be to first look at the infrastructure level and think about whether we can't outsource some parts of a class into a completely separate "thing" (PORO or ActiveRecord) that might stand with its own right (which might include adding another table in the DB). If that doesn't work, one can still resort to concerns in order to extend an existing thing by means of another file.
Just one point that I don't like in the example in A:
class Recording < ApplicationRecord
  include Incineratable, Copyable
end

module Recording::Incineratable
  def incinerate
    Incineration.new(self).run
  end
end

For module Recording::Copyable, I understand that they use concerns as we don't only outsource the method, but also the has_many :copies, ... statement. But for Recording I see no benefit. The incinerate method is just delegating to yet another object (here of type Recording::Incineration). So why not just put def incinerate ... as-is into the original Recording class? I don't see any benefit of employing concerns here (but for the Recording::Copyable I still do).
💠 Services
I feel that A & B somehow agree on the point that we shouldn't resort to services too hastily. From A:

Don’t lean too heavily toward modeling a domain concept as a Service. Do so only if the circumstances fit. If we aren’t careful, we might start to treat Services as our modeling “silver bullet.” Using Services overzealously will usually result in the negative consequences of creating an Anemic Domain Model, where all the domain logic resides in Services rather than mostly spread across Entities and Value Objects.

And B (point 2):

I reach for Service Objects when an action meets one or more of these criteria:

The action is complex (e.g. closing the books at the end of an accounting period)
The action reaches across multiple models (e.g. an e-commerce purchase using Order, CreditCard and Customer objects)
[...] The action is not a core concern of the underlying model (e.g. sweeping up outdated data after a certain time period). [...]

For me that means, think twice when using a concept that resembles a service. Maybe a simple value object (or something else?) might fit better. But if an action is complex enough or even reaches across multiple models, we might consider using a service.
Now A strains away form calling their PORO objects (that are kind of services) by that name: "service". For me it's still kind of like a service, but that's just naming. Whatever you might call it, I like A's idea of not treating services in a special way (for me that also means not necessarily putting them in a dedicated services folder):

We don’t use services as first-class architectural artifacts in the DDD sense (stateless, named after a verb), but we have many classes that exist to encapsulate operations. We don’t call those services and they don’t receive special treatment. We usually prefer to present them as domain models that expose the needed functionality instead of using a mere procedural syntax to invoke the operation.

See A's signup example
class Projects::InvitationTokens::SignupsController < Projects::InvitationTokens::BaseController
  def create
    @signup = Project::InvitationToken::Signup.new(signup_params)

    if @signup.valid?
      claim_invitation @signup.create_identity!
    else
      redirect_to invitation_token_join_url(@invitation_token), alert: @signup.errors.first.message
    end
  end
end

class Project::InvitationToken::Signup
  include ActiveModel::Model
  include ActiveModel::Validations::Callbacks

  attr_accessor :name, :email_address, :password, :time_zone_name, :account

  validate :validate_email_address, :validate_identity, :validate_account_within_user_limits

  def create_identity!
    # ...
  end
end

So instead of having a SigningUpService in charge of the “signing up” domain operation, we have a Signup class that lets you validate and create an identity in the app.

The signup is modeled as PORO object and then instantiated. It uses include statements to import relevant ActiveModel "things", e.g. to be able to call validate. Now compare to B's approach (point 2):

See B's authentication example
class UserAuthenticator
  def initialize(user)
    @user = user
  end

  def authenticate(password)
    return false unless @user

    if<EMAIL_ADDRESS>== password
      @user
    else
      false
    end
  end
end

class SessionsController < ApplicationController
  def create
    user = User.where(email: params[:email]).first

    if UserAuthenticator.new(user).authenticate(params[:password])
      self.current_user = user
      redirect_to dashboard_path
    else
      flash[:alert] = "Login failed."
      render "new"
    end
  end
end

I don't see a big difference here. In A, the controller stores the @signup variable and then calls methods on it. We do the same in B (but instead of storing it as local variable, we call authenticate directly on the object). But that's not an important difference here. Maybe B's approach is a bit closer to what you have implemented so far as VoucherProcessor. I strongly agree with A that we shouldn't treat these "services" in a special way, which means (for me) not calling them Processor and not introducing a special call method. Instead, just POROs would be better in my opinion with names that make sense for the specific scenario, e.g. here VoucherRedeemer or something similar.
But this is actually a great example where stepping back for a moment yields another possibility, namely the one you proposed. Without any "service", but instead using concerns.

Your proposed approach with concerns instead.
class Voucher < ApplicationRecord
  include Redeemable
  ...
end

module Voucher::Redeemable
  extend ActiveSupport::Concern

  included do
     has_many :redemptions, dependent: :destroy
  end

  def redeem(...)
    # what is currently in the VoucherProcessor
  end
end

I think this really shows the power of concerns. In this example, Voucher and Redemptions are closely related: redemption is an essential part of a voucher. So I feel it's ok to not model the redemptions far away from the vouchers and instead include them in the vouchers itself. But to avoid too much clutter in the vouchers, we use concerns to split it up to another file. Calling voucher.redeem() feels very natural to me.
Maybe this also shows that we should sometimes just write down how we'd like the statement to roughly look like in the end (regardless of any squiggly lines and warnings you get in the IDE). For example, you might have written voucher.redeem() right from the start here. With that in mind, it can be easier to identify the strategies to use. This is because one sits down to think about a nice-to-read statement, and while doing that, one inevitably has to think through object compositions and their relations to each other. If I had started to implement the voucher redemption, I would have put it directly in the voucher class first, just to realize later that the redemption part could stand on its own. This is just to underline how closely vouchers and redemptions are related.
💠 Summary
In summary, I think the patterns presented in B can be very useful, if you happen to be in the exact or similar situation the examples were made up for. This is always the thing with these guides: there's no one size fits all solution and there won't be, as requirements are just too context-sensitive for the very specific programming project in mind. There's also no definitive "How to write a book" guide as there are just too many genres and everyone has their one styles.
I like the pragmatic approaches taken in A even though they raise my hackles sometimes as it's so different to what I'm used to from (my limited experience with) DDD. But I acknowledge that their approach works as well and that Rails might even be designed in a way to tailor the specific needs of web applications where boundaries of layers can be blurry. And apparently, they navigate the landscape well with their approach. The more I work with Rails, the more I like their pragmatism.

We don’t separate application-level and domain-level artifacts. Instead, we have a set of domain models (both Active Records and POROs) exposing public interfaces to be invoked from the system boundaries, typically controllers or jobs. We don’t separate that API from the domain model, architecturally speaking.

We care a lot about how we design these models and the API they expose, we just find little value in an additional layer to orchestrate the access to them. [...] In other words, we don’t default to create services, actions, commands, or interactors to implement controller actions.

Most of our controllers use this approach of accessing models directly: a model exposes a method, and the controller invokes it.

As this is already our approach (I think?), maybe we can leave that. But if it gets too big, introduce composition within the domain model to outsource to own objects. Most of this can probably done within app/models.
Maybe this whole thing is even more about just taking the time to step back and think through component boundaries:

What is this new feature really about? Where do I want to integrate it in the frontend (roughly)? Also see Interface First.
How can I represent the data structure in terms of domain objects? What are the key data fields needed for it?
With what other components of my software will this feature interact? And in which ways? Is it "close" to another component? Even 1:1 relationship? Is it very similar to an already existing component such that generalization would make sense (still prefer composition over inheritance)
Based on all this: where could be good place to settle the domain-related code for this feature? Can we think of simple and succinct names for its public interface. As written in A: care a lot about the public interface of any class. Naming is oftentimes key! If you see this code in one year, do you know to expect from this method based on just its title?

For existing classes that are too big

Identify where (e.g. inside a single class) multiple domain concepts are mixed together. Group them in natural language, e.g. these two methods discuss the same thing, these two attributes discuss another thing etc. Here it can be (again) helpful to look at the frontend and see how boundaries are defined there.
Think about how the identified groups interact with each other. Do they stand completely on their own? Perfect, then it's even easier to separate them into distinct files. Start with: is it possible to design their own PORO class for them decoupled from everything else? If that's not possible, what's the minimal set of attributes that needs to be shared with other objects?

As I'm also learning a lot of new things here, I might put forward contradictory arguments. Please point it out to me should I disagree with my own at some places ;)


Using 'Object format validation' throws VUE console warning

Versions:

VueJs: 2.4.2
Vee-Validate: v2.0.0-rc.13

Description:
Using v-validate="{ rules: { between:[1,10]} }" throws an console warning...
Using v-validate="'between:1,10'" doesn't
Did I use it in a wrong way!?
Additionally, the 'String format' rule validates immediately the 'Object format' only after leaving the input.
Steps To Reproduce:
https://jsfiddle.net/p28e8a95/45/

duplicate of #752 #753
Already fixed in a recent commit, will be up with the next tag.


Update short description and logo

Questions
Answers

Description?
Update short description and logo.

Type?
improvement

BC breaks?
no

Deprecations?
no

Fixed ticket?
https://github.com/PrestaShop/PrestaShop/issues/15858

How to test?
Please check that short description and logo are updated.

Thank you @Julievrz


Update wgpu and winit

Thanks for this library!
I've updated wgpu to 0.19 and winit to 0.29. Only required minor changes to the lib and example file. This should close #14.
Also ran cargo fmt, which accounts for the giant line count.

Could you revert the formatting changes to the files in third_party/? Otherwise looks good to me.
(I'm not even entirely sure what the huge number of changes to those files were? Did it switch the line endings? Seems a bit weird that some much changed given the #[rustfmt::skip] annotations...)

Done!

Just tried cargo test and it seems the doc comment at the top of src/lib.rs also needs to be updated:
running 1 test
test src/lib.rs - (line 5) ... FAILED

failures:

---- src/lib.rs - (line 5) stdout ----
error[E0308]: mismatched types
   --> src/lib.rs:15:41
    |
12  | let window = winit::window::Window::new(&event_loop).unwrap();
    |              -------------------------- ^^^^^^^^^^^ expected `&EventLoopWindowTarget<_>`, found `&Result<EventLoop<()>, ...>`
    |              |
    |              arguments to this function are incorrect
    |
    = note: expected reference `&EventLoopWindowTarget<_>`
               found reference `&std::result::Result<EventLoop<()>, EventLoopError>`
note: associated function defined here
   --> /home/jonathan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.29.10/src/window.rs:535:12
    |
535 |     pub fn new<T: 'static>(event_loop: &EventLoopWindowTarget<T>) -> Result<Window, OsError> {
    |            ^^^

...


All templates: task apply-torizon-packages as dependency of build-container-torizon-* and build-image-sdk-*

Before, apply-torizon-packages was dependency of run-* and deploy-* tasks. This way, one needed to run or deploy the application to update the related Dockerfiles with the last modification done on torizonPackages.json.
With this modification, the build process of the containers will depend on the apply-torizon-packages, therefore it will take into account modifications done on torizonPackages.json without the need to run or deploy the application.

LGTM
@andreriesco could you also check?

I just that the apply torizon packages step on the Dockerfiles of the Rust console and rust slint templates are missing:
`# your regular RUN statements here
Install required packages
RUN apt-get -q -y update &&
apt-get -q -y install \
DO NOT REMOVE THIS LABEL: this is used for VS Code automation
# __torizon_packages_prod_start__
# __torizon_packages_prod_end__

DO NOT REMOVE THIS LABEL: this is used for VS Code automation
&& apt-get clean && apt-get autoremove && \
rm -rf /var/lib/apt/lists/*`

I just that the apply torizon packages step on the Dockerfiles of the Rust console and rust slint templates are missing.

@andreriesco please open an issue about this, since this is not related to the scope of this MR.

Sure, I just realized it was already there, at #121

LGTM


Update index for front-door

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

If this PR is for a new extension or change to an existing extension, use the following to try out the changes in this PR:
docker run -it microsoft/azure-cli:latest
export EXT=<NAME>
pip install --upgrade --target ~/.azure/cliextensions/$EXT "git+https://github.com/pichandwork/azure-cli-extensions.git@pichand/updateIndex#subdirectory=src/$EXT&egg=$EXT"

@williexu - Removed the earlier entry for front-door


⚠ Bofrost.be has degraded performance

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

HTTP code: 200
Response time: 1219 ms

Resolved: Bofrost.be performance has improved in c4cee57.


Fix session id when switching between sessions

1. Why is this change necessary?
Currently with SW 5.7 when switching between sessions (Frontend/Backend) the session id is not updated with the correct session id for the respective session based on the cookie values. With SW <= 5.6 Zend took care of this: https://github.com/shopware/shopware/blob/cbc212ca4642878cac62193d3a2f41e08f4849a2/engine/Library/Zend/Session.php#L421-L423
Additionally any active session was closed before starting a new one with Zend: https://github.com/shopware/shopware/blob/cbc212ca4642878cac62193d3a2f41e08f4849a2/engine/Shopware/Components/DependencyInjection/Bridge/Session.php#L77-L79.
2. What does this change do, exactly?
This change replicates the Zend logic to set the session id to the session cookies value if there is none set currently. As such when creating e.g. a Frontend session after using a Backend session the session id is set to the Frontend Session cookie value and thus correct, instead of still being the Backend session id. The backend session is also saved and closed before starting the frontend session to ensure clean switches between each other. The same is true vice versa.
3. Describe each step to reproduce the issue or behaviour.

Call a Backend Controller Action with a Frontend and Backend session cookie set (SHOPWAREBACKEND and session-1 for a shop with id 1)
Close the Backend session:

$backendSession = $container->get('backendsession');
$backendSession->save();
$backendSession->getId();

Register a Shop and request the Frontend session:

$shop->registerResources();
$session = $container->get('session');
$session->getId();

Observe the session id from the Frontend session is the same as the session id from the Backend session.

4. Checklist

[ ] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[x] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/SW-26032
Please use this issue to track the state of your pull request.

Thanks for your contribution! 💙


[Feature Proposal] Compile to CSS, Keep Variables

Background
I'm working on a project where I am dynamically constructing css in my cshtml pages.
Razor allows you to "substitute" with variables:
@{
    var widthvar = "10px";
}

This provides a lot of flexibility and can minimize the complexity and number of stylesheets.
Proposed
It would be nice to have the option to compile LESS into (invalid) CSS that retains the LESS variables. This way they can be resolved at compile/run time, even based on runtime values.
@{
    var backgroundColor = ViewData["backgroundColor"] as string;
}

This box uses runtime color.

A char in the variable def would let the compiler know which ones to keep, and could even provide a default value. Something like
@keepThisVar:~;
@keepThisVarWithDefault:~ 10px;

Why not just write  .coloredBox { background-color: ~"@backgroundColor"; }? Which will compile to  .coloredBox { background-color: @backgroundColor; }

@herrquark, that works perfectly! I didn't know about the ~. Funny, I randomly picked that symbol for my example.


Make internal-submit-nominee get 'Your Team' options from API

https://api.brandnewcongress.org/teams will give you a list of teams.

Done.


draft: Manual testing issue template

@Nataliia10 (and @Casyfill )
Thanks for taking these steps in creating the framework! Some feedback and a few things we need to improve before we review/merge this:

PR should have a description - motivation behind the change, if there is ticket it closes we should mention it Fixes #1234 or Closes #1234, please provide a video (screen capture) the new feature looks like

E.g. - small change - https://github.com/iterative/vscode-dvc/pull/3205, bigger change https://github.com/iterative/vscode-dvc/pull/3175

I'll put some comments on the template content

@shcheklein Thanks a lot for your comments! I tried to follow your recommendations and created a new template. I am looking forward to new remarks
image

@Nataliia10 thanks! please add description to the PR (ideally with a demo as I mentioned above https://github.com/iterative/vscode-dvc/pull/3215#issuecomment-1416835469

Closing this, we can come back to this later.


Template HMR broken running on Windows Dev Server

Which @angular/* package(s) are the source of the bug?
core, compiler
Is this a regression?
No
Description
Appears to be some issue with Template HMR on a Windows where even though the message "Component update sent to client(s)" is seen. Most of the code responsible for template HMR in core is not being served to the client via the core.mjs script. not sure about this anymore.
With this problem any changes to the template even after a manual page reload won't show the changes.
The @ng/component?import GET calls also don't have a response body either.
I have tested the same repo served from Linux (WSL) and it works just fine. And tested with brand new ng new projects on Windows.
There are no errors in the console.
Please provide a link to a minimal reproduction of the bug
No response
Please provide the exception or error you saw

Please provide the environment you discovered this bug in (run ng version)
Angular CLI: 19.0.4
Node: 20.18.1
Package Manager: npm 10.8.2
OS: win32 x64

Angular: 19.0.2
... compiler, compiler-cli, core

Package                             Version
-------------------------------------------------------------
@angular-devkit/architect           0.1900.4
@angular-devkit/build-angular       19.0.4
@angular-devkit/core                19.0.4
@angular-devkit/schematics          19.0.4
@angular/animations                 19.0.1
@angular/cli                        19.0.4
@angular/common                     19.0.1
@angular/forms                      19.0.1
@angular/material                   19.0.1
@angular/platform-browser           19.0.1
@angular/platform-browser-dynamic   19.0.1
@schematics/angular                 19.0.4
rxjs                                7.8.1
typescript                          5.6.3
zone.js                             0.15.0

Anything else?
No response

Duplicate of https://github.com/angular/angular-cli/issues/29049


[Question] TrueNAS Integration Polling

I noticed that the polling for TrueNas entity data doesn't occur very frequent.
If I manually reload the integration or restart HA, the TrueNas value updates.
Question.

What's the current polling interval for the TrueNas integration?
Can it be manually modified/configured?

Polling interval is 60 seconds. If its not updating, look into your HA logs for any errors.

@tomaae thanks for confirming.
I’ll go and check the logs.

@tomaae
Based on the logs, it is polling every 60 seconds as mentioned.
2022-06-29 19:18:36 DEBUG (MainThread) [custom_components.truenas.model] Updating entity TrueNAS-service-9
2022-06-29 19:18:36 DEBUG (MainThread) [custom_components.truenas.model] Updating entity TrueNAS-service-10
2022-06-29 19:18:36 DEBUG (MainThread) [custom_components.truenas.model] Updating entity TrueNAS-service-11
2022-06-29 19:18:36 DEBUG (MainThread) [custom_components.truenas.model] Updating entity TrueNAS-service-12
2022-06-29 19:18:36 DEBUG (MainThread) [custom_components.truenas.model] Updating entity TrueNAS-service-14
2022-06-29 19:18:36 DEBUG (MainThread) [custom_components.truenas.model] Updating entity TrueNAS-service-16
2022-06-29 19:18:36 DEBUG (MainThread) [custom_components.truenas.model] Updating entity TrueNAS-service-18
2022-06-29 19:18:36 DEBUG (MainThread) [custom_components.truenas.model] Updating entity TrueNAS-service-21
2022-06-29 19:18:36 DEBUG (MainThread) [custom_components.truenas.model] Updating entity TrueNAS-service-22
2022-06-29 19:18:36 DEBUG (MainThread) [custom_components.truenas.model] Updating entity TrueNAS-service-23
2022-06-29 19:18:36 DEBUG (MainThread) [custom_components.truenas.model] Updating entity TrueNAS-service-24
2022-06-29 19:18:36 DEBUG (MainThread) [custom_components.truenas.model] Updating entity TrueNAS-service-25

However, the entity values and the "last updated" field for each entity does not reflect/update post the 60 second polling.
I am assuming because of the error from the log below
2022-06-29 19:18:52 DEBUG (SyncWorker_0) [custom_components.truenas.truenas_api] TrueNAS <IP_ADDRESS> query: system/info, get, {}
2022-06-29 19:18:52 WARNING (SyncWorker_0) [custom_components.truenas.truenas_api] TrueNAS <IP_ADDRESS> unable to fetch data (401)
2022-06-29 19:18:52 DEBUG (SyncWorker_0) [custom_components.truenas.truenas_api] TrueNAS <IP_ADDRESS> query: interface, get, {}
2022-06-29 19:18:52 WARNING (SyncWorker_0) [custom_components.truenas.truenas_api] TrueNAS <IP_ADDRESS> unable to fetch data (401)

I have deleetd the integration and re-added it with new api keys from truenas but still get the 401 error.
Any further ideas?
Should I

delete all true nas entities
delete integration
create anew api key with a different name rather than generating a new key
?

The unable to fetch data (401) error no longer appears after performing the steps below

I went and done the steps below
delete all true nas entities
delete integration
restart HA and Truenas
create anew api key with a different name rather than generating a new key
configured HA integration

The original issue of the "Last Updated" field on the HA dashboard indicates a last update/refresh rate of >1minute ago (since the time the integration was restarted or ha was restarted).
I can see that the values are getting received and processed.
2022-06-29 19:37:36 DEBUG (SyncWorker_7) [custom_components.truenas.apiparser] Processing entry {'identifier': '{serial_lunid}WD-WM...

Just can't understand why the actual values arent being represented on the HA Dashboard

Running HA OVA btw
Version	core-2022.6.7
Home Assistant OS 8.2

ok. It appears to be working and updating now.
It seems the initial "unable to fetch data (401)" error I encountered may have been the original problem.
After that was fixed, the values are now updating when the value changes (as you mentioned).
Thanks again!
And nice job on this integration!! Loving it


move psalm integration to integration directory

Pull Request Test Coverage Report for Build 570154216

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.957%

Totals

Change from base Build 570130509:
0.0%

Covered Lines:
2301

Relevant Lines:
2302

💛  - Coveralls


Type refinement doesn't work with backticks

/*@flow*/
function f(foo: string | number) {
    if (typeof foo === 'string') {
        const bar: string = foo; // this doesn't show error
    }
}

function g(foo: string | number) {
    if (typeof foo === `string`) {
        const bar: string = foo; // this does show error
    }
}

On tryflow
I decided to start using backticks where possible, seems like Flow doesn't like that.

thanks!


Change "open source" to "free software"

Considering the disinterested development of Minetest, with no real aim to enter the industry, I think it's more coherent to call it "free software" rather than "open source", a term born to not scare investors (since in English the word free also means "not costing anything"). I'd like to remember that the two terms refer to the same thing, what it changes is the perspective: ideological in the former, business oriented in the latter. I also think Minetest should set an example and that words do are important.
For an in-depth analysis: https://www.gnu.org/philosophy/open-source-misses-the-point.html
EDIT: build is failing, but it doesn't seem related to my changes

"free" is not the same as "open source", "free" is not better than "open source".
"Free" might mean that you can download a free binary, without source being available.
Personally I do not see any need to change this.

Open source is the more common term than free software. I'd either use "free and open source" or leave it as-is
Side note: this should probably be rephrased as well to mention other things first, like easy scripting or minetest being a game platform with CDB

"free" is not the same as "open source"

In this context it is

"Free" might mean that you can download a free binary

In English, true. In Italian, Spanish and other languages, false. That's why English speakers then tried to coin the word "Libre", from the same latin root that generates "Libero" in Italian and "Libre" in Spanish (trivia: also same root for "book" in such languages, Libro). Maybe libre software would be a better option that avoids misunderstandings? You're the native speaker though (I think)

Open source is the more common term than free software

It is because the industry prevails on the rest, but this doesn't mean is more correct


empty

Codecov Report

Merging #7 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff           @@
##           master      #7   +/-   ##
======================================
  Coverage    87.8%   87.8%
======================================
  Files           1       1
  Lines         123     123
======================================
  Hits          108     108
  Misses         15      15

Impacted Files
Coverage Δ

lintipy.py
87.8% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


2406 skill id invalid

Hello!
Following the instructions, I created a new account and a new project. When I try to log in, I get an error: Invalid authentication.
In logs: 2021-10-21 10:33:31 ERROR (MainThread) [custom_components.tuya_v2.config_flow] Login failed: {'code': 2406, 'msg': 'skill id invalid', 'success': False, 't':<PHONE_NUMBER>400}.
The SmartLife account is linked, the devices on the Tuya website are visible.
"Central Europe Data Center" is selected in the project settings, country code for authorization is 7.

Same to me. Login error (2406): skill id invalid.
Recreate project two times.
Never find "Smart Home Devices Management" API service.
I had project before 22-09-2020. Subscribe to everything that can find related.
I think this is that moment when we have to move to ESPHome!

@zlinoliver then please mark this integration as broken because it does not even support the basic functionalities and make the repo achieved. there is no sense to leave it around because it is broken if it can't even support proper authentication and configuration.

bonjour j'ai réussi a contournez l'erreur .j'ai mis comme pays Spain a la place de switzerland. et cela a fonctionnez

This has to be the worse integration I have ever seen, it should be pulled instantly.

Yeah, this is super weird.  Although my (original) app was set to mainland china (years ago) after trial and error I found my data in the USA. Im in Australia. They are really trying hard to make this overcomplicated.

Still having the issue on the latest docker version

same here, still broken

You need to have a device in IoT platform...
What helped for me was:
Under "Devices" linked my Smartlife app to Tuya IoT platform, then under "all devces" added my Smartlife account and got my device listed.
After this, i got rid of the error and my devices popped up :)

I can confirm. My issue was the location of the devices of my linked Smart Life.
I changed the datacenter (in the device section) and linked my account again.
Now the devices are presents and the integration works.

I didn't get any devices until I first set the correct datacenter (which wasn't the obvious one from my geographical location - I needed to look-up the appropriate one here) and then linked my SmartLife account to the Tuya IoT platform via Devices > Link Tuya App Account. With the wrong datacenter selected, the SmartLife account would still link, but it wouldn't pick up any devices, and the HASS integration would throw this error.

So crazy! In case some gets here having the same problem I had:

If you get the skill id invalid is totally related to geographical mismatch. I'm in Spain, so I picked Central Europe in the Tuya Iot Platform project. In HA, I had to pick my country, Spain. Once that done, the skill id invalid error went away, but the permission deny appeared.
The permission deny problem was solved as soon as I used the username/email and password I used in my phone's Smart Life app. I was using the credentials created for the Tuya IoT Platform. Once I entered the credentials in the mobile app everything worked out!

Cheers!

I had this error also.

For the second set of credentials, its the Tuya Life app username and password.
Just to reiterate the geographical mismatch, check your location is correct with the URL below. I thought I was Western Europe, turns out I needed to set to Central Europe 🤦♂

https://developer.tuya.com/en/docs/iot/oem-app-data-center-distributed?id=Kafi0ku9l07qb

I might have found a "workaround" for this.
I am in Eastern Canada/US and ran today into this same exact "2406 skill id invalid" issue.
First, I followed the instructions here.  Installed Tuya Smart, created a tuya.com account created to add a Tuya Cloud Project (per instructions).  Since I'm on East coast, I picked Eastern America Data Center"
Then I tried to configure Tuya in hass and kept getting the "2406" error.  I scramble and went on a trial / error.  Then I stumble on this Tuya document that shows some data centers are available only from specific regions... and I noticed "Eastern America DC" isn't even part of the list.
I went on tuya.com and added "Western America DC" to the Cloud Project.  BINGO, my devices finally showed up on tuya.com IoT portal!
Bottom line, if you're trying to use Eastern America Data Center, try to use the Western one.

From Brazil, Western American doesn't work. Even though it is listed in the docs: https://github.com/tuya/tuya-home-assistant/blob/main/docs/regions_dataCenters.md

I give up! Nothing is working. I use other brands from now on

GUYSGUYSGUYS solution found!
"If your cloud project was created before May 25, 2021, you need to perform project migration. ."
From here: https://developer.tuya.com/en/docs/iot/Home-assistant-tuya-intergration?id=Kb0eqjig0utdd
Basically you got to do a new project if your one was older than May 25.
For doing the new project I followed:
https://developer.tuya.com/en/docs/iot/Platform_Configuration_smarthome?id=Kamcgamwoevrx
and this:
https://developer.tuya.com/en/docs/iot/Home-assistant-tuya-intergration?id=Kb0eqjig0utdd

@luixal I've tried to set it up for Spain. I selected Eastern Europe as the data center for my project and my smart life app is already linked but the same error appears: "Login failed: {'code': 2406, 'msg': 'skill id invalid'," when trying to install the Tuya V2 integration, any idea / suggestion? What's the literal code you entered: '34'? Thanks.

Hi @josepeinado , if you read my post, I selected "Central Europe", not Eastern. I don't know which literal I entered or if I entered any at all, I think it was just a dropdown. Anyhow, there's a table linked around for you to find you zone (Central Europe for Spain).

Western and Eastern America worked for me and I'm in the Eastern US. Make sure that in the Tuya IoT project, you go to the Devices tab. After that, link you Tuya regular account so that all of the devices from your regular account show up in your IoT Tuya account. Finally, go back to Home Assistant and add the Tuya Integration. The Access ID and Token you'll add from the project in the Tuya IoT account. However, the username and password that you'll use for the integration will be the email address and password from the standard Tuya account and NOT the credentials from the Tuya IoT account.

GUYSGUYSGUYS solution found!
From documentation: "Your cloud project on the Tuya IoT Development Platform should be created after May 25, 2021. Otherwise, you need to create a new project."

this solved my issue. I have created my project a long time ago when I wasn't using HA and now tried to use it for HA. Recreating a new project have solved all the issues.

I had the same issue recently and to fix that I created new iot tuya project with Device Status Notification added just like in documentation and all started to work


Request: Training script

Hi, I wonder if you could provide a training script to train on our own custom datasets. Thank you.

https://github.com/openai/glide-text2im/issues/7#issuecomment-999900595


Homepage with recent news

How would you take news from unimia? And most importantly, what news are on the unimia panel? I dont't see any.
Maybe you mean the unimi.it website.

How would you take news from unimia? And most importantly, what news are on the unimia panel? I dont't see any.
Maybe you mean the unimi.it website.

@MarcoBuster

@MarcoBuster

Ma che cazzo fai?

Ma che cazzo fai?

@georgiani

@georgiani

What's happening? Where is Bugo?

What's happening? Where is Bugo?

What's happening? Where is Bugo?

Donde esta Bugo?

What's happening? Where is Bugo?

Donde esta Bugo?

What's happening? Where is Bugo?

Let's go find Bugo

What's happening? Where is Bugo?

Let's go find Bugo

What's happening? Where is Bugo?

Let's go find Bugo

The bad intentions and the rudeness..

What's happening? Where is Bugo?

Let's go find Bugo

The bad intentions and the rudeness..

Beneh, facciamo una pausah.

Beneh, facciamo una pausah.

What's happening? Where is Bugo?

Let's go find Bugo

The bad intentions and the rudeness..

The bad impression you made last night

What's happening? Where is Bugo?

Let's go find Bugo

The bad intentions and the rudeness..

The bad impression you made last night

Beneh, facciamo una pausah.

Oooohvrr, perché vuoi uscvrireeh?

Beneh, facciamo una pausah.

Oooohvrr, perché vuoi uscvrireeh?

What's happening? Where is Bugo?

Let's go find Bugo

The bad intentions and the rudeness..

 Where is Bugo?

Let's go find Bugo

The bad intentions and the rudeness..

 Where is Bugo?

Let's go find Bugo

The bad intentions and the rudeness..

 Where is Bugo?

Let's go find Bugo

The bad intentions and the rudeness..

 Where is Bugo?

Let's go find Bugo

The bad intentions and the rudeness..

 Where is Bugo?

Let's go find Bugo

The bad intentions and the rudeness..

 Altrimenti sarebbero stati 15 punti in meno.

Almeno basi serve a qualcosa
agaga

Bene che hai usato thead e tbody. Altrimenti sarebbero stati 15 punti in meno.

Già presente una issue a riguardo.


Adds support for m1 chips

Integrates apple silicon into the build process, removing some older build targets (ppc, 32 bit).

Similar to #88 -- i ended up doing this work and only saw #88 as I was getting ready to submit the PR req... nice job @kevintom :)
in this case, it just builds a universal binary if it's on an arm64 system, but falls back to current behavior if not.

thanks @imajes
i actually initially tried this approach as well, passing both architectures to the compiler
the only problem was that then the binary is tied to the same SDK version and since M1 support only exists on versions 11+ it kind of cuts off anyone running older versions on Intel systems with this binary.
that's when I started looking for ways to create a universal binary that would allow support for older versions of the SDK on Intel but also let us set the SDK target to the current version for M1 support.

@kevintom yeah, i wasn't sure how well it'd work pre 11x. I wondered if pulled in an older SDK would that be sufficient?
either way, the lipo step is still doing the same, but I guess you're using the original build vs building both at the same time. It feels like that's a bit risky, but.. :shrug:
if the lipo step is the way, then in your PR it would make sense to do a rake step to do those bits.


docs: add an audit status check badge

Merge activity

Nov 11, 5:55 PM EST: A user started a stack merge that includes this pull request via Graphite.


CSV Quick Guide File Orientation Correction

Documentation reference (URL): https://github.com/ess-dive-community/essdive-csv-structure/blob/master/csv_quick_guide.md#column-or-row-name-orientation
Submitter: Dylan O'Ryan
Justification (why is this change necessary?): The CSV Quick Guide incorrectly describes vertical and horizontal orientation.

I suggest the following changes to the Reporting Format Description for Column or Row Name Orientation:

Tabular data can be organized: 1) Horizontally meaning that data are organized in rowscolumns and there's a new name describing the data at the start of every rowtop of every column 2) Vertically meaning that data are organized in columnsrows and there is a new columnrow name describing the data at the top of every columnstart of every row.

Hi Dylan, I think this was previously considered in this Issue in the FLMD format. https://github.com/ess-dive-community/essdive-file-level-metadata/issues/22
As far as I can tell the definitions in the FLMD guide and CSV guide are currently the same (horizontal is data in rows, vertical is data in columns), but the opposite of what you are suggesting here. To me the clearest explanation is to describe the orientation of the header (variable names). A horizontal header gives horizontal data, and vice versa.


netstandards

Hello and thanks for some great work!
I have enjoyed your API since march 2019.
The DLLs were downloaded from your site on 20019-03-22. I can't seem to find out which version they have (122 & 244 kB)

Perhaps v3.1?

In the process of porting my solution to a new environment, I am having considerable problems and would need some help to understand dependencies.
My problem is that I need SpotifyAPI-NET to work with .NET 4.6.1 which I understand could mean netstandard 1.4-1.99999)
Again, v3.1 appears to do this already as it works fine using netstandard2.0.dll (together with some other DLLs?)
It's actually quite confusing...
Questions:

Can I use v6.0? which alternatives?
What netstandard does 3.1 support?
Exactly which other files are needed for 3.1 to work and in which versions

Sorry for the unstructured questions.
It is evident, I am not  pro... But I try...
:-)
Bob

I managed to build a downgrade to 4.5.2 that is still worked in my original set-up, but not to the new environment.
Something else is causing my problems.


About M

Thank you for your excellent work! We noticed in your paper that M refers to the distance threshold of local connectivity in self-attention, can you explain in detail how to understand the distance threshold?
Note that N and M denote
the number of vertices and the distance threshold for defining the local connection in self-attention, respectively.

Sorry for the late reply.
Based on the graph of the vertex connection on the mesh surface, we define four different attention masks according to the number of connected vertices to take into account. And this number is the distance threshold, i.e., 1, 3, 5, 7.
For easier understanding, please check our video(from 3:32) which shows some visualizations about how to define the attention mask.
https://youtu.be/VZA5Y0xgtBg?t=212


NEW DBDate and DBDatetime now support modify() with a strtotime() style adjustment string

This allows PHP classes to easily adjust the current date, e.g. ->modify('+1 day') or ->modify('-1 week') rather than needing to do this manually with timestamp calculations or separate DBDate instances.
Resolves https://github.com/silverstripe/silverstripe-framework/issues/8802

Nice one. This is a great addition.


OpenWRT package for raspberry

Any chance to have some guidance on how to have mavlink router working on a raspberry that runs OpenWRT? (actually openmptcprouter)
thanks in advance.

I nstalled everything to try to cross compile it to openwrt on raspberry and run the sample, it compiled and run on openwrt. Now apply all this to cross compile mavlink-router is another story. Anybody willing to help a bit?

That should be relatively easy, here some examples that you could use:
https://github.com/openwrt/packages/blob/master/net/ser2net/Makefile
https://github.com/openwrt/packages/blob/master/utils/avrdude/Makefile
Only problem that you need to package mavlink as well.

I successfully build mavlink-router with the following Makefile:
include $(TOPDIR)/rules.mk

PKG_NAME:=mavlinkrouter
PKG_RELEASE:=0.0.0

PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=https://github.com/mavlink-router/mavlink-router
PKG_SOURCE_VERSION:=master

PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_NAME)-$(PKG_VERSION)

# do we need this?
PKG_INSTALL:=1

include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/meson.mk

MESON_ARGS+=-Dsystemdsystemunitdir=/usr/lib/systemd/system

define Package/mavlinkrouter
 SECTION:=net
 CATEGORY:=Network
 TITLE:=mavlinkrouter
 DEPENDS:=+libstdcpp
endef

define Package/mavlinkrouter/description
	Route mavlink packets between endpoints
endef

define Package/mavlinkrouter/install
	$(INSTALL_DIR) $(1)/usr/bin
	$(CP) $(PKG_INSTALL_DIR)/usr/bin/mavlink-routerd $(1)/usr/bin
endef

$(eval $(call BuildPackage,mavlinkrouter))

I still have to test this carefully on hardware.


Rows per page error

Hi,
When I click on rows per page dropdown I receive this error:
Uncaught TypeError: Cannot assign to read only property 'resultsPerPage' of #<Object>

the error is located in this line
//make this better.
	        this.props.resultsPerPage = size;

I'm using React 0.14.0 version.

Hi, Reference https://github.com/GriddleGriddle/Griddle/pull/252 as Griddle has not been updated for 0.14.


letsencrypt.conf does not included

Web generator does not include /etc/nginx/nginxconfig.io/letsencrypt.conf into the domain's sites-available/*.conf.

Hello @boralp!
It's included in the HTTP redirection block:
# HTTP redirect
server {
	listen 80;
	listen [::]:80;

	server_name .example.com;

	include nginxconfig.io/letsencrypt.conf;

	location / {
		return 301 https://example.com$request_uri;
	}
}

The HTTPS block doesn't need that rule.


Generalize checkIfSignatures to all kinds

https://github.com/srl-labs/containerlab/blob/1ef7460784a0ee4d5358221bac9c7563da704215/clab/config.go#L681
SRL nodes aren't the only ones with specific naming requirements, vrnetlab based nodes like sros need to use 'eth[x]'
The correct interface naming pattern should be part of the kind/type definition, and (if set) should be checked generically for all node kinds
Note: was discussed in the past (https://github.com/srl-labs/containerlab/issues/377) but only partially implemented. Some users had issues with using invalid interface names, which silently breaks their topology

Moved to #1129 now

the ground work is done in #1129
we have to add a regexp for vr-based nodes and then we can close this one


Only works for words I've typed while suggestion dropdown is open

Is it normal that I only get suggestions for words I've typed, while the suggestion dropdown is open? I don't get any suggestions for words in the current file I'm in, which I've typed previously. Is there a way to force the cache to pickup words in the current file?

Here's a picture showing that I have the word "discovered" in my current file, but when I press ctrl-space on "disc", I don't get any results.

Hello,
Thanks for the bug report.
There is a typo in your photo on the first written word "Discovered" it's
written "Dscovered" so that's why the suggestion is not showing up.
Right now the flow providers adds only words written in the current
session. In the next future a Current file provider will be added and it
will scan the current file and then the provider will suggest the words
already written.
Keep an eye on the plugin updates :)
Have a nice day!
janac meena @.***> schrieb am Fr., 19. März 2021, 15:06:

Is it normal that I only get suggestions for words I've typed, while the
suggestion dropdown is open? I don't get any suggestions for words in the
current file I'm in, which I've typed previously. Is there a way to force
the cache to pickup words in the current file?
[image: image]
https://user-images.githubusercontent.com/2055312/111792450-a769c500-889a-11eb-9534-1872e8db6960.png
Here's a picture showing that I have the word "discovered" in my current
file, but when I press ctrl-space on "disc", I don't get any results.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Yeboster/autocomplete-obsidian/issues/7, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AFTXDLNR2GNS6UG4DLU5RUDTENK6PANCNFSM4ZO3QQAQ
.

Thanks for the response, great plugin, will watch for updates!


curl https://api.blockcypher.com/v1/btc/main?token=$YOURTOKEN

curl https://api.blockcypher.com/v1/btc/main?token=$YOURTOKEN

curl https://api.blockcypher.com/v1/btc/main?token=$YOURTOKEN

curl https://api.blockcypher.com/v1/tokens/$YOURTOKEN

curl https://api.blockcypher.com/v1/tokens/$YOURTOKEN


add archive access role to tenant

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

Absolutely agree on both counts, PTAL.


Update teams-workflow-in-advanced-ediscovery.md

Made change per Tony Redmond
Per issue#https://github.com/MicrosoftDocs/microsoft-365-docs/issues/9634

Docs Build status updates of commit c9fec03:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/compliance/teams-workflow-in-advanced-ediscovery.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@v-tophillips Please merge this PR. Thanks

Docs Build status updates of commit ef62010:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/compliance/teams-workflow-in-advanced-ediscovery.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Deformable groups

Hi, and thank you for your work.
I'd like to understand better the deformable_groups parameter of the ModulatedDeformConvPack class.
To my understanding, based on this, it refers to the number of independend offset groups predicted. Each offset group is applied to a different subset of input-output channels in the convolution, independently.
However, I would expect that, in such a case, the number of input and output filters should be divisible by the number of deformable groups, which seems not to be the case. I tried for instance 64 filters, 7 groups and it runs without issues.
Any help?

I think your understanding is right.
But I am not clear about why using 64 filters and 7 groups is OK. It may relate to the implementations.

@DavideA
Because the DCN implementation borrows from https://github.com/open-mmlab/mmdetection,
I recommend opening an issue in https://github.com/open-mmlab/mmdetection


Auth complete workflow doesn't match SWA

Description of bug
When the auth pipeline hits /.auth/complete the emulator responds with a 302 that sets the location header the emulator host.
Expected outcome
It should return a 200 response with a HTML chunk that does an auth redirect to the path provided in post_login_redirect_uri on the /.auth/login/<provider> query string.
Here's a sample HTML response:
<title>Working...</title><form method="GET" name="hiddenform" action="https://purple-plant-04c92a01e.azurestaticapps.net/authentication/login-callback/e71e4fa3-6298-4c01-ab1d-882ab0758110">
Script is disabled. Click Submit to continue.
<input type = "submit" value = "Submit" /></form>

Fixed in #30


Update versions matrix.

https://github.com/sdcio/integration-tests/actions/runs/7957579508
config-server v0.0.15
data-server v0.0.35

Pages built!


Add autogpt example

Adds a very basic version of autogpt as a more complex example

Cool! Since the docs don't go into too much detail about the impl, you might want to just remove the code block and link to the source.
Alternatively, we could have like a "see also" section at the bottom of advanced.rst for more involved examples:
See Also
--------
Our examples also showcase cool advanced use cases with kani, some of which are highlighted here.

AutoGPT
^^^^^^^
[desc, link, example output]


Building Axom with Spack

Description
I keep running into errors when attempting to build Axom with Spack.
Context
I am using Spack@develop, the goal being to make sure our projects keep building with the latest Spack.
I am trying to keep the spec as simple as possible for now, in order to reach a working state.
Errors
Building<EMAIL_ADDRESS>Spec:
axom-0.5.0-spack.lock.txt
Error:
[ 61%] Building CXX object axom/mint/examples/CMakeFiles/mint_curvilinear_mesh_ex.dir/mint_curvilinear_mesh.cpp.o
cd /usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-7389599b/spack/var/spack/stage/spack-stage-axom-0.5.0-5jb5nq6jnb33nqp4siyd6swze372p6og/spack-build-5jb5nq6/axom/mint/examples && /usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-7389599b/spack/lib/spack/env/clang/clang++ -DAXOM_DEBUG -DH5_BUILT_AS_DYNAMIC_LIB -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200809L -Dmint_curvilinear_mesh_ex_EXPORTS -I/usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-7389599b/spack/var/spack/stage/spack-stage-axom-0.5.0-5jb5nq6jnb33nqp4siyd6swze372p6og/spack-build-5jb5nq6/include -I/usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-7389599b/spack/var/spack/stage/spack-stage-axom-0.5.0-5jb5nq6jnb33nqp4siyd6swze372p6og/spack-src/src -isystem /usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-7389599b/spack/var/spack/stage/spack-stage-axom-0.5.0-5jb5nq6jnb33nqp4siyd6swze372p6og/spack-src/src/thirdparty -isystem /usr/workspace/radiuss/install/radiuss-stack/spack_path_placeholder/spack_path_placeholder/spack_path_placeholder/spack_path_pla/linux-rhel7-broadwell/clang-10.0.0/umpire-4.1.2-alnhifu3kozrhfmnrfu4cogk5oieoqig/include -isystem /usr/tce/packages/openmpi/openmpi-3.0.1-clang-10.0.0/include -isystem /usr/tce/packages/openmpi/openmpi-3.0.1-clang-10.0.0/lib -isystem /usr/workspace/radiuss/install/radiuss-stack/spack_path_placeholder/spack_path_placeholder/spack_path_placeholder/spack_path_pla/linux-rhel7-broadwell/clang-10.0.0/conduit-0.7.1-s53ido32j6gn74ofoluujospk2t6udk7/include -isystem /usr/workspace/radiuss/install/radiuss-stack/spack_path_placeholder/spack_path_placeholder/spack_path_placeholder/spack_path_pla/linux-rhel7-broadwell/clang-10.0.0/conduit-0.7.1-s53ido32j6gn74ofoluujospk2t6udk7/include/conduit -isystem /usr/WS1/radiuss/install/radiuss-stack/spack_path_placeholder/spack_path_placeholder/spack_path_placeholder/spack_path_pla/linux-rhel7-broadwell/clang-10.0.0/hdf5-1.8.22-hqfe2rxg4wmozga5lubfbnqvt7zijzxp/include -isystem /usr/workspace/radiuss/install/radiuss-stack/spack_path_placeholder/spack_path_placeholder/spack_path_placeholder/spack_path_pla/linux-rhel7-broadwell/clang-10.0.0/camp-0.1.0-g2v7h26apnpidy73flcoef7ya7aefdu3/include -isystem /usr/workspace/radiuss/install/radiuss-stack/spack_path_placeholder/spack_path_placeholder/spack_path_placeholder/spack_path_pla/linux-rhel7-broadwell/clang-10.0.0/raja-0.13.0-cmofls3lcigf4sd7yycagk6o5tu3fsna/include --gcc-toolchain=/usr/tce/packages/gcc/gcc-8.3.1     -Wall -Wextra  -O2 -g -DNDEBUG -fPIE -fopenmp=libomp -fexceptions -pthread -DCONDUIT_RELAY_IO_MPI_ENABLED -DCONDUIT_BLUEPRINT_MPI_ENABLED -std=c++14 -o CMakeFiles/mint_curvilinear_mesh_ex.dir/mint_curvilinear_mesh.cpp.o -c /usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-7389599b/spack/var/spack/stage/spack-stage-axom-0.5.0-5jb5nq6jnb33nqp4siyd6swze372p6og/spack-src/src/axom/mint/examples/mint_curvilinear_mesh.cpp
gfortran: error: unrecognized command line option '-fopenmp=libomp'; did you mean '-fopenmp-simd'?
make[2]: *** [examples/sidre_shocktube_F_ex] Error 1
make[2]: Leaving directory `/usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-7389599b/spack/var/spack/stage/spack-stage-axom-0.5.0-5jb5nq6jnb33nqp4siyd6swze372p6og/spack-build-5jb5nq6'

Link to Github project with Spack config: https://github.com/LLNL/radiuss-ci/blob/master/spack-environments/radiuss/spack.yaml
Link to the pipeline on LC Gitlab: https://lc.llnl.gov/gitlab/radiuss/radiuss-ci/-/pipelines/77136
Building Axom@develop
Spec:
axom-develop-spack.lock.txt
Error1:
[ 36%] Building CXX object axom/quest/CMakeFiles/quest.dir/stl/STLReader.cpp.o
cd /usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-1184304f/spack/var/spack/stage/spack-stage-axom-develop-gno4tbht6d2kcu3vuca2e5bnmll6bi5s/spack-build-gno4tbh/axom/quest && /usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-1184304f/spack/lib/spack/env/gcc/g++ -DAXOM_DEBUG -I/usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-1184304f/spack/var/spack/stage/spack-stage-axom-develop-gno4tbht6d2kcu3vuca2e5bnmll6bi5s/spack-build-gno4tbh/include -I/usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-1184304f/spack/var/spack/stage/spack-stage-axom-develop-gno4tbht6d2kcu3vuca2e5bnmll6bi5s/spack-src/src -I/usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-1184304f/spack/var/spack/stage/spack-stage-axom-develop-gno4tbht6d2kcu3vuca2e5bnmll6bi5s/spack-build-gno4tbh/lib/fortran -I/usr/workspace/radiuss/install/radiuss-stack/spack_path_placeholder/spack_path_placeholder/spack_path_placeholder/spack_path_pla/linux-rhel7-broadwell/gcc-8.1.0/camp-0.1.0-unrq5o6aryxn6j3ewdjzbgtmukvmhahi/include -I/usr/workspace/radiuss/install/radiuss-stack/spack_path_placeholder/spack_path_placeholder/spack_path_placeholder/spack_path_pla/linux-rhel7-broadwell/gcc-8.1.0/raja-0.13.0-4nnj33nftpcfsgkc6oic46qjq723jqoy/include -isystem /usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-1184304f/spack/var/spack/stage/spack-stage-axom-develop-gno4tbht6d2kcu3vuca2e5bnmll6bi5s/spack-src/src/thirdparty -isystem /usr/workspace/radiuss/install/radiuss-stack/spack_path_placeholder/spack_path_placeholder/spack_path_placeholder/spack_path_pla/linux-rhel7-broadwell/gcc-8.1.0/umpire-4.1.2-veyhsgd2jf3aya7lzwactuez3r3lvkfz/include -isystem /usr/tce/packages/openmpi/openmpi-3.0.1-gcc-8.1.0/include -isystem /usr/tce/packages/openmpi/openmpi-3.0.1-gcc-8.1.0/lib -isystem /usr/workspace/radiuss/install/radiuss-stack/spack_path_placeholder/spack_path_placeholder/spack_path_placeholder/spack_path_pla/linux-rhel7-broadwell/gcc-8.1.0/conduit-0.7.1-agfn7h6bcq4og2a6hczteivrux5q2bjz/include -isystem /usr/workspace/radiuss/install/radiuss-stack/spack_path_placeholder/spack_path_placeholder/spack_path_placeholder/spack_path_pla/linux-rhel7-broadwell/gcc-8.1.0/conduit-0.7.1-agfn7h6bcq4og2a6hczteivrux5q2bjz/include/conduit -isystem /usr/WS1/radiuss/install/radiuss-stack/spack_path_placeholder/spack_path_placeholder/spack_path_placeholder/spack_path_pla/linux-rhel7-broadwell/gcc-8.1.0/hdf5-1.8.22-oazz2wlvz4oqiwz545mtcke4q3w4bhlt/include -Wall -Wextra     -O2 -g -DNDEBUG -fPIC -fopenmp -fexceptions -pthread -Wno-class-memaccess -std=c++14 -o CMakeFiles/quest.dir/stl/STLReader.cpp.o -c /usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-1184304f/spack/var/spack/stage/spack-stage-axom-develop-gno4tbht6d2kcu3vuca2e5bnmll6bi5s/spack-src/src/axom/quest/stl/STLReader.cpp
/usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-1184304f/spack/var/spack/stage/spack-stage-axom-develop-gno4tbht6d2kcu3vuca2e5bnmll6bi5s/spack-src/src/axom/sidre/core/DataStore.cpp: In member function 'bool axom::sidre::DataStore::generateBlueprintIndex(MPI_Comm, const string&, const string&, const string&)':
/usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-1184304f/spack/var/spack/stage/spack-stage-axom-develop-gno4tbht6d2kcu3vuca2e5bnmll6bi5s/spack-src/src/axom/sidre/core/DataStore.cpp:669:36: error: 'generate_domain_to_rank_map' is not a member of 'conduit::blueprint::mpi::mesh'
     conduit::blueprint::mpi::mesh::generate_domain_to_rank_map(mesh_node,
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [axom/sidre/CMakeFiles/sidre.dir/core/DataStore.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....

Error2:
[ 45%] Built target mint
In file included from /usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-1184304f/spack/var/spack/stage/spack-stage-axom-develop-gno4tbht6d2kcu3vuca2e5bnmll6bi5s/spack-src/src/axom/spin/internal/linear_bvh/BVH_impl.hpp:24,
                 from /usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-1184304f/spack/var/spack/stage/spack-stage-axom-develop-gno4tbht6d2kcu3vuca2e5bnmll6bi5s/spack-src/src/axom/spin/BVH.hpp:385,
                 from /usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-1184304f/spack/var/spack/stage/spack-stage-axom-develop-gno4tbht6d2kcu3vuca2e5bnmll6bi5s/spack-build-gno4tbh/include/axom/spin.hpp:23,
                 from /usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-1184304f/spack/var/spack/stage/spack-stage-axom-develop-gno4tbht6d2kcu3vuca2e5bnmll6bi5s/spack-src/src/axom/quest/MeshTester.hpp:13,
                 from /usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-1184304f/spack/var/spack/stage/spack-stage-axom-develop-gno4tbht6d2kcu3vuca2e5bnmll6bi5s/spack-src/src/axom/quest/MeshTester.cpp:7:
/usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-1184304f/spack/var/spack/stage/spack-stage-axom-develop-gno4tbht6d2kcu3vuca2e5bnmll6bi5s/spack-src/src/axom/spin/internal/linear_bvh/build_radix_tree.hpp: In function 'void axom::spin::internal::linear_bvh::propagate_aabbs(axom::spin::internal::linear_bvh::RadixTree<FloatType, NDIMS>&, int)':
/usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-1184304f/spack/var/spack/stage/spack-stage-axom-develop-gno4tbht6d2kcu3vuca2e5bnmll6bi5s/spack-src/src/axom/spin/internal/linear_bvh/build_radix_tree.hpp:554:52: warning: typedef 'using PointType = class axom::primal::Point<CoordType, DIM>' locally defined but not used [-Wunused-local-typedefs]
   using PointType = primal::Point<FloatType, NDIMS>;
                                                    ^
make[2]: Leaving directory `/usr/WS2/bernede1/gitlab-runner/builds/llnl-stack-1184304f/spack/var/spack/stage/spack-stage-axom-develop-gno4tbht6d2kcu3vuca2e5bnmll6bi5s/spack-build-gno4tbh'

Removing<EMAIL_ADDRESS>(therefore using<EMAIL_ADDRESS>and outside of the CI context, I was able to build<EMAIL_ADDRESS>with gcc and clang.
Since I am making progress, I will close this.


Custom Pagination with search errors out

Custom Pagination with search errors out
When have a custom pagination with search. Goto the 2 or higher number page in the pagination and copy a column data and paste it in the search bar it errors out.
To Reproduce
Steps to reproduce the behavior:

Go to https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Pagination&selectedStory=Custom Pagination with Search&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel
Click on page 2 of the pagination.
copy 'Item name 15' and paste it in the search text input.
See error

Screenshots
PFB the screenshot

codesandbox
was able to replicate the issue in the sandbox itself.

Any quick workaround will be greatly appreciated.

Any quick workaround will be greatly appreciated.

Hello, I think i found a workaround for this bug,  as you pointed out, the bug occurs when you filter the table while you're on a page that wont exist after the filter,  so , if you jump to page 1 before filtering the table, i think the page wont crash.
assuming your table is rendered in the same way as the link you posted i think this should fix it
on the body of the class:
  jumpToFirstPage = ({ onPageChange }) => () => {
    onPageChange(1);
  };

and on the BootstrapTable component:
const contentTable = ({ paginationProps, paginationTableProps }) => (
//...
    <BootstrapTable
        //...props
        onDataSizeChange={this.jumpToFirstPage(paginationProps)}
    />
//...
);

Hello I noticed the same issue a month ago but nobody has answering me

Hello I noticed the same issue a month ago but nobody has answering me

hello, have you tried to downgrade react-bootstrap-table-next to 3.0.1

hello, have you tried to downgrade react-bootstrap-table-next to 3.0.1

Any quick workaround will be greatly appreciated.

hello, have you tried to downgrade react-bootstrap-table-next to 3.0.1

Any quick workaround will be greatly appreciated.

hello, have you tried to downgrade react-bootstrap-table-next to 3.0.1

Facing the same problem , also tried  the given solution nothing happen
Please solve this asap

Any quick workaround will be greatly appreciated.

hello, have you tried to downgrade react-bootstrap-table-next to 3.0.1

Tried not working


Duplicate word in documentation

Duplicate word:
organization who can help with with a particular issue or question.

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

ID: b755d9ae-13ac-019f-f5f4-a95b1eee2989
Version Independent ID: f7afd8ad-e6e0-6c79-aed1-4ee87d48ba12
Content: Create a call queue in Microsoft Teams - Microsoft Teams
Content Source: Teams/create-a-phone-system-call-queue.md
Service: msteams
GitHub Login: @MikePlumleyMSFT
Microsoft Alias: mikeplum

@azha23 Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@azha23 Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

Hi @azha23, thank you for your feedback.
This was fixed 14 days ago:
https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/commit/d9216651b5b3f183e337c58c69a0e7fae6977f12

Hi @azha23, thank you for your feedback.
This was fixed 14 days ago:
https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/commit/d9216651b5b3f183e337c58c69a0e7fae6977f12

Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.

Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


Integration into acmutsa.org main site

This will involve:

Front facing redesign
Vanilla version redesign for OSS version
Split of branches from ACM's site and the OSS version

Redirects of portal.acmutsa.org to acmutsa.org?

This will involve:
* Front facing redesign

* Vanilla version redesign for OSS version

* Split of branches from ACM's site and the OSS version

I'm not really sure what some of this means; if I could get an extended description, that'd help.


Custom head

Would like the ability to add head.js instead of just head.html so I can haz dynamic stuff.

I need more information to understand what it is you're requesting.
head.html can contain <script>s.
Or do you need server side middleware?
Or would you rather have us require a module in which you can return html to use as head?

Or would you rather have us require a module in which you can return html to use as head?

That one! 😀

Would you be interested in creating a PR @kirkstrobeck ?

Will consider this for #1209


Add context to login flow

Description:
Provide a placeholder for ip_address information will be used in trusted networks auth provider
Related issue (if applicable): fixes #
Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#<home-assistant.github.io PR number goes here>
Example entry for configuration.yaml (if applicable):

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass

source has been entirely move to config_entries from data_entry_flow

@balloob is this good for merge?


Wrap the arguments of React class/instance methods with {}

See this

This is a pretty extreme breaking change for a questionable benefit. Entire codebases must be changed all at once to upgrade. This alone would be reason to reject it because there are organizations like Facebook with such large codebases that updates must be done incrementally. But on top of this, this means that every single React library using any of these methods must release a breaking change all at once. If you use a bunch of libraries you have to coordinate updates so that every one of them is upgraded to the correct major version when you upgrade React. You cannot do this change before or after upgrading React, it must be done at the same time. And if you make use of a single tiny little library that lags behind in maintenance, you cannot upgrade React until it updates.

With that change, the arguments' order of the class/instance methods is no longer a barrier when contributors need to change/correct the existing class/instance method

Could you reference any past issue or rfc where argument order has been a barrier that blocked a change to the React api?
I am not personally aware of any. In fact the most recent rfc involving changing the arguments of a lifecycle hook (adding prevProps to getDerivedStateFromProps) is one that would not be helped by getDerivedStateFromProps accepting an object argument. In fact, it would make things even harder. When using normal arguments it's possible for the caller to check the arity of the function (how many arguments are defined in the function definition) and use that to implement a backward compat behaviour and emit a deprecation warning, to make breaking changes easier to migrate. However if we switch to using single object arguments this is no longer possible because the user defined functions now always have a single argument.
This also locks in argument names and mandates that users use them. {next,prev}{Props,State} is the React documentation convention. However we do not actually require this as the pattern, we only require this.props and this.state to use those names. I would bet that there are users who use the following patterns:

shouldComponentUpdate(newProps, newState)
componentDidUpdate(oldProps, oldState)
static getDerivedStateFromProps(props, state)

Anyone who does not follow the {next,prev}{Props,State} naming pattern will not only have to wrap their arguments in {}, they will have to rename their arguments. This also means that the code in the function itself will need to be refactored to use the new argument name.

It should also be noted that destructuring is an ES6/ES2015 feature and we technically still support users who are still writing ES5 code without transpiling it:
https://reactjs.org/docs/react-without-es6.html
In ES5 code destructuring will not be available and code will need to use a verbose reference to something like opts.prevProps.*.
var Greeting = createReactClass({
  componentDidUpdate: function(opts) {
    if ( opts.prevProps.name !== this.props.name ) {
      console.log('name has changed');
    }
  },
  render: function() {
    return
Hello, {this.props.name}
;
  }
});

Thanks for the proposal, @wood1986! I agree with the sentiment that named params can make certain types of changes easier.
I think @dantman makes several strong arguments against this change though. Given that, and the lack of discussion in the last couple of weeks- I'm going to go ahead and close this RFC for now.

Sorry guys, I completely forget to reply. I do not mind closing but I still want to leave my comment. It will be very long.
Here are my subjective reason

I personally do not feel confident about the function signature of getDerivedStateFromProps and getSnapshotBeforeUpdate or any new methods in the future (Again, the lifecycle is fine except the function signature) because they are new and controversial (#40). @bvaughn HAD some plans to modify them. If core team want to change, this will be a problem as lots of people has already been in old signature. And they may be difficult to write the polyfill for the smooth migration.
I have a "prediction" with the new lifecycle and static getDerivedStateFromProps, I do not think we need the props anymore in the future. I am talking about the stateful React class component not the stateless functional component because getDerivedStateFromProps has forced us to move every variable which will affect the rendering directly or indirectly to the state. Of course the communication from parent to child will still need props but after getDerivedStateFromProps this.props or prevProps has becomed useless. If react core team plans to remove this.props or prevProps, this will be very big change and difficult to write the polyfill for the smooth migration.

Here are my reply to @dantman

This is a pretty extreme breaking change for a questionable benefit.

I am thinking from core team perspective when they need to change the existing signature in order to introduce some big features or correct the some existing signature. Of course, it minimizes the cost for writing a polyfill. From the consumer side, I can tell there is no benefit.

Entire codebases must be changed all at once to upgrade. This alone would be reason to reject it because there are organizations like Facebook with such large codebases that updates must be done incrementally. But on top of this, this means that every single React library using any of these methods must release a breaking change all at once. If you use a bunch of libraries you have to coordinate updates so that every one of them is upgraded to the correct major version when you upgrade React. You cannot do this change before or after upgrading React, it must be done at the same time. And if you make use of a single tiny little library that lags behind in maintenance, you cannot upgrade React until it updates.

React itself just needs to introduce one major release which is asking the consumer to rename all variables. There will no logic change and no lifecycle change. Again I am not asking for logic change.

In fact, it would make things even harder. When using normal arguments it's possible for the caller to check the arity of the function (how many arguments are defined in the function definition) and use that to implement a backward compat behaviour and emit a deprecation warning, to make breaking changes easier to migrate. However if we switch to using single object arguments this is no longer possible because the user defined functions now always have a single argument.

Both can achieve the same thing and you still can check the existence of the certain properties. The problem of n numbers of arguments is the order cannot change once you introduce. Or you need to do some checking if you need to change the existing signature. Using the number of arguments to identify the break change is still implicit, however, using the object's property name is definitely clear.

This also locks in argument names and mandates that users use them. {next,prev}{Props,State} is the React documentation convention. However we do not actually require this as the pattern, we only require this.props and this.state to use those names

Think about which one will have least impact and less buggy? locking the name vs locking the order?

I don’t see how this addresses @dantman’s concern.

IMO, if it is just a naming change without logic change, that breaking change is minor and it will be a find and replace task. If that big change cause the inconvenience to the third party libs, here is my idea.
Each component has a static var called signatureMode and it requires to be set explicitly
// consumer.js
class F extends React.Component {
}

F.signatureMode = "1Arg"

// react.js
if (Component.signatureMode === "1Arg") {
  shouldComponentUpdate({prevProps, prevState})
} else if (Component.signatureMode === "nArgs") {
  shouldComponentUpdate(prevProps, prevState)
} else {
  console.warn("Component.signatureMode is not set correctly. 'nArgs' will deprecate in v20.0.0 and default is set to '1Arg'");
  shouldComponentUpdate({prevProps, prevState})
}

React.

Can you give a code example of how that would work with destructuring?

@dantman had mentioned
componentDidUpdate(obj) {
   var prevProps = obj.prevProps;
       prevState = obj.prevState;
}

IMO, … it is just a naming change without logic change

Every single package that exports a React component that uses lifecycle methods will have to release a new major version since the same code can’t be used on both old and new versions of React. Additionally, people won’t be able to upgrade React until all such dependencies upgrade.
About the destructuring question, could you show how a function calling another function can find out if it takes a particular destructured argument? This is necessary to warn on usage of deprecated arguments and would be helpful in saving work for a polyfill.

My JSPerf test says that the destructured form is about 50% slower.
Run on Chrome 67.0.3396 / Chrome OS 10575.22.

Obviously, wrapping the arguments is a bad approach because of @j-f1 results. Anyways, thanks for the test.
The main purpose of this rfc is trying to solve and eliminate the barrier if the existing method signature needs to be changed. Wrapping the arguments is one of my suggestion at the very beginning and this is failed. How about this?
app.js
class A extends React.Component {
  static signature = 16.2;  // we need to specify which version of the signature the stateful component is using
}

react.js
if (Component.signature == 16.2) {
  console.warn("v20.0 will remove shouldComponentUpdate(nextProps, nextState) please do the migration");
  sCU(nextProps, nextState);
} else if (Component.signature == 20) {
  sCU(nextState);
} else {
  console.warn("Component.signature is not set. Default is set to '20'");
  sCU(nextState);
}

Let me know if it is worth to discuss. If it is not, I will stop the discussion. Otherwise, I will create another rfc.
Thanks for everyone's time for reading and discussing.


rename internal property for adaptivedialog to _adaptive

#3009

this had deltas that weren't supposed to be in there.


Store Nextflow head process generated files

Description
Nextflow has options to generate timeline reports and dags on the completion of a workflow. They are default written to the directory the engine is running.  I couldn't find a simple way to have those file written to the context/project s3 bucket.
Use Case
This useful so we can ingest the consolidated trace, timeline, report and dags from the workflow provide by nextflow.
Proposed Solution
Allow configuration to copy files in default or specific relative directory on head node to the s3 work dir bucket.

This works for us in nf-core on AWS Batch and also with Tower; I haven't tried with Amazon Genomics CLI  yet.
Perhaps having this block in your config might help?
timeline {
  overwrite = true
}
report {
  overwrite = true
}
trace {
  overwrite = true
}
dag {
  overwrite = true
}

See e.g. https://github.com/nf-core/configs/blob/master/conf/awsbatch.config#L12

I will try this again.  I also might not have been using the publishDir correctly.

Hi @MrMarkW
This can be achieved by either by including the following in your nextflow.config:
    report {
      enabled = true
      file = 's3://<agc-bucket>/<output-prefix>/report.html'
    }

    trace {
      enabled = true
      file = 's3://<agc-bucket>/<output-prefix>/trace.txt'
    }

    timeline {
      enabled = true
      file = 's3://<agc-bucket>/<output-prefix>/timeline.html'
    }

    dag {
      enabled = true
      file = 's3://<agc-bucket>/<output-prefix>/dag.html'
    }

or this in your MANIFEST.json
{
  "mainWorkflowURL": "main.nf",
  "inputFileURLs": [
    "inputs.json"
  ],
  "engineOptions": "-with-report s3://<agc-bucket>/<output-prefix>/report.html -with-trace s3://<agc-bucket>/<output-prefix>/trace.txt - with-timeline s3://<agc-bucket>/<output-prefix>/timeline.html -with-dag s3://<agc-bucket>/<output-prefix>/dag.html"
}