Memory configuration mismatch -> OOM

When scaling down consumers in my test I would expect the shareded queue brokers to buffer messages until consumer can catch up. That works as first, but quite soon brokers start to die due to an OOM situation.
Looking into the broker template I do see the following two parameters:
- description: Memory limits for container
  name: BROKER_MEMORY_LIMIT
  value: 512Mi
- description: Global max size for all addresses in broker. Cannot be larger than
  a quarter of BROKER_MEMORY_LIMIT
  name: GLOBAL_MAX_SIZE
  value: 128Mb

Assuming the latter parameter targets the Java VM heap space this would be a problem because the startup script of the brokers already splits the BROKER_MEMORY_LIMIT in half in order to compensate for JVM overhead:
See the startup log:
-Xms256m -Xmx256m -XX:+UseParallelGC …

So I think the default settings for BROKER_MEMORY_LIMIT should be 1024Miinstead.

The Artemis brokers underlying the sharded queue are configured with an address-full-policy of FAIL, so I think the client should be seeing rejects once the shards are full rather than buffering.
Turning to the comment about the memory sizing, I agree, but wonder why -XX:+UseCGroupMemoryLimitForHeap isn't used.

@ctron @k-wall
BROKER_MEMORY_LIMIT limits the memory given by the container for Artemis. The startup scripts for artemis will do the same as "-XX:+UseCGroupMemoryLimitForHeap " (I don't think it existed in Java 8 at some point), set the heap to half of the system memory limit, i.e. 256Mb.
GLOBAL_MAX_SIZE is not related to the heap, but is the max memory Artemis will use for its queues.
So: GLOBAL_MAX_SIZE < BROKER HEAP < BROKER_MEMORY_LIMIT
@ctron in your situation, I would expect the consumers queues to block any producers once their aggregate memory usage went beyond GLOBAL_MAX_SIZE. Since you still get an OOM, there must be something allocating memory off-heap, causing BROKER_HEAP + off-heap > BROKER_MEMORY_LIMIT.

@ctron can you clarify "start to die due to an OOM situation".   Are you referring to a container OOM or are you seeing an JVM OutOfMemoryError?  If the latter, what's the exception's description so we know whether the issue was heap or direct  (or even native threads).
@lulf doesn't ```FAIL`` give a dropped message behaviour rather than block?

@k-wall I think last i tried and understand what FAIL does, it responded with a detach if you tried to connect a sender to the queue, but it would still block if you were already attached. The behavior in Artemis isn't really expected iirc, but my memory is a bit vague.

GLOBAL_MAX_SIZE is not related to the heap, but is the max memory Artemis will use for its queues.

True, but if that causes the broker to consume more memory that its JVM heap has available, it will trigger an OutOfMemory condition.
@k-wall IIRC the JVM killed itself due to OOM. But I will try to reproduce it.

@ctron Perhaps the memory required by other broker stuff than queues is > 384 MB, in which case you would benefit from increasing the heap memory potentially. If the memory is off-heap, it won't help.
That being said, I 'm thinking we should set GLOBAL_MAX_SIZE to -1, so that it is automatically tuned based on heap memory instead. I think exposing it with any other value is going to be error prone since its dependant on heap memory.

@ctron Perhaps the memory required by other broker stuff than queues is > 384 MB, in which case you would benefit from increasing the heap memory potentially. If the memory is off-heap, it won't help.

Is > 128MB … as you can see the broker only get 256 MB assigned, so 128MB for the "global data" and 128 MB for the rest of the broker:
-Xms256m -Xmx256m -XX:+UseParallelGC …

@ctron Ah sorry yes, you are right, 128MB for the rest of course. Clearly it would be useful if we could just leave global_max up to the broker :) (which I think it does if you set to -1). In any case, maybe we should update the defaults anyway, as I don't think this little memory for Artemis is well tested.

https://github.com/EnMasseProject/enmasse/pull/1505 addressed one aspect of this issue.   Do we also want to make the memory default more generous too?  Double the JVM heap?

@k-wall We can try that, although last time I attempted to do that, I ran into an issue with kubernetes not having enough memory to schedule pods in travis CI.
I think this can be fixed by changing the 'default' kubernetes configuration in CI, but I don't know the exact tunables.

I believe this is fixed in 0.26.3 and newer


Rebrand and redirect config.rst as settings.rst

I'd like to redirect https://docs.datasette.io/en/stable/config.html to a new https://docs.datasette.io/en/stable/settings.html page too. I can use https://docs.readthedocs.io/en/stable/user-defined-redirects.html for that.

Originally posted by @simonw in https://github.com/simonw/datasette/issues/1105#issuecomment-733190827

https://readthedocs.org/dashboard/datasette/redirects/

https://docs.datasette.io/en/latest/settings.html is now live - need to redirect https://docs.datasette.io/en/latest/config.html to it using the ReadTheDocs redirects interface.

https://docs.datasette.io/en/latest/config.html isn't redirecting though.

I used an "exact redirect" instead and it worked:


Slight visual overhaul for Engagements

The bordered tables for Active Engagements and All Engagements where the last tables with borders in DefectDojo. Now the table are visually in sync with the other tables. Plus some other minor changes to improve the user experience for these 2 dialogues.

And some permission fixes it seems ;-)


Update LegendGoblin.cs

@SebastianTanoni The change is correct of course.
It only makes sense to put this into main if we're going to do a 3.7.5 with this fix at some point. It feels like a reasonably safe bet that we won't at this point. Maybe put this one into dev?

@SebastianTanoni The change is correct of course. It only makes sense to put this into main if we're going to do a 3.7.5 with this fix at some point. It feels like a reasonably safe bet that we won't at this point. Maybe put this one into dev?

Sure? i guess theres something i dont understand in the process then. Like when would i ever release into main?

@SebastianTanoni The change is correct of course. It only makes sense to put this into main if we're going to do a 3.7.5 with this fix at some point. It feels like a reasonably safe bet that we won't at this point. Maybe put this one into dev?

Sure? i guess theres something i dont understand in the process then. Like when would i ever release into main?

You would push directly into main if you have a critical bug fix that should be released, but you don't want to release anything that's currently in dev. For instance, let's say I find out today that Scourge's defeat condition is broken. I would want to fix that and release it, but I wouldn't want to prematurely release all of the gold changes you've made at the same time.

@SebastianTanoni The change is correct of course. It only makes sense to put this into main if we're going to do a 3.7.5 with this fix at some point. It feels like a reasonably safe bet that we won't at this point. Maybe put this one into dev?

Sure? i guess theres something i dont understand in the process then. Like when would i ever release into main?

You would push directly into main if you have a critical bug fix that should be released, but you don't want to release anything that's currently in dev. For instance, let's say I find out today that Scourge's defeat condition is broken. I would want to fix that and release it, but I wouldn't want to prematurely release all of the gold changes you've made at the same time. If you think this is a critical bug fix, we can push this into main and release soon. But if it's not, no need.

ok, yeah so it can just go into dev, its a minor fix


tried to create new web app through VS Code extension

<Please be sure to remove any private information before submitting.>
Repro steps:
tried to create new web app through VS Code extension
Action: appService.CreateWebApp
Error type: 403
Error Message: Failed with code "403".
Version: 0.12.0
OS: win32

Is this a new subscription?  is this a recurring problem?


"Plots" - paddocks, maturity areas, subblocks - definition and attributes

The INSPIRE Plot is roughly equivalent to an arable crop area, pastoral paddocks, or small management units in vine and tree crops (hence the title to get us all thinking).
Please respond to this issue with suggestions and thoughts in the following format:
Your use case area (e.g. "livestock in paddocks")

suggested attribute
suggested attribute
... etc

At the 29 June 2021 meeting we will discuss and decide whether there is a general "Plot" with attributes that apply to many things, specific feature types for your use cases, or something inbetween.

Consider "permanent" vs "seasonal" (and leave events to later)
In general
[size, purpose/activities, parent, soil type and land use suitability, paddock and block area, climate, slope]
yield or productivity, establishment date, species, variety
irrigated, dry land

Paddock
(potentially modelled: nutrient losses - N, sediment, P, carbon stored, carbon traded)
fencing type, location of entrance gates (separate features? linked)

Plot for potatoes or other vegetable crops
Entry, Cultivar number, seed reference number, inspection number, NZGAP number, History (previous crops over last 4-5 years)

Reinspection Area

Stop bank

Spread Area

Subblock
clone, row spacing, vine spacing, rootstock, trellis type, (transactional: predominant picking type, quality tier, wine style)

Field and/or block arable

Headlands

Buildings and/or non-growing area

Holding pens

Raceways (fenced area as opposed to the line feature), non-productive areas

Forest stand
Qualify for sequestration offset, carbon credited

Non-productive areas could also include - native bush and wetlands.

I thought that native bush, wetlands (and indeed perhaps some of our non-productive areas and even forest stands) might be best as other Feature Types. I've been looking into this in the INSPIRE specifications, where they are indeed classified separately, but just as general categories of a "Land Cover Area" polygon - which seems too high-level to me.


writing data out

Hi, the write_csv slide unfortunately didn't make it into the PDF I sent to the printer. @pcmathias might want to point out during lecture and suggest people write it down.

@skadauke will do, thanks!


[vulnerability]  Directory traversal Vulnerability in UploadController.java

Directory traversal Vulnerability in UploadController.java

`GET /upload/file/2024/11/20/1859180710022115329.png/../../../../hosts.txt HTTP/1.1
Host: localhost:8101
sec-ch-ua:
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: ""
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.5845.111 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.7
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Connection: close
`

Directory traversal to read files

I can't reproduce this issue. Why the hosts.txt can't be found in my machine?

Directory traversal vulnerability, hosts file is self set in the root directory of the image directory


Update the prefab spawner to have an option that actually honors vanishDelay

Fixes: https://github.com/microsoft/MixedRealityToolkit-Unity/issues/7467
As I was looking at issues that were set to the 2.5 milestone, I noticed this one which seemed like a fun break from other work. There's a few things to note here:

vanishDelay is not used in the code prior to this, because the default case never ran.
I couldn't just update the VanishOnFocusExit to use vanishDelay, because other consumers may already be dependent on the immediate vanish behavior.
So I ended up adding another option (that actually honors vanishDelay), so that people can opt into this correct behavior while not breaking existing users.
Opted not to write a test for this specific case because it involves timers, and I don't want to add sleeps to our tests without having some system of parallel-zing them first

Also I opted to put this into mrtk_development instead of stabilization because it's not a specific area of focus (and it's also something I'd want more time to get coverage on)

/azp run

/azp run


cargo test --doc hangs in endless loop

In this project https://github.com/Weltraumschaf/webserver/ (current commit ff952c66a6443a76d1c3d9204a11c718120a0f0e) the command cargo test and also cargo test --doc runs into an endless loop without further error:
cargo test --doc
warning: unused manifest key: package.travis-ci
    Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
   Doc-tests webserver

running 1 test
test src/server.rs - server (line 7) has been running for over 60 seconds

Of course I've done something wrong with the documentation, but I thik it would be nicer to report an error instead of looping for ever.
My environment:

macOS 10.12.6 (16G1212)
rust: stable-x86_64-apple-darwin

rustup: 1.11.0
rust: 1.24.1 (d3ae9a9e0 2018-02-27)
cargo: cargo 0.25.0 (96d8071da 2018-02-26)

How long do you expect this test to take to run? https://github.com/Weltraumschaf/webserver/blob/master/src/server.rs#L8-L25

I expect it not to run that code. I expected the test tool only compiles/verifies it. But okay, I see the problem: The tool is executing that code, too.
Then my question is: How do I add example code like that in the documentation without running forever in doc-tests?

Turn https://github.com/Weltraumschaf/webserver/blob/master/src/server.rs#L7 into
```no_run

And it should work

Indeed I think @steveklabnik's suggestion should work here, so closing


UI enhancement

I can make the website UI look much better and appealing
The search bar and heading are close to each other, where the search bar and  two buttons (Previous and Next) below should be close. The header and contributor sections are one the same page, if they are on different pages that would look better.
I already started working on these issues. Please assign this to me under GSSoC '24.
And also suggest some more UI enhancement ideas.

Hey @dishathakurata ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


Devise confirmable automatically sends out email on user update

We just finished an ETL of old data to our brand new web app. I went to mass update a non-devise field in my User model and to my horror, confirmable start sending out emails. Worse, they're from our staging server.
What may be triggering this problem?
EDIT: It seems like for some reason some of the users are being flagged as requiring reconfirmation. What are the criteria for this?

Can you share what are the fields that are updated & the version of the gem you are using?

We migrated over email, encrypted_password is empty due cause we want to force users to reset password anyway, created_at and updated_at.

@trandoanhung1991 If you are using the reconfirmable option, this is the default behavior when the email changes.
One alternative is to update your records using methods that skip the callbacks, like update_attribute or update_columns, for example.


Error when using same taskhub for functions in different function apps

I have 2 function apps, each with 1 durable function and I want to use the sabe task hub for both. So, for example, I have
Function App 1 - DBFunction1 -> taskhubTest
Function App 2 - DBFunction2 -> taskhubTest
I already tried to configure this in 2 of the following ways:
1- using host.json, like the following, for both functions
"durableTask": {
"hubName": "taskhubTest"
}
2- using orchestration client binding on DBFunction2  like is described in here
in both ways, everytime I try to run DBFunction2, in taskHubTest I see the DBFunction2 Orchestration Function has failed with the following error
«Orchestrator function 'DBFunction2Orchestrator' failed: The function 'DBFunction2Orchestrator' doesn't exist, is disabled, or is not an orchestrator function. Additional info: The following are the known orchestrator functions: 'DBFunction1Orchestrator', 'DBFunction1_2Orchestrator', 'DBFunction1_3Orchestrator'.»
So my question is: How can I get these 2 durable functions from different function apps sharing the same taskhub? Can you give me some examples of its implementation?
Thanks in advance.

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

ID: 4bda2389-aeb2-b28f-a646-082979122f88
Version Independent ID: 4fa3fdc7-4f59-ff5e-6e42-bc1ed2b2e306
Content: Task hubs in Durable Functions - Azure
Content Source: articles/azure-functions/durable/durable-functions-task-hubs.md
Service: azure-functions
Sub-service: durable
GitHub Login: @cgillum
Microsoft Alias: azfuncdf

@raquel-sie
Thanks for your feedback! We will investigate and update as appropriate.

Hi @raquel-sie - Multiple Functions Apps can share the same storage account but, by design, there is 1 taskhub per Functions App. Refer to: Multiple function apps

Since we didn't determine any faulty steps/changes to this doc upon reviewing your feedback, we will now proceed to close this thread for now. If there are further questions regarding this matter, please make a new post on the MS Q&A channel instead, or reopen this issue and we will gladly continue the discussion.

Hello @mike-urnun-msft
yes, I saw that in your documentation but I also saw, bellow that, in the host.json section (https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-task-hubs?tabs=csharp#hostjson-functions-20-1) where you say:

and

So, my doubt persists. Should or shouldn't I consider that is possible to use a taskhub from another function app? And if it is, where can I find documentation or examples on that topic?
Thank you so much


How to get all group in some context, without reflection。

How to get all group in some context ? i just want make sue to clear all group and call group.RemoveAllEventHandlers. for now, can only use reflection ?

Hey, thanks for asking the question. As of now this is not possible to do easily. But may I ask why you would want to do that? The list of groups is intentionally hidden and can only be changed from inside the context so that it can't be tampered with from the outside.


Lazy example should specify that opts isn't optional

When using the config example from the README, but omitting the opts property (sticking to defaults), the plugin isn't initialized properly for me. Manually calling require("sentiment").enable() doesn't alleviate this.
Would be good to see this behavior changed, as I think it doesn't happen with other plugins.
If it cannot be changed, the README could point out that opts is mandatory, or that config = true must be set when opts isn't, to ensure sentiment.setup() is run.

This is a lazy.nvim "issue" if you will.

I can see how it would be a lazy.nvim issue. Still would prefer it to be documented, as I don't think having to leave an empty opts = {} is self evident. I have several other plugins without opts set.


Clean up converted Swift 3

Clean up some of the converted Swift 3 code.

Current coverage is 91.59% (diff: 100%)

Merging #100 into swift-3 will decrease coverage by 0.04%

@@            swift-3       #100   diff @@
==========================================
  Files             6          6
  Lines           371        369     -2
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits            340        338     -2
  Misses           31         31
  Partials          0          0

Powered by Codecov. Last update 38ac80b...7e2574a


helloworld-knative to 0.1.7

Promote helloworld-knative to version 0.1.7

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Update CODEOWNERS

to add @einride/team-sensor-core

Need conventional commit prefix :)

I did it the quick and dirty way through github interface.. and forgot to check the commis msg!
I fix it :)


Whats the purpose of refetching the id in nodeDefenitions?

@acarl005 Amazing staff! Thanks for join-monster
But I don't get why there's a need to refetch the id in nodeDefinitions
const { nodeInterface, nodeField } = nodeDefinitions(
  // this function resolves an ID to an object
  (globalId, context, resolveInfo) => {
    // parse the globalID
    const { type, id } = fromGlobalId(globalId)

    return joinMonster.getNode(type, resolveInfo, context,
      table => `${table}.id = ${id}`,    // why?
      sql => {
        if (context) {
          context.set('X-SQL-Preview', sql.replace(/\n/g, '%0A'))
        }
        return knex.raw(sql)
      },
      options
    )
  },
  // this function determines the type. `joinMonster` figures it out for you and attaches the type to the result in the "__type__" property
  obj => obj.__type__
)

Why not just return the type since we know it already?
const { nodeInterface, nodeField } = nodeDefinitions(
  // this function resolves an ID to an object
  (globalId, context, resolveInfo) => {
const { type, id } = fromGlobalId(globalId);
return FunctionThatGetsObject(type)   // returns e.g UserType
}
....

@shakaIsReal thanks for the compliments!
The node interface is something the team and I are re-visiting.
Why write a function to generate the WHERE condition? Can't this be automated? The uniqueKey that join monster requires can be looked up from the type definition. It's possible as long as the GlobalID contains the value in the uniqueKey column.
Our concern was that some people might generate their GlobalIDs from something other than the column indicated in the uniqueKey. Trying to automate this probably would have been fine for 95% of schemas. We left it as a function to try and support everyone. Ultimately, it just makes this redundant and complicated for the 95% of use cases where it could've been automated.
Moving forward, we'll likely establish a convention to make writing the where function optional, so it'll just assume the column from the uniqueKey, or you could explicitly write the function if you want to.

@acarl005 Thanks, as I understand the only reason behind refetching in nodeDefenitions is to check if the object exists in the database. Wouldn't that be checked anyway in the resolve function of a specific type that obj.__type__  returns? Or are there any other reasons?

There is only one database request being made. The purpose of the first function (the resolver) in nodeDefinitions is to fetch the record from the database. This can can be accomplished any number of database queries. Join Monster makes it only one. The second function, the resolveType, simply determines the GraphQL type given the object returned by the resolver, which does not require any database queries, it is inferred from the name. To avoid having to duplicate the logic manually, join monster figures out the type and assigns it to the __type__ property on that object so that all you have to do to implement the resolveType is get the value on the __type__ property. So it's only one query to fetch the data and figure out the type.

@acarl005 Thanks. Please see #45


Laravel 10

To be able to upgrade 10, the collections dependency had to be updated.

Thanks! Will tag soon

Done: https://github.com/brendt/php-sparkline/releases/tag/1.1.0


[Intel MKL] Adding support for MKL to docker CI infrastructure.

Creating a new PR because rebasing #18020 was a mess. See comments there.

@case540 Don't bother. As you requested, I'm designing a new solution using Dockerfile ARG and --build-arg rather than sed.

Nagging Reviewer @case540: It has been 16 days with no activity and the awaiting review label was assigned. Can you please take a look?

Nagging Reviewer @case540: It has been 41 days with no activity and the awaiting review label was assigned. Can you please take a look?

Closing because https://github.com/tensorflow/tensorflow/pull/20164 was merged


Sphinx doc

This MR proposes an alternative to the current documentation with another one that uses Sphinx and breathe.
Currently breathe needs a patch to fully support all the function signatures as arguments to the directives. I am waiting for the status of my suggested patch to breathe to get merged.
There could be some typos and a need to improve style and readability.
Edit: @Maetveis found a workaround to breathe deficiencies by using doxygengroup (although it does not generate signature with function names starting with ``rocprim::`).

Let's get this building on readthedocs. We can enable builds for PRs.

This MR proposes an alternative to the current documentation with another one that uses Sphinx and breathe.
Currently breathe needs a patch to fully support all the function signatures as arguments to the directives. I am waiting for the status of my suggested patch to breathe to get merged.
There could be some typos and a need to improve style and readability.

Thank you for the contribution. The rocPRIM team will look into this PR.

For consistency, I will raise a PR against this to bring some changes to standardize our sphinx/breathe invocation to the other libraries in our team.

@Maetveis @stanleytsang-amd Can this PR be prioritized?

closing in favor of #418


Filter tag slugs

The tag/author names can cause JS errors, breaking filterable list functions. This makes the filter use slugs instead.
Changes

data retrieval for tags and authors gets both slug and name instead of just name
related-metadata links back to the tag's slug

Review

Go to http://localhost:8000/data-research/research-reports/ and make sure filtering still works.
Go to a report and click one of the topic links and make sure that it applies the topic filter correctly.

Testing

@kave
@richaagarwal

So, locally I have a tag that JS doesn't like, and causes this: Uncaught SyntaxError: Failed to execute 'querySelector' on 'Document': 'Consumers' voices' is not a valid selector."  But... this PR is supposed to fix that, right?

@richaagarwal that's correct.

Got it. Well, in that case, that's still not working :(

But, by the way, I don't think we need to do this right now. @schaferjh said it's OK if tags can't contain special characters.

It is true that special characters in tags feels like a nice to have to me, but I'm not sure how those special characters are related to the larger purpose of this PR?

@richaagarwal the special characters cannot be in the values of the options because the JS will break, as you're seeing. PM me and we can figure out what's going on. I do not get this error.
@schaferjh the special characters are relevant because they break the filters' scripts to get it to render that way.
The filter should look like this:

The missing groups of "Most Frequent" and "Other" are due to JS, and @jimmynotjim knows about this.

tested, works fine :+1:

cool, all sounds fine. I would only say, I give you permission to strip special characters if they are a pain point at the moment, but looks like you have things sorted. Carry on! :smile:

My confusion was whether this PR is supposed to allow tags to have special characters in it or not.  If it doesn't, that's cool, because it doesn't seem like it's necessary, and we can just remove them. But, if we are, locally I have 'Consumers' voices' as a tag, and it causes a js error and things don't work.  You might have more recently pulled from Refresh, where I fixed it by removing that tag, so you might not be seeing that. But if we're not handling those, I'll go ahead and remove it and test :)


allowed_uri ineffective

The "allowed_uri" option successfully causes external links to open in an external browser, but fails to prevent the link also opening within Nuvola.
The feature is broken in 4.6, but works with the exact same service integration files in 3.0.

It should be fixed now. Can you verify? Thanks.

Confirmed, thanks.


Revert "Deep link to add secondary login in OldDot"

cc @mountiny
I forgot to put a hold on this PR and it went out before the Web-E one. Reverting until the Web-E gets merged. CP'ing to staging as the PR has been deployed to staging already.
Reverts Expensify/App#6176

Feel free to self-merge!

🚀 Cherry-picked to staging by @luacmartins in version: 1.1.15-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by @AndrewGable in version: 1.1.15-15 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by @luacmartins in version: 1.1.15-18 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @roryabraham in version: 1.1.16-10 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Stop run loop instead of terminating app on macOS

Stops the run loop after the last window is closed instead of terminating the app; otherwise user code would have no way of cleaning up.
Closes #989
Closes #372

Tests pass in my local environment.

The reason why tests were failing in CI is that sending the stop: message to NSApplication didn't trigger the run loop to stop while it somehow did on my local system.
See official documentation for the stop: message:

This method notifies the app that you want to exit the current run loop as soon as it finishes processing the current NSEvent object. This method doesn’t forcibly exit the current run loop. Instead it sets a flag that the app checks only after it finishes dispatching an actual event object. For example, you could call this method from an action method responding to a button click or from one of the many methods defined by the NSResponder class. However, calling this method from a timer or run-loop observer routine wouldn’t stop the run loop because they don’t result in the posting of an NSEvent object.
If you call this method from an event handler running in your main run loop, the app object exits out of the run method, thereby returning control to the main() function. If you call this method from within a modal event loop, it will exit the modal loop instead of the main event loop.

The library calls dispatch_async_f which doesn't by itself seem to send an NSEvent and therefore doesn't trigger the run loop to process an NSEvent and stop the loop afterward. Therefore we need to send an NSEvent right after requesting the run loop to stop.
See postEvent:atStart:.
After making this change, tests pass in CI as well as locally.

Thanks for the feedback!


Ecto 2.0

ref GH-16

Thanks @talklittle! I think we should probably bump the version a fair bit for this one.

@hassox Agreed. Let me know if you want me to make any changes. Thanks.
Also are you thinking to merge after Ecto 2.0.0 final, or would you be willing to merge the 2.0.0-RC dependency?

Hmm. I'm not sure how to release this for ecto 2 so that it doesn't break folks that aren't using it yet. Any ideas?

@hassox I was thinking it's safe to bump guardian_db version to 0.6.0, since Hex dependencies on ~> 0.5.0 won't be affected. They'll just need to update Ecto before they can use any newer guardian_db releases.
Note that ~> 0.5 is affected since it expands to >= 0.5.0 and < 1.0.0, but ~> 0.5.0 expands to >= 0.5.0 and < 0.6.0. Maybe adding a note in the guardian_db README will be sufficient? I personally wasn't aware of this until just now. http://elixir-lang.org/docs/stable/elixir/Version.html
AFAIK Ecto 2 should be an eventual migration for all downstream projects. I'm not aware of any reasons to keep libraries compatible with Ecto 1 in the future.

why not have a note in the CHANGELOG prefixing (Breaking) to the item being updated.
:+1: on moving to Ecto 2.0, I have dependency conflicts calling for Ecto 2.0 actually :D

@hassox could we release this as 0.6.0 and back port applicable fixes to 0.5.x?  Anyone staying on Ecto 1 can stick to ~> 0.5 in their mix.exs.

@doomspork that sounds like a decent plan.


Integration tests for cli using bats

It works! How did you fix the ones that were failing on Linux? (it was update and hide && unhide I think?)


Add comment marking the end of database migrations in 1.19.0

There will be no more migrations in 1.19.0

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@6221a6f). Click here to learn what that means.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main   #22975   +/-   ##
=======================================
  Coverage        ?   47.35%
=======================================
  Files           ?     1121
  Lines           ?   150440
  Branches        ?        0
=======================================
  Hits            ?    71246
  Misses          ?    70737
  Partials        ?     8457

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

I think it's time

No, there are still two hours until feature freeze (https://discord.com/channels/322538954119184384/537668686173962260/1074769294090579998).
Especially #21563 could potentially still be merged.
However, I haven't reviewed the PR yet, I don't know if it is ready, so I'll leave it to those that reviewed it.

I have to log off, if #21563 gets merged feel free to push to this branch/replace this PR


Updated test.js and test.md files

Files are more consistent and easier tor read.

oups sorry NIssim, you need to rebase to get the new snapshots for the shadow test


Bump Dependencies #6327792870

Bumps dependencies for product-is. Link : https://github.com/wso2/product-is/actions/runs/6327792870

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.jenkins-is-staging seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Generated Vale rules bare-metal-n.yml and bare-metal-adj.yml offer conflicting advice

In the RH SSG, "bare metal" is correct in the noun form, while "bare-metal" is correct when used as an adjective. Currently, the generated Vale rules bare-metal-n.yml and  bare-metal-adj.yml offer conflicting advice.
https://redhat-documentation.github.io/supplementary-style-guide/#bare-metal-adj
https://redhat-documentation.github.io/supplementary-style-guide/#bare-metal-noun

Below, I'll show you instances of " bare-metal" and "bare metal" in the documentation. For " bare-metal", I inserted a space before the string to avoid including many filenames and ids in the search results.

Here are the 22 results for  " bare-metal".
Results for " bare-metal" in "openshift-docs/*.adoc"

/home/rdlugyhe/openshift-docs/release_notes/ocp-4-7-release-notes.adoc:
  1188:  * The Ironic API service that is embedded in bare-metal installer-provisioned infrastructure now uses

/home/rdlugyhe/openshift-docs/installing/install_config/installing-customizing.adoc:
  20:  when installing bare-metal nodes.

/home/rdlugyhe/openshift-docs/networking/configuring_ingress_cluster_traffic/configuring-externalip.adoc:
  10:  This functionality is generally most useful for clusters installed on bare-metal hardware.

/home/rdlugyhe/openshift-docs/rest_api/config_apis/network-config-openshift-io-v1.adoc:
  135:  LoadBalancer. In general, this is only useful for bare-metal clusters. In OpenShift 3.x, this was misleadingly

/home/rdlugyhe/openshift-docs/modules/cnf-installing-the-performance-addon-operator.adoc:
  19:  * A cluster installed on bare-metal hardware.

/home/rdlugyhe/openshift-docs/modules/installation-osp-deploying-bare-metal-machines.adoc:
  52:  .. If you want to use bare-metal control plane machines, change the value of `controlPlane.platform.openstack.type`
  80:  <1> If you want to have bare-metal control plane machines, change this value to a bare metal flavor.
  92:  .. If you want to use bare-metal control plane machines, change the value of `os_flavor_master` to a bare
  112:  <1> If you want to have bare-metal control plane machines, change this value to a bare metal flavor.

/home/rdlugyhe/openshift-docs/modules/installation-user-infra-machines-static-network.adoc:
  191:  use `coreos.inst.insecure`. This is because the bare-metal media are not GPG-signed for {product-title}.

/home/rdlugyhe/openshift-docs/modules/ipi-install-diagnosing-duplicate-mac-address.adoc:
  4:  If the MAC address of an existing bare-metal node in the cluster matches the MAC address of a bare-metal
  4:  node in the cluster matches the MAC address of a bare-metal host you are attempting to add to the cluster,
  4:  retries the installation continuously. A registration error is displayed for the failed bare-metal host.
  6:  diagnose a duplicate MAC address by examining the bare-metal hosts that are running in the `openshift-machine-api`
  16:  To determine whether a bare-metal host that fails provisioning has the same MAC address as an existing
  18:  . Get the bare-metal hosts running in the `openshift-machine-api` namespace:

/home/rdlugyhe/openshift-docs/modules/machineset-osp-adding-bare-metal.adoc:
  2:  = Adding bare-metal compute machines to a {rh-openstack} cluster
  6:  You can add bare-metal compute machines to an {product-title} cluster after you deploy it
  93:  You can now use bare-metal compute machines in your {product-title} cluster.

/home/rdlugyhe/openshift-docs/modules/nw-ptp-installing-operator.adoc:
  17:  * A cluster installed on bare-metal hardware with nodes that have hardware that supports PTP.

/home/rdlugyhe/openshift-docs/modules/nw-sriov-installing-operator.adoc:
  27:  * A cluster installed on bare-metal hardware with nodes that have hardware that supports SR-IOV.
  121:  * A cluster installed on bare-metal hardware with nodes that have hardware that supports SR-IOV.

Here are the 258 results for "bare metal":
Results for "bare metal" in "openshift-docs/*.adoc"

/home/rdlugyhe/openshift-docs/installing/installing-fips.adoc:
  74:  xref:../installing/installing_bare_metal/installing-bare-metal.adoc#installing-bare-metal[Bare metal]

/home/rdlugyhe/openshift-docs/installing/installing-mirroring-installation-images.adoc:
  80:  installing-restricted-networks-bare-metal.adoc#installing-restricted-networks-bare-metal[bare metal], or xref:../installing/installing_aws/installing-restricted-networks-aws.adoc#installing-restricted-networks-aws[Amazon

/home/rdlugyhe/openshift-docs/installing/installing-preparing.adoc:
  28:  * Bare metal or other platform agnostic infrastructure
  52:  and xref:../installing/installing_bare_metal_ipi/ipi-install-overview#ipi-install-overview[bare metal].
  56:  installing_bare_metal/installing-bare-metal.adoc#installing-bare-metal[bare metal installation] procedure.
  65:  installing-restricted-networks-bare-metal.adoc#installing-restricted-networks-bare-metal[bare metal]. You can also install a cluster into a restricted
  109:  ||AWS |Azure |GCP |OpenStack |RHV |Bare metal |vSphere |VMC |IBM Z |IBM Power
  112:  ||AWS |Azure |GCP |OpenStack |oVirt |Bare metal |vSphere |VMC |IBM Z |IBM Power
  204:  ||AWS |Azure |GCP |OpenStack |RHV |Bare metal |vSphere |VMC |IBM Z |IBM Power
  207:  ||AWS |Azure |GCP |OpenStack |oVirt |Bare metal |vSphere |VMC |IBM Z |IBM Power

/home/rdlugyhe/openshift-docs/machine_management/deploying-machine-health-checks.adoc:
  26:  You can configure and deploy a machine health check to detect and repair unhealthy bare metal nodes.

/home/rdlugyhe/openshift-docs/migrating_from_ocp_3_to_4/premigration-checklists.adoc:
  71:  installing_bare_metal/installing-bare-metal.adoc#minimum-resource-requirements_installing-bare-metal[bare metal].

/home/rdlugyhe/openshift-docs/migration-toolkit-for-containers/premigration-checklists.adoc:
  13:  installing_bare_metal/installing-bare-metal.adoc#minimum-resource-requirements_installing-bare-metal[bare metal].

/home/rdlugyhe/openshift-docs/networking/configuring-ptp.adoc:
  19:  PTP Operator works with PTP-capable devices on clusters provisioned only on bare metal infrastructure.

/home/rdlugyhe/openshift-docs/networking/using-sctp.adoc:
  2:  = Using the Stream Control Transmission Protocol (SCTP) on a bare metal cluster

/home/rdlugyhe/openshift-docs/post_installation_configuration/node-tasks.adoc:
  28:  You can add more {op-system-first} compute machines to your {product-title} cluster on bare metal.
  30:  compute machines to a cluster that you installed on bare metal infrastructure, you must create {op-system} machines
  35:  * You installed a cluster on bare metal.

/home/rdlugyhe/openshift-docs/registry/configuring-registry-operator.adoc:
  49:  == Image Registry on bare metal and vSphere
  66:  configuring-registry-storage-baremetal.adoc#configuring-registry-storage-baremetal[Configuring the registry for bare metal]

/home/rdlugyhe/openshift-docs/release_notes/ocp-4-7-release-notes.adoc:
  51:  several improvements to disk provisioning for bare metal deployments. The following features are currently
  142:  ==== Installing a cluster on {rh-openstack} that uses bare metal machines
  144:  {rh-openstack-first} infrastructure that uses bare metal machines. The cluster can have both control plane
  144:  control plane and compute machines running on bare metal, or just compute machines. For more information,
  144:  installing-openstack-user.adoc#installation-osp-deploying-bare-metal-machines_installing-openstack-user[Deploying a cluster with bare metal machines].
  192:  static IP address to the bootstrap host of a bare metal installation that used installer-provisioned infrastructure.
  197:  installer for installer-provisioned installation on bare metal nodes now automatically creates a storage pool
  199:  installer for installer-provisioned installation on bare metal nodes provides a survey which asks the user a
  204:  deployed with installer-provisioned installation on bare metal clusters can deploy with static IP addresses.
  405:  using installer-provisioned infrastructure on bare metal nodes. Deploying a cluster with Secure Boot requires
  420:  * Bare metal hardware
  677:  the BareMetalHost API is set to `false`, the Bare Metal Operator shuts down nodes "hard." That is, it
  677:  does not shut down the node within three minutes, the Bare Metal Operator executes a "hard" shutdown.
  837:  ==== HWMon data collection for hardware telemetry for bare metal clusters
  839:  enabled for hardware health telemetry such as CPU temperature and fan speeds for bare metal clusters.
  1097:  When using installer-provisioned installation on bare metal nodes, {product-title} 4.6 required providing
  1097:  using installer provisioned infrastructure on bare metal nodes and deploying without a `provisioning` network.
  1158:  *Bare Metal Hardware Provisioning*
  1174:  was not handled correctly and caused duplicate bare metal hosts registration. (link:https://bugzilla.redhat.com
  1176:  syslinux-nonlinux package was not included with bare metal provisioning images. As a result, virtual media
  1185:  * Bare metal installations on installer-provisioned infrastructure no longer silently skip writing an
  1206:  * Previously, the bare metal actuator deleted the underlying host by also deleting the `Machine` object,
  1389:  * Bare metal provisioning now does not fail if there is a small, up to one hour, clock skew between the
  1395:  not setting the appropriate metadata on their bare metal flavors. Validations are now skipped on flavors
  1417:  for the installer-provisioned infrastructure bare metal installation method incorrectly used the `provisioningHostIP`
  2059:  * When attempting an IPI installation on bare metal using the latest Dell firmware (<IP_ADDRESS>) nodes

/home/rdlugyhe/openshift-docs/scalability_and_performance/managing-bare-metal-hosts.adoc:
  2:  = Managing bare metal hosts
  8:  When you install {product-title} on a bare metal cluster, you can provision and manage bare metal nodes
  8:  bare metal cluster, you can provision and manage bare metal nodes using `machine` and `machineset` custom
  8:  using `machine` and `machineset` custom resources (CRs) for bare metal hosts that exist in the cluster.
  15:  adding-bare-metal-compute-user-infra.adoc#adding-bare-metal-compute-user-infra[Adding compute machines to bare metal]
  24:  deploying-machine-health-checks.adoc#machine-health-checks-bare-metal_deploying-machine-health-checks[MachineHealthChecks on bare metal]

/home/rdlugyhe/openshift-docs/scalability_and_performance/optimizing-networking.adoc:
  18:  Cloud, VM, and bare metal CPU performance can be capable of handling much more than one Gbps network throughput.

/home/rdlugyhe/openshift-docs/modules/about-bare-metal-hosts-and-nodes.adoc:
  6:  = About bare metal hosts and nodes
  8:  To provision a {op-system-first} bare metal host as a node in your cluster, first create a `MachineSet`
  8:  resource (CR) object that corresponds to the bare metal host hardware. Bare metal host machine sets describe
  8:  corresponds to the bare metal host hardware. Bare metal host machine sets describe infrastructure components
  10:  {product-title} uses `Machine` CR's to provision the bare metal node that corresponds to the host as specified

/home/rdlugyhe/openshift-docs/modules/adding-bare-metal-host-to-cluster-using-web-console.adoc:
  6:  = Adding a bare metal host to the cluster using the web console
  8:  You can add bare metal hosts to the cluster in the web console.
  12:  * Install an {op-system} cluster on bare metal.
  17:  . In the web console, navigate to *Compute* -> *Bare Metal Hosts*.
  19:  . Specify a unique name for the new bare metal host.
  25:  of replicas to match the number of available bare metal hosts. Navigate to *Compute* -> *MachineSets*,
  29:  You can also manage the number of bare metal nodes using the `oc scale` command and the appropriate bare
  29:  the number of bare metal nodes using the `oc scale` command and the appropriate bare metal machine set.

/home/rdlugyhe/openshift-docs/modules/adding-bare-metal-host-to-cluster-using-yaml.adoc:
  6:  = Adding a bare metal host to the cluster using YAML in the web console
  8:  You can add bare metal hosts to the cluster in the web console using a YAML file that describes the bare
  8:  bare metal hosts to the cluster in the web console using a YAML file that describes the bare metal host.
  12:  * Install a {op-system} compute machine on bare metal infrastructure for use in the cluster.
  14:  * Create a `Secret` CR for the bare metal host.
  18:  . In the web console, navigate to *Compute* -> *Bare Metal Hosts*.
  38:  CR. The `baremetal-operator` cannot manage the bare metal host without a valid `Secret` referenced in the
  40:  . Select *Create* to save the YAML and create the new bare metal host.
  41:  of replicas to match the number of available bare metal hosts. Navigate to *Compute* -> *MachineSets*,
  45:  You can also manage the number of bare metal nodes using the `oc scale` command and the appropriate bare
  45:  the number of bare metal nodes using the `oc scale` command and the appropriate bare metal machine set.

/home/rdlugyhe/openshift-docs/welcome/index.adoc:
  42:  installing-bare-metal.adoc#installing-bare-metal[Install a cluster on bare metal]**: If none of the available platform and cloud
  42:  available platform and cloud providers meet your needs, you can install {product-title} on bare metal.
  44:  ipi-install-overview.adoc#ipi-install-overview[Install an installer-provisioned cluster on bare metal]**: You can install {product-title} on bare metal
  44:  bare metal]**: You can install {product-title} on bare metal with an installer-provisioned architecture.
  46:  installing-bare-metal.adoc#creating-machines-bare-metal[Create {op-system-first} machines on bare metal]**: You can install {op-system} machines using
  68:  installing_bare_metal/installing-restricted-networks-bare-metal.adoc#installing-restricted-networks-bare-metal[bare metal]

/home/rdlugyhe/openshift-docs/whats_new/new-features.adoc:
  51:  AWS, bare metal, or vSphere hosts. If you use the installer-provisioned

/home/rdlugyhe/openshift-docs/installing/installing_bare_metal/installing-bare-metal-network-customizations.adoc:
  2:  = Installing a cluster on bare metal with network customizations
  62:  Before you install a cluster on bare metal infrastructure that you provision,

/home/rdlugyhe/openshift-docs/installing/installing_bare_metal/installing-bare-metal.adoc:
  2:  = Installing a cluster on bare metal
  9:  bare metal infrastructure that you provision.
  15:  considerations for non-bare metal platforms. Review the information in the
  68:  Before you install a cluster on bare metal infrastructure that you provision,

/home/rdlugyhe/openshift-docs/installing/installing_bare_metal/installing-restricted-networks-bare-metal.adoc:
  2:  = Installing a cluster on bare metal in a restricted network
  9:  bare metal infrastructure that you provision in a restricted network.
  15:  considerations for non-bare metal platforms. Review the information in the
  84:  Before you install a cluster on bare metal infrastructure that you provision,

/home/rdlugyhe/openshift-docs/installing/installing_bare_metal_ipi/ipi-install-overview.adoc:
  6:  provides support for installing {product-title} on bare metal nodes. This guide provides a methodology to achieving
  8:  During installer-provisioned installation on bare metal, the installer on the bare metal node labeled
  8:  installation on bare metal, the installer on the bare metal node labeled as `provisioner` creates a bootstrap

/home/rdlugyhe/openshift-docs/installing/installing_bare_metal_ipi/ipi-install-troubleshooting.adoc:
  11:  of the installer-provisioned installation on bare metal. The diagrams below provide a troubleshooting

/home/rdlugyhe/openshift-docs/installing/installing_ibm_power/installing-ibm-power.adoc:
  13:  Additional considerations exist for non-bare metal platforms. Review the information in the

/home/rdlugyhe/openshift-docs/installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc:
  13:  Additional considerations exist for non-bare metal platforms. Review the information in the

/home/rdlugyhe/openshift-docs/installing/installing_ibm_z/installing-ibm-z-kvm.adoc:
  18:  Additional considerations exist for non-bare metal platforms. Review the information in the

/home/rdlugyhe/openshift-docs/installing/installing_ibm_z/installing-ibm-z.adoc:
  18:  Additional considerations exist for non-bare metal platforms. Review the information in the

/home/rdlugyhe/openshift-docs/installing/installing_ibm_z/installing-restricted-networks-ibm-z-kvm.adoc:
  18:  Additional considerations exist for non-bare metal platforms. Review the information in the

/home/rdlugyhe/openshift-docs/installing/installing_ibm_z/installing-restricted-networks-ibm-z.adoc:
  18:  Additional considerations exist for non-bare metal platforms. Review the information in the

/home/rdlugyhe/openshift-docs/installing/installing_openstack/installing-openstack-user-sr-iov.adoc:
  51:  created to customize your installation. For example, you can deploy a cluster that uses bare metal machines.

/home/rdlugyhe/openshift-docs/installing/installing_openstack/installing-openstack-user.adoc:
  53:  created to customize your installation. For example, you can deploy a cluster that uses bare metal machines.

/home/rdlugyhe/openshift-docs/jaeger/jaeger_install/rhbjaeger-installation.adoc:
  26:  installing-bare-metal.adoc#installing-bare-metal[Install {product-title} {product-version} on bare metal]

/home/rdlugyhe/openshift-docs/machine_management/user_infra/adding-bare-metal-compute-user-infra.adoc:
  2:  = Adding compute machines to bare metal
  8:  You can add more compute machines to your {product-title} cluster on bare metal.
  12:  installing_bare_metal/installing-bare-metal.adoc#installing-bare-metal[installed a cluster on bare metal].
  23:  compute machines to a cluster that you installed on bare metal infrastructure, you must create {op-system} machines

/home/rdlugyhe/openshift-docs/networking/configuring_ingress_cluster_traffic/configuring-ingress-cluster-traffic-ingress-controller.adoc:
  57:  a cluster on bare metal], and

/home/rdlugyhe/openshift-docs/networking/configuring_ingress_cluster_traffic/configuring-ingress-cluster-traffic-service-external-ip.adoc:
  9:  This is generally useful only for a cluster installed on bare metal hardware.

/home/rdlugyhe/openshift-docs/nodes/edge/nodes-edge-remote-workers.adoc:
  23:  * Remote worker nodes are supported on only bare metal clusters with user-provisioned infrastructure.

/home/rdlugyhe/openshift-docs/registry/configuring_registry_storage/configuring-registry-storage-baremetal.adoc:
  2:  = Configuring the registry for bare metal
  24:  details about configuring registry storage for bare metal, see xref:../../scalability_and_performance/optimizing-storage.adoc#recommended-configurable-storage-technology_persistent-storage[Recommended

/home/rdlugyhe/openshift-docs/service_mesh/v1x/preparing-ossm-installation.adoc:
  17:  installing-bare-metal.adoc#installing-bare-metal[Install {product-title} {product-version} on bare metal]

/home/rdlugyhe/openshift-docs/service_mesh/v2x/preparing-ossm-installation.adoc:
  17:  installing-bare-metal.adoc#installing-bare-metal[Install {product-title} {product-version} on bare metal]

/home/rdlugyhe/openshift-docs/storage/persistent_storage/persistent-storage-ocs.adoc:
  39:  |Deploying Red Hat OpenShift Container Storage to local storage on bare metal infrastructure
  40:  deploying_openshift_container_storage_using_bare_metal_infrastructure//[Deploying OpenShift Container Storage 4.7 using bare metal infrastructure]

/home/rdlugyhe/openshift-docs/virt/install/preparing-cluster-for-virt.adoc:
  11:  installing-bare-metal.adoc#installing-bare-metal[bare metal] infrastructure with Red Hat Enterprise Linux

/home/rdlugyhe/openshift-docs/virt/virtual_machines/importing_vms/virt-importing-vmware-vm.adoc:
  32:  the internal {product-title} image registry on bare metal by updating the Image Registry Operator configuration.

/home/rdlugyhe/openshift-docs/modules/architecture-rhcos-updating-bootloader.adoc:
  22:  is recommended that you use `bootupd` only on bare metal or virtualized hypervisor installations, such

/home/rdlugyhe/openshift-docs/modules/automatically-scaling-machines-to-available-bare-metal-hosts.adoc:
  6:  = Automatically scaling machines to the number of available bare metal hosts
  12:  * Install {op-system} bare metal compute machines for use in the cluster, and create corresponding `BareMetalHost`

/home/rdlugyhe/openshift-docs/modules/baseline-router-performance.adoc:
  53:  When running on bare metal with modern processors, you can expect roughly twice the performance of the

/home/rdlugyhe/openshift-docs/modules/cnf-installing-sriov-fec-operator.adoc:
  26:  * A cluster installed on bare metal hardware.

/home/rdlugyhe/openshift-docs/modules/cnf-provisioning-real-time-and-low-latency-workloads.adoc:
  28:  This procedure is fully supported with bare metal installations using {op-system-first} systems.

/home/rdlugyhe/openshift-docs/modules/compliance-custom-storage.adoc:
  13:  be deployed in a variety of public clouds or bare metal, the Compliance Operator cannot determine available

/home/rdlugyhe/openshift-docs/modules/deploy-red-hat-openshift-container-storage.adoc:
  23:  |Instructions on deploying OpenShift Container Storage to local storage on bare metal infrastructure
  24:  deploying_openshift_container_storage_using_bare_metal_infrastructure/index[Deploying OpenShift Container Storage 4.5 using bare metal infrastructure]

/home/rdlugyhe/openshift-docs/modules/installation-about-restricted-network.adoc:
  54:  access for an installation on bare metal hardware or on VMware vSphere.

/home/rdlugyhe/openshift-docs/modules/installation-approve-csrs.adoc:
  115:  platforms that are not machine API enabled, such as bare metal and other user-provisioned infrastructure, you

/home/rdlugyhe/openshift-docs/modules/installation-bare-metal-config-yaml.adoc:
  49:  = Sample `install-config.yaml` file for bare metal

/home/rdlugyhe/openshift-docs/modules/installation-configure-proxy.adoc:
  55:  For bare metal installations, if you do not assign node IP addresses from the

/home/rdlugyhe/openshift-docs/modules/installation-disk-partitioning-upi-templates.adoc:
  14:  installation-user-infra-machines-advanced.adoc. <-- This module is in use with the following bare metal assemblies:

/home/rdlugyhe/openshift-docs/modules/installation-disk-partitioning.adoc:
  10:  // This content was sourced from the bare metal RHCOS assembly file `modules/installation-user-infra-machines-advanced.adoc`
  10:  partitioning` subheader. "Disk partioning" content in the bare metal assembly is not modularized, so anything in this
  10:  against that file for consistency until such time that the large bare metal assembly can be modularized.

/home/rdlugyhe/openshift-docs/modules/installation-osp-deploying-bare-metal-machines.adoc:
  11:  = Deploying a cluster with bare metal machines
  13:  If you want your cluster to use bare metal machines, modify the
  16:  cluster can have both control plane and compute machines running on bare metal, or just compute machines.
  22:  whether the {rh-openstack} network that you use for bare metal workers supports floating IP addresses or not.
  28:  red_hat_openstack_platform/16.1/html/bare_metal_provisioning/index[Bare Metal service (Ironic)] is enabled and accessible via
  30:  * Bare metal is available as link:https://access.redhat.com/documentation/en-us/red_hat_openstack_platform
  32:  * The {rh-openstack} network supports both VM and bare metal server attachment.
  38:  installer-provisioned network, the {rh-openstack} Bare Metal service (Ironic) is able to listen for and interact
  52:  control plane machines, change the value of `controlPlane.platform.openstack.type` to a bare metal flavor.
  53:  .. Change the value of `compute.platform.openstack.type` to a bare metal flavor.
  56:  .An example bare metal `install-config.yaml` file
  80:  <1> If you want to have bare-metal control plane machines, change this value to a bare metal flavor.
  81:  <2> Change this value to a bare metal flavor to use for compute machines.
  92:  use bare-metal control plane machines, change the value of `os_flavor_master` to a bare metal flavor.
  93:  .. Change the value of `os_flavor_worker` to a bare metal flavor.
  95:  .An example bare metal `inventory.yaml` file
  112:  <1> If you want to have bare-metal control plane machines, change this value to a bare metal flavor.
  113:  <2> Change this value to a bare metal flavor to use for compute machines.
  122:  The installer may time out while waiting for bare metal machines to boot.

/home/rdlugyhe/openshift-docs/modules/installation-osp-describing-cloud-parameters.adoc:
  90:  isolated development environment, you can use a bare metal host that runs CentOS 7. See https://github.com

/home/rdlugyhe/openshift-docs/modules/installation-requirements-user-infra.adoc:
  279:  * 6 IBM Power bare metal servers or 6 LPARs across multiple PowerVM servers
  316:  * 6 IBM Power bare metal servers or 6 LPARs across multiple PowerVM servers

/home/rdlugyhe/openshift-docs/modules/installation-rhv-customizing-install-config-yaml.adoc:
  15:  infrastructure is more similar to installing a cluster on bare metal. Therefore, you delete the ovirt platform section

/home/rdlugyhe/openshift-docs/modules/installation-special-config-encrypt-disk.adoc:
  27:  mode to encrypt your disks is only supported for bare metal and vSphere installations on user-provisioned

/home/rdlugyhe/openshift-docs/modules/installation-special-config-mirrored-disk.adoc:
  21:  . Follow the bare metal install procedure up to the point where you created Ignition configs for your

/home/rdlugyhe/openshift-docs/modules/installation-special-config-rtkernel.adoc:
  23:  This procedure is fully supported with bare metal installations using
  30:  * For a bare metal installation of {product-title}, prepare masters and workers.

/home/rdlugyhe/openshift-docs/modules/installation-user-infra-machines-pxe.adoc:
  10:  manually-provisioned {op-system} nodes, such as bare metal, you must create {op-system} machines for it to

/home/rdlugyhe/openshift-docs/modules/ipi-install-additional-install-config-parameters.adoc:
  26:  install/metal/user-provisioned[Install OpenShift on Bare Metal] page when preparing the provisioner node.
  218:  The `hosts` parameter is a list of separate bare metal assets used to build the cluster.
  229:  | The role of the bare metal node. Either `master` or `worker`.

/home/rdlugyhe/openshift-docs/modules/ipi-install-bmc-addressing-for-dell.adoc:
  88:  `<IP_ADDRESS>` for installer-provisioned installations on bare metal deployments. There is a known issue with version
  131:  `<IP_ADDRESS>` for installer-provisioned installations on bare metal deployments. There is a known issue with version

/home/rdlugyhe/openshift-docs/modules/ipi-install-configuring-the-install-config-file.adoc:
  99:  . Ensure all bare metal nodes are powered off prior to installing the {product-title} cluster.

/home/rdlugyhe/openshift-docs/modules/ipi-install-diagnosing-duplicate-mac-address.adoc:
  4:  you are attempting to add to the cluster, the Bare Metal Operator associates the host with the existing
  4:  inspection, cleaning, or other Ironic steps fail, the Bare Metal Operator retries the installation continuously.
  10:  * Install an {product-title} cluster on bare metal.

/home/rdlugyhe/openshift-docs/modules/ipi-install-network-requirements.adoc:
  8:  for provisioning the operating system on each bare metal node. Second, installer-provisioned installation

/home/rdlugyhe/openshift-docs/modules/ipi-install-preparing-the-bare-metal-node.adoc:
  7:  = Preparing the bare metal node
  19:  Preparing the bare metal node requires executing the following procedure from the provisioner node.
  35:  . Power off the bare metal node via the baseboard management controller and ensure it is off.
  37:  . Retrieve the user name and password of the bare metal node's baseboard management controller. Then,
  49:  . Create a configuration file for the bare metal node.
  80:  Replace `<num>` for the worker number of the bare metal node in the two `name` fields and the `credentialsName`
  80:  of the password. Replace `<NIC1-mac-address>` with the MAC address of the bare metal node's first NIC.
  83:  Replace `<bmc-ip>` with the IP address of the bare metal node's baseboard management controller.
  87:  If the MAC address of an existing bare metal node matches the MAC address of a bare metal host that you
  87:  bare metal node matches the MAC address of a bare metal host that you are attempting to provision, then
  87:  inspection, cleaning, or other Ironic steps fail, the Bare Metal Operator retries the installation continuously.
  90:  . Create the bare metal node.
  105:  . Power up and inspect the bare metal node.

/home/rdlugyhe/openshift-docs/modules/ipi-install-preparing-the-provisioner-node-for-openshift-install.adoc:
  183:  openshift/install/metal/user-provisioned[Install on Bare Metal with user-provisioned infrastructure], and scroll

/home/rdlugyhe/openshift-docs/modules/ipi-install-provisioning-the-bare-metal-node.adoc:
  6:  = Provisioning the bare metal node
  8:  Provisioning the bare metal node requires executing the following procedure from the provisioner node.
  12:  . Ensure the `PROVISIONING STATUS` is `ready` before provisioning the bare metal node.
  69:  . Check the status of the bare metal node.
  92:  . Once provisioned, ensure the bare metal node is ready.

/home/rdlugyhe/openshift-docs/modules/ipi-install-troubleshooting-cleaning-up-previous-installations.adoc:
  12:  . Power off all bare metal nodes prior to installing the {product-title} cluster:

/home/rdlugyhe/openshift-docs/modules/machine-config-overview.adoc:
  21:  config. In other cases, you might need to do bare metal installation where you pass kernel arguments at
  67:  following procedures. See descriptions of {op-system} bare metal installation for system configuration tasks that

/home/rdlugyhe/openshift-docs/modules/machine-health-checks-resource.adoc:
  10:  for all cloud-based installation types, and other than bare metal, resembles the following YAML file:

/home/rdlugyhe/openshift-docs/modules/machine-user-infra-machines-iso.adoc:
  9:  more {op-system-first} compute machines for your bare metal cluster by using an ISO image to create the machines.

/home/rdlugyhe/openshift-docs/modules/machine-user-infra-machines-pxe.adoc:
  9:  create more {op-system-first} compute machines for your bare metal cluster by using PXE or iPXE booting.

/home/rdlugyhe/openshift-docs/modules/machineset-osp-adding-bare-metal.adoc:
  18:  red_hat_openstack_platform/16.1/html/bare_metal_provisioning/index[Bare Metal service (Ironic)] is enabled and accessible by
  20:  * Bare metal is available as link:https://access.redhat.com/documentation/en-us/red_hat_openstack_platform
  25:  subnet and the pre-existing bare metal subnet.
  28:  . Create a file called `baremetalMachineSet.yaml`, and then add the bare metal flavor to it:
  31:  .A sample bare metal MachineSet file

/home/rdlugyhe/openshift-docs/modules/maintaining-bare-metal-hosts.adoc:
  6:  = Maintaining bare metal hosts
  8:  You can maintain the details of the bare metal hosts in your cluster from the {product-title} web console.
  8:  {product-title} web console. Navigate to *Compute* -> *Bare Metal Hosts*, and select a task from the *Actions* drop
  10:  You can move a bare metal host into maintenance mode. When you move a host into maintenance mode, the
  10:  moves all managed workloads off the corresponding bare metal node. No new workloads are scheduled while in
  12:  You can deprovision a bare metal host in the web console. Deprovisioning a host does the following actions
  14:  . Annotates the bare metal host CR with `cluster.k8s.io/delete-machine: true`

/home/rdlugyhe/openshift-docs/modules/mgmt-power-remediation-baremetal-about.adoc:
  6:  = About power-based remediation of bare metal
  7:  In a bare metal cluster, remediation of nodes is critical to ensuring the overall health of the cluster.
  11:  `MachineHealthCheck` controller to detect faulty bare metal nodes. Power-based remediation is fast and reboots
  20:  == MachineHealthChecks on bare metal
  22:  Machine deletion on bare metal cluster triggers reprovisioning of a bare metal host.
  22:  Machine deletion on bare metal cluster triggers reprovisioning of a bare metal host.
  23:  Usually bare metal reprovisioning is a lengthy process, during which the cluster
  38:  . The MHC notifies the bare metal machine controller which requests to power-off the unhealthy node.
  40:  . The bare metal machine controller requests to power on the node.
  42:  . After the node is recreated, the bare metal machine controller restores the annotations and labels that
  46:  If the power operations did not complete, the bare metal machine controller triggers the reprovisioning
  50:  == Creating a MachineHealthCheck resource for bare metal
  67:  .Sample `MachineHealthCheck` resource for bare metal
  95:  <2> For bare metal clusters, you must include the `machine.openshift.io/remediation-strategy: external-baremetal`

/home/rdlugyhe/openshift-docs/modules/nodes-nodes-rtkernel-arguments.adoc:
  15:  The following procedure is fully supported with bare metal installations that use systems that are certified

/home/rdlugyhe/openshift-docs/modules/nodes-nodes-working-deleting-bare-metal.adoc:
  7:  = Deleting nodes from a bare metal cluster
  17:  Delete a node from an {product-title} cluster running on bare metal by completing

/home/rdlugyhe/openshift-docs/modules/nodes-nodes-working-deleting.adoc:
  20:  If you are running cluster on bare metal, you cannot delete a node by editing

/home/rdlugyhe/openshift-docs/modules/nodes-nodes-working-master-schedulable.adoc:
  16:  You can deploy {product-title} with no worker nodes on a bare metal cluster.

/home/rdlugyhe/openshift-docs/modules/nw-egress-ips-about.adoc:
  39:  | Bare metal | Yes

/home/rdlugyhe/openshift-docs/modules/nw-how-nw-iface-selected.adoc:
  11:  For installations on bare metal or with virtual machines that have more than one network interface controller

/home/rdlugyhe/openshift-docs/modules/nw-ingress-controller-configuration-parameters.adoc:
  42:  * Bare metal: `NodePortService`

/home/rdlugyhe/openshift-docs/modules/nw-ovn-kubernetes-migration-about.adoc:
  12:  * Bare metal hardware

/home/rdlugyhe/openshift-docs/modules/nw-sriov-networknodepolicy-object.adoc:
  66:  in Data Plane Development Kit (DPDK) mode on bare metal nodes, use the `netdevice` driver type and set

/home/rdlugyhe/openshift-docs/modules/persistent-storage-local-discovery.adoc:
  8:  not available during deployment, such as with bare metal, VMware, or AWS store instances with attached

/home/rdlugyhe/openshift-docs/modules/querying-operator-status-after-installation.adoc:
  56:  platforms that are not machine API enabled, such as bare metal and other user-provisioned infrastructure, you

/home/rdlugyhe/openshift-docs/modules/recommended-configurable-storage-technology.adoc:
  91:  For non-cloud platforms, such as vSphere and bare metal installations, the only configurable technology

/home/rdlugyhe/openshift-docs/modules/registry-configuring-storage-baremetal.adoc:
  27:  = Configuring registry storage for bare metal and other manual installations
  43:  ifndef::ibm-z,ibm-power[that uses manually-provisioned {op-system-first} nodes, such as bare metal.]

/home/rdlugyhe/openshift-docs/modules/rhcos-about.adoc:
  121:  something cloud-init cannot do: set up systems on bare metal from scratch (using features such as PXE boot).
  121:  scratch (using features such as PXE boot). In the bare metal case, the Ignition config is injected into the

/home/rdlugyhe/openshift-docs/modules/security-hardening-how.adoc:
  12:  non-bare metal installs, you can request a new node of the type
  22:  For bare metal installations, you can add hardening features to
  28:  Although bare metal {op-system} installations are more difficult,

/home/rdlugyhe/openshift-docs/modules/security-registries-immutable.adoc:
  18:  * Compatible across the {op-system-base} platforms, from bare metal to cloud

/home/rdlugyhe/openshift-docs/modules/supported-platforms-for-openshift-clusters.adoc:
  39:  * Bare metal
  43:  restricted network installation on vSphere or bare metal infrastructure, your cluster machines do not require

/home/rdlugyhe/openshift-docs/modules/virt-about-the-overview-dashboard.adoc:
  29:  ** Bare metal hosts in the cluster, listed according to their state (only available in *metal3* environment).

/home/rdlugyhe/openshift-docs/modules/virt-maintaining-bare-metal-nodes.adoc:
  6:  = Maintaining bare metal nodes
  8:  When you deploy {product-title} on bare metal infrastructure, there are additional considerations that
  8:  nodes are considered ephemeral, re-provisioning a bare metal node requires significantly more time and effort
  10:  When a bare metal node fails, for example, if a fatal kernel error happens or a NIC card hardware failure

/home/rdlugyhe/openshift-docs/modules/vmc-sizer-tool.adoc:
  14:  VMware Cloud on AWS is built on top of AWS bare metal infrastructure; this is the same bare metal infrastructure
  14:  AWS bare metal infrastructure; this is the same bare metal infrastructure which runs AWS native services.

I came across https://github.com/errata-ai/vale/issues/356, its a work in progress, but we can use Vale with spaCy NLP to address this issue. However, it currently it depends on running a local spaCy endpoint (spacy-vale).
So essentially, with this feature, we can have grammar-focused rules to tackle this case and other similar cases.

@gaurav-nelson wow this looks really cool. have you tried it out?

@aireilly I haven't already but want to PS: https://github.com/rolfedh/studious-fortnight/discussions/34


After update to 0.4.42 no response from devices - On a RPI with multiple network interfaces

I went thru and performed an update to all my instances on homebridge, and everything worked fine until I updated one instance I have on a RPI with multiple network interfaces.  After updating I found that the Home app was showing no response for all devices from that instance of homebridge.
After digging into the issue, I found that the MDNS packets advertising homebridge were not visible on the local network.  As a workaround I installed the older version and it worked okay.
To install the older version I used
sudo npm install -g<EMAIL_ADDRESS>

@KhaosT After looking at the bonjour and multicast-dns code it appears to be broadcasting bonjour packets only on one interface on a RPI with multiple interfaces.   I was also able to workaround the issue by hard coding my preferred network interface in this line
https://github.com/mafintosh/multicast-dns/blob/master/index.js#L65
I think to fix this properly we will need to look at how MDNS was handling multiple network interfaces, and try and mimic the same behaviour with bonjour/multicast-dns.  One thing I did notice on my RPI was that IPTABLES started complaining about bonjour packets after the upgrade, which makes me suspect that MDNS may have defaulted to a different interface, or had different behaviour in this scenario.  I don't think MDNS was using my second interface.
Over the next few days I'm going to dig into this further, so expect a pull request at some point.  Likely in bonjour-hap.
PS Two thumbs up on the conversion to bonjour, all the rest of my setup and plugins worked perfectly, including my homebridge-alexa which I was the most worried about as it uses bonjour to discover homebridge instances.

I installed 0.4.42 and started receiving accessories not responding errors in the Apple home app.
Unfortunately rolling back to 0.4.38 didn’t fix things. Still getting the accessories not responding errors.

I had to remove homebridge accessory and re-add it to get things back in order for some reason.
I'm going to stick with 0.4.42 and just "sudo ifdown wlan0" for now. Seems to work well when i do that.

I have a related problem, but I'm running on macOS. Since 0.4.42, the Bonjour advertisement includes all IP addresses, including various VPN and VLAN interfaces. For some reason, the Home app tries to connect to an address that is outside the local LAN but accessories are unreachable because Home never receives SYNACK packets (I did the upgrade because the older mdns was not compatible with node v10).
@NorthernMan54 , what is the syntax for hard coding the interface?

@NorthernMan54 Yes you are correct. I read the release note history and apparently I got bit by the 0.4.41 problem. I restored accessories and persists folders from backup, re-upgraded to 0.4.42 and it's working again. So at least on macOS with multiple interfaces (I have about 10), the current code is working.

Yes,
$ sudo npm -g un homebridge
$ sudo npm -g install<EMAIL_ADDRESS>--unsafe-perm

@ebaauw @KhaosT
I think the root of the issue I'm seeing is that MDNS was responding to requests on all network interfaces and bonjour-hap isn't.  After delving into this further I saw this
https://www.codeproject.com/Questions/524739/UDPplusbroadcastplusonplusmultipleplusethernetplus
Which leads me to suspect that this theory is accurate. Or was MDNS just responding to requests based on the network interface it saw a request/query come from.  Think I need more digging into this.

Thanks u
Domenico
Il giorno 09 mag 2018, alle ore 04:56, Northern Man <notifications<EMAIL_ADDRESS>ha scritto:
@ebaauwhttps://github.com/ebaauw @KhaosThttps://github.com/KhaosT
I think the root of the issue I'm seeing is that MDNS was responding to requests on all network interfaces and bonjour-hap isn't. After delving into this further I saw this
https://www.codeproject.com/Questions/524739/UDPplusbroadcastplusonplusmultipleplusethernetplus
Which leads me to suspect that this theory is accurate. Or was MDNS just responding to requests based on the network interface it saw a request/query come from. Think I need more digging into this.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/nfarina/homebridge/issues/1843#issuecomment-387604761, or mute the threadhttps://github.com/notifications/unsubscribe-auth/Ajt0mxFB4R5CUdkahws3Nw632Y86DBR2ks5twlrhgaJpZM4T0Dno.

That does not sound like this issue, as with this issue you always get no response and not after a while. What you have sounds like homebridge crashing for some reason, check your logs.
Sent from my iPad

On May 14, 2018, at 3:21 AM, peros550<EMAIL_ADDRESS>wrote:
I have the same issue. When I add homebridge to home app it works for a while but afterwards all homebridge accessories start to show the red "no response" message.
RPi 2 with Homebridge
Router: Asus RT-AC68
Apple TV4 running latest beta 11.4
All these troubles started after I updated homebridge to 0.4.42 . Any workaround?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Hi thanks for your suggestion. Homebridge continues to work, I see the messages flow in real time as homebridge gets information from my accessories. Although my HTTP accessories respond with their value,  Home app shows them as "no response".  I will try to troubleshoot further by removing one by one my plugins-accessories. I wrote on this thread because I suspect there is something wrong with homebridge version as the issue occurred right after I updated to 0.4.42 and with no change on conf.json file.

Just a quick update, I'm continuing to look into this, and have yet to come with a workable solution that would work seamlessly for everyone.  I have tried a couple of different approaches, but each has failed in wider testing between my RPI's and Mac.  Stay tuned.

🙏
Sent from my iPhone

On May 18, 2018, at 5:52 AM, Northern Man<EMAIL_ADDRESS>wrote:
Just a quick update, I'm continuing to look into this, and have yet to come with a workable solution that would work seamlessly for everyone. I have tried a couple of different approaches, but each has failed in wider testing between my RPI's and Mac. Stay tuned.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

I’m having quite the same issue on Ubuntu 16.04 with 2 network interfaces active (eth and WLAN), so I downgraded Homebridge to 0.4.38, but I can control my accessories only if I’m connected to the default network interface, whereas if I’m connected to the other toggles buttons without effect

Okay, my current thinking is that this is related to older versions of NodeJS.  I had this issue on a RPI running NodeJS v7.10.1 and as part of the investigation I had upgraded to version v8.11.1.  Since upgrading I can no longer recreate the issue.  Looking at changes in NodeJS, there are significant changes with the code supporting UDP ( MDNS ) and it appears that they fixed the cause of this issue.
So unless anyone else has the same issue with a recent version of NodeJS, I'm going to close this.

I can confirm that things are working for me with v8.11.2.

I'm experiencing the same issue on macOS 10.13.5 and node 8.11.3. Latest homebridge version (0.4.44) does not show up, and I cannot even see any service with bonjour browser, 0.4.38 is ok and service _hap._tcp is present. I'm pretty convinced that I previously tested a >0.4.38 version, with no issue and node 8.10.xx. Any thought?


No proper way to create customizable ModelResource

I needed to customize my ModelResource behavior for each import. The most straightforward way is to add extra field to ImportForm. But there is no way to access form data from ModelResource.
The first issue is that get_import_resource_kwargs knows nothing about import forms. Thanks it knows about request.
But the next issue is even worse: custom field value from ImportForm should be passed through ConfirmImportForm but the solution from documentation can not work. See:
https://github.com/django-import-export/django-import-export/blob/3cf5e3f9796a5caf7c5ea3928119af7ce4706c0d/import_export/admin.py#L322
Fortunately there is currently a typo in this line, it obviously should be:
initial = self.get_form_kwargs(form=confirm_form, **initial)

This typo makes possible second ugly hack to access ImportForm data to initialize ConfirmImportForm. But when you will fix it there would be no way to do that.
I suggest this part of import workflow should be redesigned.

@andreynovikov I think this might be solved now in 2.0.2 by #994, #1108.  Can you confirm?

Should be fixed by #1185

This seems to be solved. I will close it for now.


added AdGuard Home scripts

I use AdGuard Home and I've wanted to point domains in this repo to my LANCache.
So, I took the script from create-dnsmasq.sh and modified it.
Adguard Home Upstream File Reference: https://github.com/AdguardTeam/AdGuardHome/wiki/Configuration#upstreams-from-file

See https://github.com/uklans/cache-domains/pull/194/files#r947641931

Looks good to me, thanks for the PR


Fixed a bug where scope validations where incomplete for node tests

There was a bug where scope validations would not be run on node tests because the generated xml test components where being added to the program too late.

@georgejecook fixed conflicts


[3.x] Document that PhysicsServer's get_process_info is implemented only for Godot Physics

From a glance it seems that Bullet doesn't store these statistics by default, so it would probably require a patch to Bullet to obtain the information. In the meantime, we document the limitation (and copy the better phrasing of the documentation from the 2D docs).
Inspired by https://github.com/godotengine/godot/issues/59279.

Thanks!

Cherry-picked for 3.4.4.


Fix flask backend mimetype for modules

By submitting this pull request you agree that all contributions to this project are made under the MIT license.
Issues
When running reactpy with Flask backend, web.module_from_template resulted an error (in the browser) about wrong mimetype. In example:
Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "application/octet-stream". Strict MIME type checking is enforced for module scripts per HTML spec.

Uncaught (in promise) TypeError: Failed to fetch dynamically imported module: http://localhost:8000/_reactpy/modules/__from_template__/<EMAIL_ADDRESS>
Solution
Explicitly add the mimetype when using send_file
Checklist

[ ] Tests have been included for all bug fixes or added functionality.
[x] The changelog.rst has been updated with any significant changes.

I think we can do this, but is this possibly related to this sort of issue?

Possibly, but doesn't seem to be exactly the same.
In any case, I just lookd at reactpy's implementation for the sanic backend, and saw that we do indeed pass there the text/javascript mimetype.

Umm, seems like the lint checks are broken?
Is it supposed to fail on files that i havened modified?

No. I'll put up a fix for that shortly.

Hey @rmorshea any updates on this issue?


AppConfiguration can't auth in Germany West Central cloud using connection string?

There was a bug reported for Go SDK, when AppConfig client couldn't authorize in Germany West Central cloud using the connection string: https://github.com/Azure/azure-sdk-for-go/issues/17424
The fix is to use and sign Date header instead of x-ms-date (the Go PR is linked in the Go issue, it is a 2-line change).
I searched your code base for "SignedHeaders" to easily find the place that handles HMAC auth, and it looks like you're also using x-ms-date header instead of Date (and that's what the AppConfig docs currently say you should do - https://docs.microsoft.com/en-us/azure/azure-app-configuration/rest-api-authentication-hmac, so if it is confirmed that your SDK is affected, we need to get the doc updated as well).
Java and .NET SDKs are currently using Date header instead of x-ms-date for AppConfiguration auth.
I am sorry that at this moment I cannot tell you for sure that you are affected by this, but I have reasons to think that you should be, based on the code, and the fix that I am making for the Go SDK. Maybe I will be able to confirm it some time later, or maybe you can give it a try, if you have your dev environment set up. The only thing you need is to create an azure app configuration in German cloud, get the connection string for it, then write a code to create AppConfig client, and try to create or read configuration setting, it should fail. But if you do the same for App Configuration deployed to West US, all will work fine.
https://github.com/Azure/azure-sdk-for-python/blob/c8291ac6cb0dbd865da03a88dd2bcb9279e2c4a6/sdk/appconfiguration/azure-appconfiguration/azure/appconfiguration/_azure_appconfiguration_requests.py

Hi @antkmsft , thanks for reaching us!
One thing needs to confirm, do you mean the public Azure in Germany? Because the Cloud Germany is already closed.

This was reproing in Germany West Central back in April. Now it no longer repros, both Date and x-ms-date are fine.

No, sorry, my bad, it still reproes.
Germany West Central.
You can try accessing my antk-appconfig2 using the connection string, you can find one in the Developer Playground.

Thanks @antkmsft , I'll try to reproduce the problem asap.


Do  90 real-world training images from Berkeley real dataset have to be cropped to 224x224  When training the model for aligned model?

hey! When i train the model,it reports error like this line 357, in _process_next_batch     raise batch.exc_type(batch.exc_msg) KeyError: 'Traceback (most recent call last) . I wonder is this attribute to the data sample size problem?
Actually, The size from three sets for training are

VOC2012 . 224x224
testdata_reflection_synthetic_table2 . 224 x224
real_train . inconsistent ， Mostly larger than 224

Do I need to center-crop 90(actually 89) samples in real dataset to 224x224 to train this model??
Thank you !

No, I do not think you need to do so.
I guess you might use a batch size > 1, which triggers this bug.
In fact, in my implementation, all the images have been preprocessed to 224x224 online, regardless of their original size. You might need to take a look at paired_data_transforms in data/reflect_dataset.

Ok, I see. thanks for your help 😀😀

Additionally, anyway when you test the model on largers size image samples(suxch as the demo your put on the readme home page ), how do you manage to apply the model trained on 224x224 to images with larger sizes ?

In fact, fully-convolutional network can process images with arbitrary size.


Can I skip a table

I'd like skip a log table, just like the option of mysqldump --ignore-table

yeah. opposite of tables good idea.


Add support for regular expressions containing octal digits greater than \200

Fixes #4746
cuDF only supports hexadecimal characters up to \200, and we fallback to CPU for characters outside that range. This workaround converts octal digits directly to the Unicode character itself, allowing GPU support for the full range of octal digits.
Signed-off-by: Anthony Chang<EMAIL_ADDRESS>

build

build


Precommands and builtins

sudo echo foo should highlight echo as command not builtin; however, this is not true for all precommands (e.g. noglob preserves builtins).

One definite rule is: if the precommand is an external command, the following command words are all external commands (through the end of the simple command, e.g., sudo nice env ls).