root: 6.32.00 -> 6.32.02

update ROOT to latest patch release 6.32.02
don't explicitly set tmva-pymva=OFF: building this component of ROOT doesn't require anything that is not
already in the dependencies

Result of nixpkgs-review pr 322283 run on x86_64-darwin 1

7 packages failed to build:

hepmc3
ns-3
python311Packages.hepmc3
python312Packages.hepmc3
root
xfitter
yoda-with-root

It appears to be building clang as a subproject, can it be unvendored?

It appears to be building clang as a subproject, can it be unvendored?

No, that's not possible.

/tmp/nix-build-root-6.32.02.drv-0/root-6.32.02/core/newdelete/src/NewDelete.cxx:303:13: error: aligned allocation function of type 'void *(std::size_t, std::align_val_t)' is only available on macOS 10.13 or newer
   return ::operator new(size, (std::align_val_t)__STDCPP_DEFAULT_NEW_ALIGNMENT__);
            ^
/tmp/nix-build-root-6.32.02.drv-0/root-6.32.02/core/newdelete/src/NewDelete.cxx:303:13: note: if you supply your own aligned allocation functions, use -faligned-allocation to silence this diagnostic
1 error generated.

is what fails on macOS

Result of nixpkgs-review pr 322283 run on x86_64-darwin 1

7 packages built:

hepmc3
ns-3
python311Packages.hepmc3
python312Packages.hepmc3
root
xfitter
yoda-with-root

Result of nixpkgs-review pr 322283 run on x86_64-linux 1

8 packages built:

hepmc3
ns-3
python311Packages.hepmc3
python312Packages.hepmc3
root
root.debug
xfitter
yoda-with-root

Hi @veprbl, thanks for the updates! The PR is ready to be merged now as far as I can tell. However, I can't seem to be able to merge this PR myself. Can you make do it? Thanks!


Added a Drag from Outside example page

Just succeeded an implementation of Drag from Outside.
I hope you will enjoy it :)
Pull request : https://github.com/jbaysolutions/vue-grid-layout/pull/466/commits/63de0655684cc549e577cc0241549e8dc4c3eaca

This might be a silly question, but I have got this working using the examples provided, how do you append some html divs into the newly created widget? all that seems to be able to do is display the "id" of the element.
I'm using this.layouot.push to add the item, however I don't see any options to change the markup.
I need to add more content than the ID of the, how do I go about doing this?
Thanks
Andy

https://www.codeseek.co/preview/jZOBeV
Tell me if it solves your problem or not.
 Dominique HAMET

[image: Mailtrack]
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&
Sender
notified by
Mailtrack
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&
05/10/20
à 18:22:42
Le lun. 5 oct. 2020 à 18:11, Andrew Fenna<EMAIL_ADDRESS>a
écrit :

This might be a silly question, but I have got this working using the
examples provided, how do you append some html divs into the newly created
widget? all that seems to be able to do is display the "id" of the element.
I'm using this.layouot.push to add the item, however I don't see any
options to change the markup.
I need to add more content than the ID of the, how do I go about doing
this?
Thanks
Andy
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/jbaysolutions/vue-grid-layout/issues/467#issuecomment-703732933,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AES73FG4V6UM4FL2GPARYRTSJHV3XANCNFSM4R2RCZQA
.


Consumer get stuck ocassionally on rebalancing

Hi guys,
I think I might have found an issue with consumer, I have a test that is setting up 3 nodes embedded cluster, 10 producer threads, 2 consumer threads, after sending and receiving some messages I am bringing down 1 node and from time to time my consumers just stop receiving messages. I did thread dump and what I got on consumer threads is:
"transactional_1" #130 prio=5 os_prio=31 tid=0x00007fbbad7f7000 nid=0x13507 runnable [0x000070000dfcb000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
	at sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:198)
	at sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:117)
	at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
	- locked <0x00000006d88dbfb0> (a sun.nio.ch.Util$3)
	- locked <0x00000006d88dbfa0> (a java.util.Collections$UnmodifiableSet)
	- locked <0x00000006d88dbf50> (a sun.nio.ch.KQueueSelectorImpl)
	at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
	at org.apache.kafka.common.network.Selector.select(Selector.java:489)
	at org.apache.kafka.common.network.Selector.poll(Selector.java:298)
	at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:349)
	at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:226)
	- locked <0x00000006d88dc068> (a org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient)
	at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:203)
	at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.awaitMetadataUpdate(ConsumerNetworkClient.java:138)
	at org.apache.kafka.clients.consumer.internals.AbstractCoordinator.ensureCoordinatorReady(AbstractCoordinator.java:216)
	- locked <0x00000006d88dc0a0> (a org.apache.kafka.clients.consumer.internals.ConsumerCoordinator)
	at org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.commitOffsetsSync(ConsumerCoordinator.java:575)
	at org.apache.kafka.clients.consumer.KafkaConsumer.commitSync(KafkaConsumer.java:1124)
	at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.ackImmediate(KafkaMessageListenerContainer.java:702)
	at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.processAck(KafkaMessageListenerContainer.java:683)
	at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.handleAcks(KafkaMessageListenerContainer.java:675)
	at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.processCommits(KafkaMessageListenerContainer.java:802)
	at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer.java:529)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.lang.Thread.run(Thread.java:745)

Looks like ConsumerRebalanceListener in KafkaMessageListenerContainer.ListenerConsumer is using non synchronised kafka's Consumer instance - my consumers are under heavy load so at the time of rebalancing (which is making commits) they are making consumption (poll/syncCommit) which might cause this issue. I have autoCommit disabled and using syncCommit.
I think usage of kafka's Consumer should be synchronised.
Please correct me if I'm wrong.
I'm using 1.2.0.RELEASE version
Thank you in advance.

is using non synchronised kafka's Consumer instance

What version are you using?
The consumer is never invoked by anything other than the consumer thread. In the current architecture, the consumer hands messages over to the listener thread. All interactions with the consumer are queued back to the consumer thread.
Since KIP-62 has now been implemented, in 2.0 we only have the consumer thread since heatbeats are now handled by the client in the background.

Thank you for fast reply, I'm using 1.2.0.RELEASE version (few minutes ago bumped to 1.2.2).
I'm not sure how it's done in kafka's client but looks like ConsumerRebalanceListener can be invoked by kafka's separate thread when rebalancing occurs. Don't see how ConsumerRebalanceListener could be in same thread as it is kafka's callback on rebalancing notification but maybe I'm wrong.

I had a look on apache's KafkaConsumer and all methods of it are guarded from multiple thread invocation and if one happens it throws ConcurrentModificationException. So it's not multithreading issue.
Still trying to work out actual root cause but I'm closing this issue.
Sorry for inconvenience.


Change Sort on Save to not sort all saved files

I love the idea of Sort on Save, but started noticing weird changes to files not marked with the { sort-start }  section.
Didn't realize this would be applied to a whole file if the section was not applied, which is not an expected experience.
I had to turn off this feature and return to manually highlighting and sorting a section.
Please provide a means of sorting a whole file if the { sort-start } section is not defined.

Can you provide some reproducible examples? You are correct that it shouldn't apply any change to files that do not have any sections marked.
I personally don't use sort-on-save since I made a cli app that also sorts sections, but on the times that I did use it I didn't notice anything weird.

Please provide a means of sorting a whole file if the { sort-start } section is not defined.

Is this related to the first thing or is this a feature request? The main command already sorts the entire file if no text is highlighted.

Sorry I miswrote that comment.
The issue is that all files are being sorted,  even if they do not have a
sort section.  I am requesting that be turned off and only sort files that
have a sort section.  Sorting a file without a sort section causes weird
side effects in files that should not be touched.
On Wed, Jan 19, 2022, 22:42 sixskys @.***> wrote:

Can you provide some reproducible examples? You are correct that it
shouldn't apply any change to files that do not have any sections marked.
I personally don't use sort-on-save since I made a cli app that also sorts
sections, but on the times that I did use it I didn't notice anything weird.
Please provide a means of sorting a whole file if the { sort-start }
section is not defined.
Is this related to the first thing or is this a feature request? The main
command already sorts the entire file if no text is highlighted.
—
Reply to this email directly, view it on GitHub
https://github.com/sixskys/vscode-scoped-sort/issues/3#issuecomment-1017115263,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AISOQPG3I3BL3CORPWZBDO3UW6HCVANCNFSM5MKV7H2A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

Yes that is the intention with sort-on-save, it should not be sorting all files. Can you give me one or more reproducible examples so I can see what's going on? I'm not having this issue myself

I have turned this feature back on,  but have not yet reproduced the issue.
I will respond again when I have a reproducible scenario.
On Thu, Jan 20, 2022, 09:56 sixskys @.***> wrote:

Yes that is the intention with sort-on-save, it should not be sorting all
files. Can you give me one or more reproducible examples so I can see
what's going on? I'm not having this issue myself
—
Reply to this email directly, view it on GitHub
https://github.com/sixskys/vscode-scoped-sort/issues/3#issuecomment-1017652855,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AISOQPHEVAFW2QOQX7K5JXDUXAWCTANCNFSM5MKV7H2A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

I have been able to reproduce the "random sorting" issue.

Have VSC auto-save toggled on
Have two files opened side-by-side

The first has a section that contains a sort section
The second does not

make an edit within the sort section

Do not manually save this change

Click into the other file to edit

The other file (w/o the sort section) is being sorted

Alright thanks, was able to reproduce the bug. Will start working on a fix.

Fixed in v2.2.0
The problem was that I assumed vscode.window.activeTextEditor would always be the file that was being saved, and didn't think about auto save and quickly moving to another file.

Thank you for digging into this.
On Thu, Jan 27, 2022, 20:55 sixskys @.***> wrote:

Fixed in v2.2.0
The problem was that I assumed vscode.window.activeTextEditor would
always be the file that was being saved, and didn't think about auto save
and quickly moving to another file.
—
Reply to this email directly, view it on GitHub
https://github.com/sixskys/scoped-sort/issues/3#issuecomment-1023837766,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AISOQPB6LOT3FKDSUTGSGFLUYIARTANCNFSM5MKV7H2A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

Just tested the update and it works as expected.
Thank you again for getting to this so quickly.
On Fri, Jan 28, 2022 at 8:03 AM Jeff Hopper @.***> wrote:

Thank you for digging into this.
On Thu, Jan 27, 2022, 20:55 sixskys @.***> wrote:

Fixed in v2.2.0
The problem was that I assumed vscode.window.activeTextEditor would
always be the file that was being saved, and didn't think about auto save
and quickly moving to another file.
—
Reply to this email directly, view it on GitHub
https://github.com/sixskys/scoped-sort/issues/3#issuecomment-1023837766,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AISOQPB6LOT3FKDSUTGSGFLUYIARTANCNFSM5MKV7H2A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

No problem, it was a pretty quick fix.


ROX-17020: Add descriptions below policy event source options in form

Description
Adding descriptions as helper text below the radio buttons for the two types of event source for RUNTIME lifecycle in the Policy behavior form step.
Checklist

[ ] Investigated and inspected CI test results

Testing Performed
RUNTIME not selected, then no helper text (existing behavior)

RUNTIME selected, and Deployment Event Source selected

RUNTIME selected, and Audit Logs Event Source selected

/test gke-ui-e2e-tests


<podcast:location tag definition is too specific

With full consideration of The Guiding Principles and Goal #4 - the current definition for the location tag is too specific:
<podcast:location country="[Country Code]" (locality="[Locality]") (latlon="[latitude,longitude]") (osmid="[OSM type][OSM id]") />
Location is a very fuzzy (but important) property of the podcast.  Having a set of recommended formats (country, locality, latlon etc) is great,  but we know that there are many more ways to conceptualise location than we would want to go to the effort of considering.
Some that quickly come to mind; the 'geo' uri scheme (RFC5870), GeoJSON (RFC7946), GeoHash etc etc.
Don't forget Elon's first podcast from Mars... ;)
My suggestion would be something like:
<podcast:location type="[location type]" [ATTRS...]>[OPTIONAL TYPE VALUE]</podcast:location>
Where [location type] is from a predefined but not exhaustive list of location formats (e.g. country, latlon etc.)
('scheme' or 'format' may be a better attribute name, if you think 'type' could be confused to imply mime-type.)
The types that are defined in the spec can be considered like a SHOULD in terms of support and implementations could be directed to ignore location blocks where the format is unrecognised.
This would be a more robust, elegant and interoperable tag specification without too much complexity in the spec or for implementations.
Many thanks for the exciting work!

Hi, @kilobit - these are great points.
GeoURL
As I read RFC5870, it seems to be eminently usable here as an enhancement for latlon. It appears to be precisely that, plus an optional altitude element. Valid values are:
geo:13.4125,103.8667,560 - 560m above sea level at this latlon point
geo:13.4125,103.8667 - just this latlon point.
I'd be very happy to see latlon replaced with a geourl tag, since it appears to add little complexity, gives the flexibility of adding altitude detail, and aligns with an RFC spec. @daveajones ?
Other formats
We currently have an osmid, since that data is openly licenced, editable, and can be ingested. (It isn't 100% permanent, but nothing other than a GeoURL is going to be in this space).
GeoJSON polygons for many places is excessively large - here's the GeoJSON polygon for Columbus, OH which is 268Kbytes.
Do you think it be acceptable, instead, to get that data from OpenStreetMap - Columbus OH would be osmid="R182706" ? Is it easier to have one canonical place where this data comes from?
For other formats, we could have a geonamesid, which could use the placenames from geonames.org. Similarly, we could have a Google Maps ID, which is available for customers with a valid API key from Google. How would you ensure this is simple for developers to use?
locality is designed for human readability and not for programmatic use. My well-worn example is locality="Palace of Westminster" or locality="Houses of Parliament" - the official name is the former, but a podcast about Parliament may well like the latter. There's no reason why locality couldn't be "Dave's House" if that's what the podcaster wants to appear in the player. It would be a shame to lose it from the spec.
For Elon Musks's first podcast from Mars, world=[IAU abbreviation] would be a helpful addition to this specification when the time comes... ;)

I like this a lot.
@jamescridland When you start sucking in this data on Podnews, what would you most want to see a tag like this look like?
<podcast:location type="osmid" locality="Mom's House in Columbus">R182706</podcast:location>
...something like that?

Well, let's answer that two ways.
What would I like for Podnews?
<podcast:location geo="geo:13.4125,103.8667,560" type="osmid" locality="Mom's House in Columbus">R182706</podcast:location>
This is because I have a ready-built component to put a little Podnews-coloured blob on a SVG map of the world, and I don't much want to do an OSM call for every podcast - that probably means I need to run my own OSM database.
Secondly, the geo/latlon is also a fallback in case OSM ID R182706 disappears one day - since a latlon is permanent, and an OSM ID (or any mapping ID) can never be since places aren't permanent.
I'd absolutely show the locality for Podnews. I think it's the wrong name, to be honest. description is probably more correct. It is a description, after all. "Mom's House in Columbus" isn't a locality.
BUT
I'm being lazy here. And this is really HARD. If the only thing I want you to know, as a podcaster, is that I'm in the USA, then a latlon is almost useless and is actually bad data. A latlon is also useless for a podcast about "Chicago" - if it's a podcast about the city, where does the latlon point to?
It does come back to my original proposal, which was simply to use OSM IDs for everything - the USA is R148838 ;)
One other thought - we should be clear what this is for. It's not yet clear enough to me whether this is a description of where the podcast is from; or a description of where the podcast is about.
Partially, I wonder whether this is a function of where in the RSS feed it is. If it's in the CHANNEL, it's likely that the description is about where the podcast is from. If it's in an EPISODE/ITEM, it's likely that it's related to the individual episode, not to the podcast as a whole. But I don't know whether that can be clarified.
Sigh. This is hard.

[T]he geo/latlon is also a fallback in case OSM ID R182706 disappears one day - since a latlon is permanent, and an OSM ID (or any mapping ID) can never be since places aren't permanent.

Would this make sense as two <podcast:location... tags?  The ingesting application could then take whichever it prefers?
Otherwise, an alternative approach would be to use priorities, something like the HTTP Accept header:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9
Here the q value is used to apply a priority (absent is the highest priority).
This would become something like:
<podcast:location geo="geo:13.4125,103.8667,560" type="osmid,locality;q=0.8" locality="Mom's House in Columbus">R182706</podcast:location>
I am not actually advocating this - only suggesting that it would be an option.  I think it's more complicated than it's worth.
My suggestion would be to go with the two (or more) <podcast:location tags option.
Cheers!

I hope that the canonical value is the OSMID if present. That contains lots of data about a point/relationship/etc. I'm not sure about the benefit of priorities.
An OSMID may disappear - let's say it's a tent in the middle of the desert, which is a temporary structure for three months. That's to be expected, I think. OSMIDs are also merged, deleted and other things by editors, but very rarely.
A geo point will never disappear, so it's a good fallback if the OSMID isn't present, or has disappeared.  It's much less rich data.
I'd be super happy for this tag to only contain an OSMID. That was my original proposal. As long as we're comfortable that OSMIDs are not guaranteed to be permanent. Perhaps CastFeedValidator can check the OSMID still exists.

I think I’ll have a go at rewriting this tag tomorrow based on the discussion here. Give us a new baseline to work from using the ‘type’ structure.

https://github.com/Podcastindex-org/podcast-namespace/issues/138 is a rewrite, based on a number of discussions here. Specifically for here, the proposal:
a) works with geoURIs, which are extensible to Elon Musk's first podcast from Mars
b) outlines why we need both geoURIs (lat/lon) and OSM IDs, since the latter may relate to buildings which may not be permanent
I'm going to close this discussion, if only to keep discussions in one thread. I'm very keen to get this one nailed if we can.


Add setup-api-linter action.

Adding this as a separate action rather than including it in the setup-linters/lint actions since this linter is more complicated to run.

This change is


krbjack: init at 0-unstable-2024-02-08

Description of changes
Kerberos AP-REQ hijacking tool with DNS unsecure updates abuse
https://github.com/almandin/krbjack
Related to https://github.com/NixOS/nixpkgs/issues/81418

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 296613 run on x86_64-linux 1

2 packages built:

krbjack
krbjack.dist


docs: HFEmbeddings: Add more information to model_kwargs/encode_kwargs

- **Description:** Be more explicit with the `model_kwargs` and `encode_kwargs` for `HuggingFaceEmbeddings`.
- **Issue:** -
- **Dependencies:** -

I received some reports by my users that they didn't realise that you could change the default batch_size with HuggingFaceEmbeddings, which may be attributed to how the model_kwargs and encode_kwargs don't give much information about what you can specify.
I've added some parameter names & links to the Sentence Transformers documentation to help clear it up. Let me know if you'd rather have Markdown/Sphinx-style hyperlinks rather than a "bare URL".

Tom Aarsen

Thank you!


implement From<&str> for OscType

Thank you for the contribution, looks reasonable and will merge it right away!


Additional data

Is there a way to add additional data for additional clusters that aren't part of the main data set? Using spread is too aggressive as I'm using 50k markers.

@RWOverdijk I'm not sure I'm getting the point. For what I understood, why not just appending additional data to the data you're already passing down to the module?

I have no idea what this was about.


Cannot add contacts

Expected behavior
I touch a contact image/name at the top of an email, it opens up Simple Contacts and gives me the opportunity to save said contact
Actual behavior
I get a modal pop up that says "No suitable application for this action found"
Steps to reproduce

Install Simple Contacts
Disable as much Google/proprietary software that you can. Google Play Services still has access to contacts
Use K9 mail and repeat expected behavior.

Environment
K-9 Mail version: 5.6
Android version: 8.10
Account type (IMAP, POP3, WebDAV/Exchange): IMAP
Please take some time to retrieve logs and attach them here:
k9-log.txt

Sounds like a missing feature in Simple Contacts. K-9 Mail is only using platform APIs and not talking to a contacts app in particular.

@cketti That thought had crossed my mind. I'll make an issue with them and see if I can't help get it sorted.


support get task usage of kube tasks

Remove container_label_PAI_HOSTNAME from task resource labels, and support get task usage from kube tasks

Coverage remained the same at 52.637% when pulling 67db4d4c8faaaf92c65f70c07f3af365f2bcbedc on dixu/support-kube-tasks into 18898970b8ff968217fa9af3d6721ad7ade97c2b on master.

Coverage remained the same at 52.637% when pulling 67db4d4c8faaaf92c65f70c07f3af365f2bcbedc on dixu/support-kube-tasks into 18898970b8ff968217fa9af3d6721ad7ade97c2b on master.


New article pie chart layer for azure maps visual

@alextts627, Microsoft authors and contributors need to make content contributions through the private repository so the content can be staged and validated by the current validation rules.
After you make your changes in the private repo, review the articles on staging, and fix any validation issues, you can add the sign-off comment to let PR reviewers know that the updates are ready to be merged.
Read about authors working in the public repo for more information.
If you need help getting set up to work in the private repo, see Set up Git repository locally for documentation.
We'll close this PR. Thank you.


Add support for nss_wrapper to the Alpine based images

Support nss_wrapper to align with the Debian based images.
This makes running this images on the OpenShift/Kubernetes platform easier.

@tianon it is verified to work on OpenShift online. It starts up and runs initdb just like the Debian based image.
I can try to get nss_wrapper into Alpine as a package too, compilation is trivial.

Getting an Alpine package of it accepted would definitely ease my concerns
here -- as I noted, it's been an open issue at
https://bugs.alpinelinux.org/issues/6710 for quite some time now and there
were some fundamental issues discussed there that I think need to be
addressed at that level (and I don't think it makes sense for us to
maintain the code to build "nss_wrapper" at this level).

Getting an Alpine package of it accepted would definitely ease my concerns here -- as I noted, it's been an open issue at https://bugs.alpinelinux.org/issues/6710 for quite some time now and there were some fundamental issues discussed there that I think need to be addressed at that level (and I don't think it makes sense for us to maintain the code to build "nss_wrapper" at this level).

This fundamental issue you mention is for a generic use case. For the use case of this container, nss_wrapper works exactly as designed and tehere's no need for any other supporting infrastructure.

Apologies if this is an inappropriate place for this, but I'm curious what this is.
https://github.com/docker-library/postgres/blob/master/9.4/alpine/docker-entrypoint.sh#L67-L87

@anthonator Those lines exist because the entrypoint is the same in all images (which is why the usage of libnss is gated on its existence).  It was added in https://github.com/docker-library/postgres/pull/448.  See also number 1 under "The three easiest ways to get around this" in the Arbitrary --user Notes section  of the documentation on Docker Hub.

Yeah hank you for the explanation!

Closing in favor of https://gitlab.alpinelinux.org/alpine/aports/issues/6710 -- once that's resolved in a released version of Alpine, we should absolutely revisit this.

What you wrote in docs fails for both Alpine and Debian and its very annoying. I can see in Portainer user: 1000:1000 is passed correctly.
chmod: /var/lib/postgresql/data: Operation not permitted
chmod: /var/run/postgresql: Operation not permitted
The files belonging to this database system will be owned by user "username".
This user must also own the server process.
The database cluster will be initialized with locale "en_US.utf8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".
Data page checksums are disabled.
initdb: error: could not change permissions of directory "/var/lib/postgresql/data": Operation not permitted
fixing permissions on existing directory /var/lib/postgresql/data ...

  postgres-dev:
    image: postgres:16.4-alpine
    container_name: postgres-dev
    user: '${MY_UID}:${MY_GID}'  # it is 1000:1000
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: postgres
    ports:
      - '5432:5432'
    volumes:
      - ./postgres-data/data-dev:/var/lib/postgresql/data
      - /etc/passwd:/etc/passwd:ro  # this fix changed nothing
    networks:
      - internal-dev

Sorry, but that's not failing on what you think it is -- I think you need to pre-create / fix the permissions of your ./postgres-data/data-dev directory to be owned completely by 1000:1000 with suitable permissions for PostgreSQL (0700).


POST request to http://localhost:8100/mgmt/shared/cloud-failover/trigger fails with 500 error

(Issue moved from:  https://github.com/f5devcentral/f5-cloud-failover-extension/issues/20)
Reported by: @y-myk
BIG-IP HA cluster in Azure deployed from https://github.com/F5Networks/f5-azure-arm-templates/tree/v<IP_ADDRESS>/supported/failover/same-net/via-api/n-nic/existing-stack/byol
Deployment completed with no errors. However failover fails.
/var/log/cloud/azure/onboard.log
2020-03-17T14:21:54.300Z info: Onboard starting.
...
2020-03-17T14:22:10.411Z info: Licensing.
2020-03-17T14:22:34.619Z info: Provisioning modules {"ltm":"nominal"}
2020-03-17T14:23:07.305Z info: Installing package at path: /var/config/rest/downloads/f5-cloud-failover-1.1.0-0.noarch.rpm
2020-03-17T14:23:07.306Z info: Installing package at path: /var/config/rest/downloads/f5-appsvcs-3.5.1-5.noarch.rpm
2020-03-17T14:23:23.368Z info: Saving config.
2020-03-17T14:23:35.766Z info: Waiting for device to be active.
2020-03-17T14:23:40.228Z info: Sending metrics
2020-03-17T14:23:41.126Z info: Device onboard complete.
2020-03-17T14:23:44.433Z info: Onboard finished.
/var/log/cloud/azure/cluster.log
2020-03-17T14:24:08.961Z info<EMAIL_ADDRESS>called with /usr/bin/f5-rest-node<EMAIL_ADDRESS>--output /var/log/cloud/azure/cluster.log --log-level info --host <IP_ADDRESS> --port 443 -u svc_user --password-url file:///config/cloud/.passwd --password-encrypted --config-sync-ip <IP_ADDRESS> --join-group --device-group Sync --sync --remote-host <IP_ADDRESS> --remote-user svc_user --remote-password-url file:///config/cloud/.passwd
2020-03-17T14:24:08.970Z info: Cluster starting.
...
2020-03-17T14:24:48.624Z info: Adding to remote trust.
2020-03-17T14:25:04.010Z info: Adding to remote device group.
2020-03-17T14:25:10.712Z info: Checking for datasync-global-dg.
2020-03-17T14:25:21.554Z info: Telling remote to sync.
2020-03-17T14:25:53.117Z info: Waiting for sync to complete.
2020-03-17T14:25:54.571Z info: Sync complete.
2020-03-17T14:25:54.573Z info: Waiting for BIG-IP to be active.
2020-03-17T14:25:56.619Z info: Cluster finished.
/var/log/ltm
Mar 18 10:40:54 f5jp010.eastus.cloudapp.azure.com notice sod[7364]: 010c006d:5: Leaving Standby for Active: Next Active, peers agree on config.
Mar 18 10:40:54 f5jp010.eastus.cloudapp.azure.com notice sod[7364]: 010c0053:5: Active for traffic group traffic-group-1.
Mar 18 10:40:54 f5jp010.eastus.cloudapp.azure.com notice sod[7364]: 010c0019:5: Active
/var/log/restnoded/restnoded.log
Wed, 18 Mar 2020 10:40:54 GMT - finest: socket 202 opened
Wed, 18 Mar 2020 10:40:59 GMT - info: [f5-cloud-failover] Performing failover - execute
Wed, 18 Mar 2020 10:40:59 GMT - info: [f5-cloud-failover] Performing Failover - recovery
Wed, 18 Mar 2020 10:40:59 GMT - warning: [f5-cloud-failover] Recovering previous task: {"addresses":null,"routes":null}
Wed, 18 Mar 2020 10:40:59 GMT - info: [f5-cloud-failover] Performing Failover - update
Wed, 18 Mar 2020 10:40:59 GMT - info: [f5-cloud-failover] No localAddresses/failoverAddresses to discover
Wed, 18 Mar 2020 10:40:59 GMT - severe: [f5-cloud-failover] failover.execute() error: Cannot read property 'disassociate' of undefined TypeError: Cannot read property 'disassociate' of undefined
at _discoverAddressOperations.then.operations (/var/config/rest/iapps/f5-cloud-failover/nodejs/providers/azure/cloud.js:129:66)
at tryCatcher (/usr/share/rest/node/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/usr/share/rest/node/node_modules/bluebird/js/release/promise.js:512:31)
at Promise._settlePromise (/usr/share/rest/node/node_modules/bluebird/js/release/promise.js:569:18)
at Promise._settlePromiseCtx (/usr/share/rest/node/node_modules/bluebird/js/release/promise.js:606:10)
at Async._drainQueue (/usr/share/rest/node/node_modules/bluebird/js/release/async.js:138:12)
at Async._drainQueues (/usr/share/rest/node/node_modules/bluebird/js/release/async.js:143:10)
at Immediate.Async.drainQueues (/usr/share/rest/node/node_modules/bluebird/js/release/async.js:17:14)
at runCallback (timers.js:794:20)
at tryOnImmediate (timers.js:752:5)
at processImmediate [as _immediateCallback] (timers.js:729:5)
Wed, 18 Mar 2020 10:40:59 GMT - info: [f5-cloud-failover] No route operations to run
Wed, 18 Mar 2020 10:41:04 GMT - finest: socket 202 closed
/var/log/restjavad-audit.0.log
[I][243][18 Mar 2020 10:40:59 UTC][ForwarderPassThroughWorker] {"user":"local/admin","method":"POST","uri":"http://localhost:8100/mgmt/shared/cloud-failover/trigger","status":500,"from":"Unknown"}
CFE endpoint https://localhost/mgmt/shared/cloud-failover/info is responding on each HA peer, however GET request to https://localhost/mgmt/shared/cloud-failover/trigger fails:
[admin@f5jp011:Active:In Sync] ~ # curl -ik -u admin https://localhost/mgmt/shared/cloud-failover/info
HTTP/1.1 200 OK
Date: Wed, 18 Mar 2020 10:56:05 GMT
Server: Jetty(9.2.22.v20170606)
X-Frame-Options: SAMEORIGIN
Strict-Transport-Security: max-age=16070400; includeSubDomains
Content-Type: application/json; charset=UTF-8
X-Powered-By: Express
Pragma: no-cache
Cache-Control: no-store
Cache-Control: no-cache
Cache-Control: must-revalidate
Expires: -1
Content-Length: 81
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Content-Security-Policy: default-src 'self' 'unsafe-inline' 'unsafe-eval' data: blob:; img-src 'self' data: http://<IP_ADDRESS> http://<IP_ADDRESS>
[admin@f5jp011:Active:In Sync] ~ # curl -ik -u admin https://localhost/mgmt/shared/cloud-failover/trigger
HTTP/1.1 400 Bad Request
Date: Wed, 18 Mar 2020 10:56:32 GMT
Server: Jetty(9.2.22.v20170606)
X-Frame-Options: SAMEORIGIN
Strict-Transport-Security: max-age=16070400; includeSubDomains
Content-Type: application/json; charset=UTF-8
Pragma: no-cache
Cache-Control: no-store
Cache-Control: no-cache
Cache-Control: must-revalidate
Expires: -1
Content-Length: 1349
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Content-Security-Policy: default-src 'self' 'unsafe-inline' 'unsafe-eval' data: blob:; img-src 'self' data: http://<IP_ADDRESS> http://<IP_ADDRESS>
Connection: close
{"taskState":"FAILED","message":"Failover failed because of failover.execute() error: Cannot read property 'disassociate' of undefined TypeError: Cannot read property 'disassociate' of undefined\n at _discoverAddressOperations.then.operations (/var/config/rest/iapps/f5-cloud-failover/nodejs/providers/azure/cloud.js:129:66)\n at tryCatcher (/usr/share/rest/node/node_modules/bluebird/js/release/util.js:16:23)\n at Promise._settlePromiseFromHandler (/usr/share/rest/node/node_modules/bluebird/js/release/promise.js:512:31)\n at Promise._settlePromise (/usr/share/rest/node/node_modules/bluebird/js/release/promise.js:569:18)\n at Promise._settlePromiseCtx (/usr/share/rest/node/node_modules/bluebird/js/release/promise.js:606:10)\n at Async._drainQueue (/usr/share/rest/node/node_modules/bluebird/js/release/async.js:138:12)\n at Async._drainQueues (/usr/share/rest/node/node_modules/bluebird/js/release/async.js:143:10)\n at Immediate.Async.drainQueues (/usr/share/rest/node/node_modules/bluebird/js/release/async.js:17:14)\n at runCallback (timers.js:794:20)\n at tryOnImmediate (timers.js:752:5)\n at processImmediate [as _immediateCallback] (timers.js:729:5)","timestamp":"2020-03-18T10:54:18.040Z","instance":"f5jp011.eastus.cloudapp.azure.com","failoverOperations":{"addresses":null,"routes":null},"code":400}[admin@f5jp011:Active:In Sync] ~ #

Thanks for supplying us with these logs. I've filed a bug report, internal ID AUTOSDK-258, to have this investigated.

@y-myk are you still experience this issue or was it resolved with release 1.2?

@y-myk are you still experiencing this issue or was it resolved with release 1.2?

I hit this issue only once when running release 1.1.0.
Removing via-api template and then redeploying it from scratch fixed the issue.

Closing. This issue was resolved with release 1.2.


db push exists with exit code 250

Bug description
When I run prisma db push, it exits with 250 exit code.
The output of the command is:
Environment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma
Datasource "db": PostgreSQL database "templates", schema "public" at "<hidden-url>"

The database is already in sync with the Prisma schema.

✔ Generated Prisma Client Python (v0.15.0) to ./.venv/lib/python3.10/site-packages/prisma in 201ms

prisma db push exited with status code 250.

How to reproduce
#!/bin/sh
prisma db push
EXIT_CODE=$?
echo "prisma db push exited with status code $EXIT_CODE."

Expected behavior
If there are not errors, it should exit with 0.
Prisma information
prisma db push

Environment & setup

OS: Ubuntu 22.04
Database: PostgreSQL
Node.js version: 18.20.1

Prisma Version
prisma                : 5.17.0
@prisma/client        : Not found
Computed binaryTarget : debian-openssl-3.0.x
Operating System      : linux
Architecture          : x64
Node.js               : v18.20.1
Query Engine (Binary) : query-engine 393aa359c9ad4a4bb28630fb5613f9c281cde053 (at<EMAIL_ADDRESS>Schema Engine         : schema-engine-cli 393aa359c9ad4a4bb28630fb5613f9c281cde053 (at<EMAIL_ADDRESS>Schema Wasm           : @prisma/prisma-schema-wasm 5.17.0-31.393aa359c9ad4a4bb28630fb5613f9c281cde053
Default Engines Hash  : 393aa359c9ad4a4bb28630fb5613f9c281cde053
Studio                : 0.502.0

Hi @rohanmohapatra
Thank you for bringing this issue to our attention! Based on your description, it seems you might be using Prisma Client for Python. To ensure you get the most accurate assistance, I recommend posting your question in the Prisma Python repository discussions.


kubeadm-dind-cluster  fails with error --skip-preflight-checks has been deprecated

Flag --skip-preflight-checks has been deprecated, it is now equivalent to --ignore-preflight-errors=all
your configuration file uses an old API spec: "kubeadm.k8s.io/v1alpha1". Please use kubeadm v1.11 instead and run 'kubeadm config migrate --old-config old.yaml --new-config new.yaml', which will write the new, similar spec using a newer API version.

when i try to migrate the config i get an error. This is failing on the master branch
kubeadm config migrate --old-config image/kubeadm.conf.tmpl
unable to decode config from bytes: couldn't unmarshal YAML: yaml: line 11: did not find expected key

Then you have some kind of YAML syntax error in your code.
Also, use the new ignore-preflight-errors flag instead

@luxas  i havent made any changes to this file and its complaining here. https://github.com/kubernetes-sigs/kubeadm-dind-cluster/blob/master/image/kubeadm.conf.tmpl#L11
I dont know much about this tool except that i was using it to test my local kubelet changes for a PR that i am blocked on.  It was working 2 weeks back.
Here is the full dump i get ,if that helps
* Running kubeadm: init --config /etc/kubeadm.conf --skip-preflight-checks
Initializing machine ID from random generator.
Synchronizing state of docker.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable docker
Loaded image: mirantis/hypokube:base

real	0m2.887s
user	0m0.190s
sys	0m0.300s
Sending build context to Docker daemon 229.6 MB
Step 1/2 : FROM mirantis/hypokube:base
 ---> 7de9b3eee008
Step 2/2 : COPY hyperkube /hyperkube
 ---> 85b996e3bfd1
Removing intermediate container aedbddc08d8e
Successfully built 85b996e3bfd1
Created symlink /etc/systemd/system/multi-user.target.wants/kubelet.service → /lib/systemd/system/kubelet.service.
Flag --skip-preflight-checks has been deprecated, it is now equivalent to --ignore-preflight-errors=all
your configuration file uses an old API spec: "kubeadm.k8s.io/v1alpha1". Please use kubeadm v1.11 instead and run 'kubeadm config migrate --old-config old.yaml --new-config new.yaml', which will write the new, similar spec using a newer API version.

real	0m0.038s
user	0m0.020s
sys	0m0.020s
*** 'kubeadm init --config /etc/kubeadm.conf --skip-preflight-checks' failed, doing kubeadm reset ***
'/etc/cni' -> '/etc/cni.bak'
'/etc/cni/net.d' -> '/etc/cni.bak/net.d'
'/etc/cni/net.d/cni.conf' -> '/etc/cni.bak/net.d/cni.conf'
[preflight] running pre-flight checks
[reset] stopping the kubelet service
[reset] unmounting mounted directories in "/var/lib/kubelet"
[reset] removing kubernetes-managed containers
[reset] no etcd manifest found in "/etc/kubernetes/manifests/etcd.yaml". Assuming external etcd
[reset] please manually reset etcd to prevent further issues
[reset] deleting contents of stateful directories: [/var/lib/kubelet /etc/cni/net.d /var/lib/dockershim /var/run/kubernetes]
[reset] deleting contents of config directories: [/etc/kubernetes/manifests /etc/kubernetes/pki]
[reset] deleting files: [/etc/kubernetes/admin.conf /etc/kubernetes/kubelet.conf /etc/kubernetes/bootstrap-kubelet.conf /etc/kubernetes/controller-manager.conf /etc/kubernetes/scheduler.conf]
Flag --skip-preflight-checks has been deprecated, it is now equivalent to --ignore-preflight-errors=all
your configuration file uses an old API spec: "kubeadm.k8s.io/v1alpha1". Please use kubeadm v1.11 instead and run 'kubeadm config migrate --old-config old.yaml --new-config new.yaml', which will write the new, similar spec using a newer API version.

real	0m0.037s
user	0m0.020s
sys	0m0.020s
*** 'kubeadm init --config /etc/kubeadm.conf --skip-preflight-checks' failed, doing kubeadm reset ***
'/etc/cni' -> '/etc/cni.bak'
'/etc/cni/net.d' -> '/etc/cni.bak/net.d'
'/etc/cni/net.d/cni.conf' -> '/etc/cni.bak/net.d/cni.conf'
[preflight] running pre-flight checks
[reset] stopping the kubelet service
[reset] unmounting mounted directories in "/var/lib/kubelet"
[reset] removing kubernetes-managed containers
[reset] no etcd manifest found in "/etc/kubernetes/manifests/etcd.yaml". Assuming external etcd
[reset] please manually reset etcd to prevent further issues
[reset] deleting contents of stateful directories: [/var/lib/kubelet /etc/cni/net.d /var/lib/dockershim /var/run/kubernetes]
[reset] deleting contents of config directories: [/etc/kubernetes/manifests /etc/kubernetes/pki]
[reset] deleting files: [/etc/kubernetes/admin.conf /etc/kubernetes/kubelet.conf /etc/kubernetes/bootstrap-kubelet.conf /etc/kubernetes/controller-manager.conf /etc/kubernetes/scheduler.conf]
Flag --skip-preflight-checks has been deprecated, it is now equivalent to --ignore-preflight-errors=all
your configuration file uses an old API spec: "kubeadm.k8s.io/v1alpha1". Please use kubeadm v1.11 instead and run 'kubeadm config migrate --old-config old.yaml --new-config new.yaml', which will write the new, similar spec using a newer API version.

real	0m0.032s
user	0m0.010s
sys	0m0.020s
*** 'kubeadm init --config /etc/kubeadm.conf --skip-preflight-checks' failed, doing kubeadm reset ***
'/etc/cni' -> '/etc/cni.bak'
'/etc/cni/net.d' -> '/etc/cni.bak/net.d'
'/etc/cni/net.d/cni.conf' -> '/etc/cni.bak/net.d/cni.conf'
[preflight] running pre-flight checks
[reset] stopping the kubelet service
[reset] unmounting mounted directories in "/var/lib/kubelet"
[reset] removing kubernetes-managed containers
[reset] no etcd manifest found in "/etc/kubernetes/manifests/etcd.yaml". Assuming external etcd
[reset] please manually reset etcd to prevent further issues
[reset] deleting contents of stateful directories: [/var/lib/kubelet /etc/cni/net.d /var/lib/dockershim /var/run/kubernetes]
[reset] deleting contents of config directories: [/etc/kubernetes/manifests /etc/kubernetes/pki]
[reset] deleting files: [/etc/kubernetes/admin.conf /etc/kubernetes/kubelet.conf /etc/kubernetes/bootstrap-kubelet.conf /etc/kubernetes/controller-manager.conf /etc/kubernetes/scheduler.conf]
Flag --skip-preflight-checks has been deprecated, it is now equivalent to --ignore-preflight-errors=all
your configuration file uses an old API spec: "kubeadm.k8s.io/v1alpha1". Please use kubeadm v1.11 instead and run 'kubeadm config migrate --old-config old.yaml --new-config new.yaml', which will write the new, similar spec using a newer API version.

real	0m0.031s
user	0m0.000s
sys	0m0.040s
*** 'kubeadm init --config /etc/kubeadm.conf --skip-preflight-checks' failed, doing kubeadm reset ***
'/etc/cni' -> '/etc/cni.bak'
'/etc/cni/net.d' -> '/etc/cni.bak/net.d'
'/etc/cni/net.d/cni.conf' -> '/etc/cni.bak/net.d/cni.conf'
[preflight] running pre-flight checks
[reset] stopping the kubelet service
[reset] unmounting mounted directories in "/var/lib/kubelet"
[reset] removing kubernetes-managed containers
[reset] no etcd manifest found in "/etc/kubernetes/manifests/etcd.yaml". Assuming external etcd
[reset] please manually reset etcd to prevent further issues
[reset] deleting contents of stateful directories: [/var/lib/kubelet /etc/cni/net.d /var/lib/dockershim /var/run/kubernetes]
[reset] deleting contents of config directories: [/etc/kubernetes/manifests /etc/kubernetes/pki]
[reset] deleting files: [/etc/kubernetes/admin.conf /etc/kubernetes/kubelet.conf /etc/kubernetes/bootstrap-kubelet.conf /etc/kubernetes/controller-manager.conf /etc/kubernetes/scheduler.conf]
Flag --skip-preflight-checks has been deprecated, it is now equivalent to --ignore-preflight-errors=all
your configuration file uses an old API spec: "kubeadm.k8s.io/v1alpha1". Please use kubeadm v1.11 instead and run 'kubeadm config migrate --old-config old.yaml --new-config new.yaml', which will write the new, similar spec using a newer API version.

real	0m0.030s
user	0m0.020s
sys	0m0.010s
*** 'kubeadm init --config /etc/kubeadm.conf --skip-preflight-checks' failed, doing kubeadm reset ***
'/etc/cni' -> '/etc/cni.bak'
'/etc/cni/net.d' -> '/etc/cni.bak/net.d'
'/etc/cni/net.d/cni.conf' -> '/etc/cni.bak/net.d/cni.conf'
[preflight] running pre-flight checks
[reset] stopping the kubelet service
[reset] unmounting mounted directories in "/var/lib/kubelet"
[reset] removing kubernetes-managed containers
[reset] no etcd manifest found in "/etc/kubernetes/manifests/etcd.yaml". Assuming external etcd
[reset] please manually reset etcd to prevent further issues
[reset] deleting contents of stateful directories: [/var/lib/kubelet /etc/cni/net.d /var/lib/dockershim /var/run/kubernetes]
[reset] deleting contents of config directories: [/etc/kubernetes/manifests /etc/kubernetes/pki]
[reset] deleting files: [/etc/kubernetes/admin.conf /etc/kubernetes/kubelet.conf /etc/kubernetes/bootstrap-kubelet.conf /etc/kubernetes/controller-manager.conf /etc/kubernetes/scheduler.conf]
Flag --skip-preflight-checks has been deprecated, it is now equivalent to --ignore-preflight-errors=all
your configuration file uses an old API spec: "kubeadm.k8s.io/v1alpha1". Please use kubeadm v1.11 instead and run 'kubeadm config migrate --old-config old.yaml --new-config new.yaml', which will write the new, similar spec using a newer API version.

real	0m0.032s
user	0m0.020s
sys	0m0.020s
*** 'kubeadm init --config /etc/kubeadm.conf --skip-preflight-checks' failed, doing kubeadm reset ***
'/etc/cni' -> '/etc/cni.bak'
'/etc/cni/net.d' -> '/etc/cni.bak/net.d'
'/etc/cni/net.d/cni.conf' -> '/etc/cni.bak/net.d/cni.conf'
[preflight] running pre-flight checks
[reset] stopping the kubelet service
[reset] unmounting mounted directories in "/var/lib/kubelet"
[reset] removing kubernetes-managed containers
[reset] no etcd manifest found in "/etc/kubernetes/manifests/etcd.yaml". Assuming external etcd
[reset] please manually reset etcd to prevent further issues
[reset] deleting contents of stateful directories: [/var/lib/kubelet /etc/cni/net.d /var/lib/dockershim /var/run/kubernetes]
[reset] deleting contents of config directories: [/etc/kubernetes/manifests /etc/kubernetes/pki]
[reset] deleting files: [/etc/kubernetes/admin.conf /etc/kubernetes/kubelet.conf /etc/kubernetes/bootstrap-kubelet.conf /etc/kubernetes/controller-manager.conf /etc/kubernetes/scheduler.conf]
Flag --skip-preflight-checks has been deprecated, it is now equivalent to --ignore-preflight-errors=all
your configuration file uses an old API spec: "kubeadm.k8s.io/v1alpha1". Please use kubeadm v1.11 instead and run 'kubeadm config migrate --old-config old.yaml --new-config new.yaml', which will write the new, similar spec using a newer API version.

real	0m0.030s
user	0m0.030s
sys	0m0.000s
*** 'kubeadm init --config /etc/kubeadm.conf --skip-preflight-checks' failed, doing kubeadm reset ***
'/etc/cni' -> '/etc/cni.bak'
'/etc/cni/net.d' -> '/etc/cni.bak/net.d'
'/etc/cni/net.d/cni.conf' -> '/etc/cni.bak/net.d/cni.conf'
[preflight] running pre-flight checks
[reset] stopping the kubelet service
[reset] unmounting mounted directories in "/var/lib/kubelet"
[reset] removing kubernetes-managed containers
[reset] no etcd manifest found in "/etc/kubernetes/manifests/etcd.yaml". Assuming external etcd
[reset] please manually reset etcd to prevent further issues
[reset] deleting contents of stateful directories: [/var/lib/kubelet /etc/cni/net.d /var/lib/dockershim /var/run/kubernetes]
[reset] deleting contents of config directories: [/etc/kubernetes/manifests /etc/kubernetes/pki]
[reset] deleting files: [/etc/kubernetes/admin.conf /etc/kubernetes/kubelet.conf /etc/kubernetes/bootstrap-kubelet.conf /etc/kubernetes/controller-manager.conf /etc/kubernetes/scheduler.conf]
Flag --skip-preflight-checks has been deprecated, it is now equivalent to --ignore-preflight-errors=all
your configuration file uses an old API spec: "kubeadm.k8s.io/v1alpha1". Please use kubeadm v1.11 instead and run 'kubeadm config migrate --old-config old.yaml --new-config new.yaml', which will write the new, similar spec using a newer API version.

real	0m0.031s
user	0m0.040s
sys	0m0.010s
*** 'kubeadm init --config /etc/kubeadm.conf --skip-preflight-checks' failed, doing kubeadm reset ***
'/etc/cni' -> '/etc/cni.bak'
'/etc/cni/net.d' -> '/etc/cni.bak/net.d'
'/etc/cni/net.d/cni.conf' -> '/etc/cni.bak/net.d/cni.conf'
[preflight] running pre-flight checks
[reset] stopping the kubelet service
[reset] unmounting mounted directories in "/var/lib/kubelet"
[reset] removing kubernetes-managed containers
[reset] no etcd manifest found in "/etc/kubernetes/manifests/etcd.yaml". Assuming external etcd
[reset] please manually reset etcd to prevent further issues
[reset] deleting contents of stateful directories: [/var/lib/kubelet /etc/cni/net.d /var/lib/dockershim /var/run/kubernetes]
[reset] deleting contents of config directories: [/etc/kubernetes/manifests /etc/kubernetes/pki]
[reset] deleting files: [/etc/kubernetes/admin.conf /etc/kubernetes/kubelet.conf /etc/kubernetes/bootstrap-kubelet.conf /etc/kubernetes/controller-manager.conf /etc/kubernetes/scheduler.conf]
Flag --skip-preflight-checks has been deprecated, it is now equivalent to --ignore-preflight-errors=all
your configuration file uses an old API spec: "kubeadm.k8s.io/v1alpha1". Please use kubeadm v1.11 instead and run 'kubeadm config migrate --old-config old.yaml --new-config new.yaml', which will write the new, similar spec using a newer API version.

real	0m0.029s
user	0m0.020s
sys	0m0.010s
*** 'kubeadm init --config /etc/kubeadm.conf --skip-preflight-checks' failed, doing kubeadm reset ***
'/etc/cni' -> '/etc/cni.bak'
'/etc/cni/net.d' -> '/etc/cni.bak/net.d'
'/etc/cni/net.d/cni.conf' -> '/etc/cni.bak/net.d/cni.conf'
[preflight] running pre-flight checks
[reset] stopping the kubelet service
[reset] unmounting mounted directories in "/var/lib/kubelet"
[reset] removing kubernetes-managed containers
[reset] no etcd manifest found in "/etc/kubernetes/manifests/etcd.yaml". Assuming external etcd
[reset] please manually reset etcd to prevent further issues
[reset] deleting contents of stateful directories: [/var/lib/kubelet /etc/cni/net.d /var/lib/dockershim /var/run/kubernetes]
[reset] deleting contents of config directories: [/etc/kubernetes/manifests /etc/kubernetes/pki]
[reset] deleting files: [/etc/kubernetes/admin.conf /etc/kubernetes/kubelet.conf /etc/kubernetes/bootstrap-kubelet.conf /etc/kubernetes/controller-manager.conf /etc/kubernetes/scheduler.conf]
Flag --skip-preflight-checks has been deprecated, it is now equivalent to --ignore-preflight-errors=all
your configuration file uses an old API spec: "kubeadm.k8s.io/v1alpha1". Please use kubeadm v1.11 instead and run 'kubeadm config migrate --old-config old.yaml --new-config new.yaml', which will write the new, similar spec using a newer API version.

real	0m0.030s
user	0m0.000s
sys	0m0.030s
*** 'kubeadm init --config /etc/kubeadm.conf --skip-preflight-checks' failed, doing kubeadm reset ***
'/etc/cni' -> '/etc/cni.bak'
'/etc/cni/net.d' -> '/etc/cni.bak/net.d'
'/etc/cni/net.d/cni.conf' -> '/etc/cni.bak/net.d/cni.conf'
[preflight] running pre-flight checks
[reset] stopping the kubelet service
[reset] unmounting mounted directories in "/var/lib/kubelet"
[reset] removing kubernetes-managed containers
[reset] no etcd manifest found in "/etc/kubernetes/manifests/etcd.yaml". Assuming external etcd
[reset] please manually reset etcd to prevent further issues
[reset] deleting contents of stateful directories: [/var/lib/kubelet /etc/cni/net.d /var/lib/dockershim /var/run/kubernetes]
[reset] deleting contents of config directories: [/etc/kubernetes/manifests /etc/kubernetes/pki]
[reset] deleting files: [/etc/kubernetes/admin.conf /etc/kubernetes/kubelet.conf /etc/kubernetes/bootstrap-kubelet.conf /etc/kubernetes/controller-manager.conf /etc/kubernetes/scheduler.conf]
Flag --skip-preflight-checks has been deprecated, it is now equivalent to --ignore-preflight-errors=all
your configuration file uses an old API spec: "kubeadm.k8s.io/v1alpha1". Please use kubeadm v1.11 instead and run 'kubeadm config migrate --old-config old.yaml --new-config new.yaml', which will write the new, similar spec using a newer API version.

real	0m0.029s
user	0m0.030s
sys	0m0.000s
*** 'kubeadm init --config /etc/kubeadm.conf --skip-preflight-checks' failed, doing kubeadm reset ***
'/etc/cni' -> '/etc/cni.bak'
'/etc/cni/net.d' -> '/etc/cni.bak/net.d'
'/etc/cni/net.d/cni.conf' -> '/etc/cni.bak/net.d/cni.conf'
[preflight] running pre-flight checks
[reset] stopping the kubelet service
[reset] unmounting mounted directories in "/var/lib/kubelet"
[reset] removing kubernetes-managed containers
[reset] no etcd manifest found in "/etc/kubernetes/manifests/etcd.yaml". Assuming external etcd
[reset] please manually reset etcd to prevent further issues
[reset] deleting contents of stateful directories: [/var/lib/kubelet /etc/cni/net.d /var/lib/dockershim /var/run/kubernetes]
[reset] deleting contents of config directories: [/etc/kubernetes/manifests /etc/kubernetes/pki]
[reset] deleting files: [/etc/kubernetes/admin.conf /etc/kubernetes/kubelet.conf /etc/kubernetes/bootstrap-kubelet.conf /etc/kubernetes/controller-manager.conf /etc/kubernetes/scheduler.conf]
*** kubeadm failed

the file https://github.com/kubernetes-sigs/kubeadm-dind-cluster/blob/master/image/kubeadm.conf.tmpl#L5 is v1alpha1 but the latest kubeadm only supports
- kubeadm.k8s.io/v1alpha2
- kubeadm.k8s.io/v1alpha3

I'm seeing this also, although now it is
error: unknown flag: --skip-preflight-checks
as this flag was removed with https://github.com/kubernetes/kubernetes/commit/9e204fe7f715251c191d7c8230cd98553d43230e

@krmayankk that should be already fixed by https://github.com/kubernetes-sigs/kubeadm-dind-cluster/commit/c728934c97a77cd41df48ea88103526ed1f6833a included merged in #165
@rpothier so simply on versions v1.11+ this need a new name for option. Will fix that tomorrow.


A unified lsp channel request api

After thinking through both LSP-intercept and LSP-request I realized (I think) there's a way to enable both with a single relatively simple API.  The request an end-user makes to the LSP can be exactly the same regardless of which method the channel open is to be fulfilled by.
The only information required to initiate an open channel request with an LSP is who to open the channel with (pubkey@host:port).  The size and duration of the channel are recommended but optional parameters.
With that information the LSP is free to determine the cost/fees it will charge for tying up that amount of liquidity for at least the duration requested.  Once the fee calculation is completed it can return to the client the total cost/fees, an on-chain address, a lightning invoice, and a short channel id (scid).
If the client accepts the proposed fee rate from the LSP they are free to pay for the channel however they would like:

They can send an on-chain payment to the provided btc address.
They can pay the bolt11 lightning invoice.
They can create an invoice that uses the provided scid as a last hop route hint and have the fee taken from the inbound payment.

The LSP-request spec is largely unchanged here.  It's exactly the same flows.  The user proposes a channel, the lsp sends back the total cost, the user pays using the tx/invoice.  Once it's paid the channel is opened.
The LSP-intercept spec is changed but is the same conceptually.  The user proposes a channel exactly the same was as in LSP-request.  The difference is instead of paying the fee to open the channel directly (via tx/invoice) they are going to pay it via inbound payment(s).
The LSP generates a short channel id to be used in the route hint for the last hop of an invoice.  The client can then use this fee rate and scid to generate invoice(s) to receive payments without opening a channel first.  The LSP can decide if the user must pay the entire fee in a single payment or if it's able to amortize the cost of the channel across many payments.
If they want to force the user to pay the fee in a single payment then they can set fee_per_payment == fee_total.  If they want to allow the user to pay back the fee over multiple payments they can set fee_per_payment < fee_total and each payment that is forwarded will be reduced by fee_per_payment until the fee is paid back.  Their wallet can use GET /channel to understand how much is left to be paid on the order similarly to how they would if they were paying up front using multiple on-chain tx.
I included a first-pass on the POST /channel (create channel open request) and GET /channel (get channel open request by order id) endpoints based on the two specs.
We can incorporate lnurl-channel and the other endpoints (info, finalize channel, etc) if this direction is agreed on.  They are sort of unrelated to the core flow outlined here.

Received feedback that size and duration of the channel open request should be optional.  If left out it is up to the LSP to determine the appropriate size and duration of the channel.  The main use-case for this is flow is for LSP-intercept's where you want to dynamically determine the appropriate size and duration based on the user and/or amount being received.
For LSP-request it's a bit odd to leave them out but I guess in theory the LSP could offer the user some kind of 'default' channel for you to buy if you'd like.
Updated the proposal to reflect this change.

Two change requests have been made to this pull request. Here are the two links for documentation purposes:

Channel renewal
Remove orderId

What do you guys think of adding some JSON typedef / swagger/open api definition or something equivalent that can be used for code generation.
I think it can be helpful integration

What do you guys think of adding some JSON typedef / swagger/open api definition or something equivalent that can be used for code generation.
I think it can be helpful integration. im happy to work on it

What do you think about a proto file? It can also be used for automatic code generation using both grpc and REST. This is the way lnd works. We can also have both JSON typedef and proto file but then, we need to maintain the synchronization between them.

What do you guys think of adding some JSON typedef / swagger/open api definition or something equivalent that can be used for code generation.
I think it can be helpful integration. im happy to work on it

What do you think about a proto file? It can also be used for automatic code generation to both grpc and REST. This is the way lnd works. We can also have both JSON typedef and proto files but in this case, we need to maintain the synchronization between them.

yeah proto works as well. I think we just need to maintain one as its pretty easy to convert to other formats.


symbol lookup error

Description
I am trying to build and run this library: https://github.com/JRL-CARI-CNR-UNIBS/OpenMORE?tab=readme-ov-file, but I encounter this error.
Your environment

ROS Distro: [Noetic]
OS Version: e.g. Ubuntu 20.04

This looks like a library needs to be recompiled against latest rviz.


[TIR] Bugs in HoistIfThenElse

HoistIfThenElse is a pass currently not enabled in TVM. I tried to enable it in #5553, but there are too many bugs in this pass. Let's fix them first.
BUG 1: HoistIfThenElse transforms
for (n.inner, 0, 2) {
  for (o.inner, 0, 2) {
    if ((((threadIdx.y*2) + n.inner) < 2)) {
      if ((((threadIdx.z*2) + o.inner) < 4)) {
        if ((threadIdx.y < 1)) {
          if ((threadIdx.z < 2)) {
            tvm_store_matrix_sync(Conv.wmma.accumulator, 16, 16, 16, ((n.inner*2) + o.inner), tvm_access_ptr(type_annotation(), Conv, (((((threadIdx.y*401408) + (n.inner*200704)) + (blockIdx.z*1024)) + (threadIdx.z*512)) + (o.inner*256)), 256, 2), 16, "row_major")
          }
        }
      }
    }
  }
}

into
if ((((threadIdx.y*2) + n.inner) < 2)) {
  if ((threadIdx.y < 1)) {
    if ((threadIdx.z < 2)) {
      for (n.inner, 0, 2) {
        for (o.inner, 0, 2) {
          if ((((threadIdx.z*2) + o.inner) < 4)) {
            tvm_store_matrix_sync(Conv.wmma.accumulator, 16, 16, 16, ((n.inner*2) + o.inner), tvm_access_ptr(type_annotation(), Conv, (((((threadIdx.y*401408) + (n.inner*200704)) + (blockIdx.z*1024)) + (threadIdx.z*512)) + (o.inner*256)), 256, 2), 16, "row_major")
          }
        }
      }
    }
  }
}

Possible cause:
https://github.com/apache/incubator-tvm/blob/0e877521f454e239f5c44bb88e557801444d81a5/src/tir/pass/hoist_if_then_else.cc#L295
It only checks whether if_stmt has a preferred position, but that position is not guaranteed to be the current position. Change it to
if (if_position_map.count(if_stmt.get()) &&
    if_position_map.at(if_stmt.get()).as<ForNode>()->loop_var.get() == top_for_var) {

may solve the problem.
BUG 2: src/tir/transforms/split_host_device.cc want the IR to be an SSA form, where each variable can only be defined once. Since we are copying loops into both "then" branches and "else" branches, we have to rename the loop variables in "else" branches to be different from those in "then" branches. I have already written some code for this, see #5553.
BUG 3: IfThenElse nodes containing thread indices should not be hoisted over the definition of the indices. This would happen when Attr node for thread_extent is scheduled into the body of a For node, using a compute_at command. I have already written some code for this, see #5553.
BUG 4:
https://github.com/apache/incubator-tvm/blob/0e877521f454e239f5c44bb88e557801444d81a5/src/tir/pass/hoist_if_then_else.cc#L371
Look at this line. if_stmt can already been updated when running this line. Look at the example below.
for (i, 0, 10) {
  for (j, 0, 10) {
    for (k, 0, 10) {
      if ((i >= 3)) {
        if ((j >= 3)) {
          data[(((i*100) + (j*10)) + k)] = (data[(((i*100) + (j*10)) + k)] + 0.5f)
        }
      }
    }
  }
}

After hoisting j >= 3, if becomes
for (i, 0, 10) {
  for (j, 0, 10) {
    if ((j >= 3)) {
      for (k, 0, 10) {
        if ((i >= 3)) {
          data[(((i*100) + (j*10)) + k)] = (data[(((i*100) + (j*10)) + k)] + 0.5f)
        }
      }
    }
  }
}

Now, when we are hoisting i >= 3, we need to compare and remove
if ((i >= 3)) {
  if ((j >= 3)) {
    data[(((i*100) + (j*10)) + k)] = (data[(((i*100) + (j*10)) + k)] + 0.5f)
  }
}

But j >= 3 has been gone, so RemoveIf fails. We have to track the updating to IfThenElse just like what we did for For.
BUG 5: It is for tests this time.
https://github.com/apache/incubator-tvm/blob/0e877521f454e239f5c44bb88e557801444d81a5/tests/python/unittest/test_tir_pass_hoist_if.py#L175
Why do we expect a ('For', 'j') inside itself? As a potential problem, maybe we should change the variable names to prevent there are two is and two js.
These are all the bugs I found.
Beside, I suggest changing all the for (size_t i = 0; i < xxx.size(); i++) into for (size_t i = 0, n = xxx.size(); i < n; i++), since C++ compiler can't detect this loop invariant.
@kevinthesun Maybe you can have a look.

@kevinthesun it would be great if you can followup

@roastduck Thank you for bringing these up. This pass was tested only for limited number of cuda conv2d workloads, and not production ready yet. It would be great if you can help fix or improve this pass.

@roastduck would you be interested in taking over the pass?

I met some difficulties improving this pass. For now, I'm not going to take over it.
This pass massively utilizes low level semantics such as PostOrderVisit (instead of StmtExprMutator) and raw pointers to Object, and it relies on manually tracking the updates to these pointers, which is hard to understand. Maybe we should develop an improved StmtExprMutator, which can track the updates to the nodes.

We could certainly rewrite the pass completely, instad of the PostOrderVisit

Given that this pass is not product ready and we have not yet migrated this pass to the transform. Perhaps we can remove the pass for now, and then add it back once we have a better impl. Leaving the thread open for a week to see how would everyone think

https://github.com/apache/incubator-tvm/pull/5944 removes this pass for now.


[spec/memory-safe-d] Improve return attribute docs

Fix Bugzilla 24659 - Memory safe D page lacks information on return ref.
Reword return scope docs (before this was just listed as return).
Move sentence about constructor return attribute after method attribute.

@dkorpel is this enough? It doesn't seem to be.

I added a link rather than repeat examples - this page doesn't have examples for return scope either.

is this enough

Honestly most of the memory safety page is redundant specification-wise, it's mostly informative.


Enable AI on web app

Resource Provider
Microsoft.Insights
Description of Feature or Work Requested
We add all functionalities in AI commands instead of in web app commands for APM 2.1.
az monitor app-insights connect –resource resource-id-for-webapp –enable-profiler –enable-debugger-collect-callstack –enable-debugger-show-local-variables
We’ll tell users that –enable-profiler/debugger are currently only supported for .NET/.NET Core Web Apps in help document.
Minimum API Version Required

Swagger Link

Target Date

for ignite


website of uku.js always shown as “loadig”

I've already opened VPN

Hi Bloom， could you check your network again？Ukulele.js official website is running on the github.io server, it works well for me.

Well, it works well at the moment.


RFC: Dropping support for IE10

I'm thinking of dropping support for IE10, according to Can I Use IE10 usage worldwide dropped to 0.03%. By dropping support for it we can simplify a few methods and potentially make them slightly faster.
Thoughts?

Also I just recently managed to squeeze the minified and gzipped version of our bundle down to 5010 bytes, but I don't see any non crazy ways to squeeze 11 more bytes out and bring the library's size back below 5000 bytes, dropping support for IE10 will surely help achieve this silly goal.

Yes. IE10 is dead.
Keep in mind that this change would require a new major release (i.e. it's breaking)

IE10 is no longer supported: https://github.com/kenwheeler/cash/commit/a58e5799019e0b911ea830a64de78f26391a568e


Create programming script + UI

Copy from https://github.com/AEFeinstein/Super-2022-Swadge-FW/tree/master/pyFlashGui, then improve

Done in https://github.com/AEFeinstein/Super-2023-Swadge-FW/pull/104


FlightSQL: Add helpers to create CommandGetSqlInfo responses (SqlInfoValue and builders)

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
FlightSQL has several metadata APIs for a server to report its capabilities to the client. One such API is the CommandGetSqlInfo message that requires creating a DenseUnion (which is somewhat inconvenient in the Rust API):
https://github.com/apache/arrow/blob/f9324b79bf4fc1ec7e97b32e3cce16e75ef0f5e3/format/FlightSql.proto#L32-L43
@roeap  noted in https://github.com/apache/arrow-rs/pull/4250#issuecomment-1556724021 that some of the existing work we did in IOx could be used by other rust projects implementing FlightSQL:
https://github.com/influxdata/influxdb_iox/blob/31b881376057bf7e50381519c4f5c9e15c1aee33/flightsql/src/sql_info/mod.rs
Describe the solution you'd like

Create a builder for SqlInfoValue responses in the arrow-rs flightsql implementation: https://github.com/apache/arrow-rs/tree/master/arrow-flight/src/sql
Add tests and docstrings showing how to use this builder
Update the example server https://github.com/apache/arrow-rs/blob/e2b9b1afebd45ab0dcdef260d662733bb3ac7d82/arrow-flight/examples/flight_sql_server.rs#L268-L276 to use this SqlInfoBuilder

I suggest following the model / copying code from IOx's SqlInfoList and SqlInfoValue
Describe alternatives you've considered

Additional context
Marking this as a good first issue as it is well specified and the implementation already exists for inspiration

I made a PR with some more docs and tests: https://github.com/apache/arrow-rs/pull/4293

label_issue.py automatically added labels {'arrow'} from #4266


Prep for 0.8.2next

Reset values/tags ready for the next release, as per RELEASE-HOWTO.md

Travis checks for this PR passed. Clicking on details on either of them shows them as green. I guess Travis failed to post results back here.

Will try closing and reopening PR to see if Travis re-triggers.


Implement SEP 14

We expect SEP 14 to pass (https://github.com/SynBioDex/SEPs/blob/master/sep_014.md)

Can this be closed because SEP 14 was withdrawn?

Yes


Genuary page does not include linked media from Genuary threads

What happened?
The pinned messages of each genuary thread are automatically checked for media, but the process does not consider that submissions may be embedded links (cdn.discordapp, imgur.com, etc) to media (mp4, gif, etc) rather than a direct Discord attachment. As a result, some Genuary submissions are missing from the Genuary page.

Problem
This is caused by a couple of if-statements in need of refactoring!
https://github.com/EthanThatOneKid/acmcsuf.com/blob/cfb616e655f2a70b284e6f7b8426bf32c15eb4b7/scripts/transform-genuary.js#L10-L17
Solution
Add a function to gather the URLs.
function getURLs(str, validDomains) {
  const regex = /(https?:\/\/[^\s]+)/g; // Regular expression to match URLs
  const urls = str.match(regex) || []; // Extract URLs from the string

  return urls.filter(url => { // Filter the list of URLs
    const domain = url.match(/https?:\/\/([^/]+)/)[1]; // Extract the domain from the URL
    return validDomains.includes(domain); // Return true if the domain is in the list of valid domains
  });
}

Get the media-associated URLs from each message. Check that the media-associated message URLs length is greater than 0 if the message attachments are null or the message attachments length is 0.


Minor tweaks

https://docs.gradle.org/7.0.1/release-notes.html#file-system-watching

Merged, thanks!


QtWebEngine instead of QtWebKit ?

I saw that QtWebKit which provide the headless browser for PhantomJS is outdated. QtWebEngine is the new way to go which is developed heavilly. When I now look at the compat table for PJS I saw arround 10% for ES6 and wondering how this could work in the future. Isn't it a good idea to switch to the future proof technology? Or what is your motivation for the future with PS before it uses very outdated technologies?
And I have an additional question: I know a lot of WebKit functionality is implemented by the browser. But which steps are needed to upgrade to support the ES6 syntax?

I understand QtWebEngine is missing some key APIs. There was some discussion about switching to Chromium Embedded Framework. Not sure where that is at.
Your best bet with Phantom and ES6 might be to use a transpiler 1,2 and generate ES5.

I think you should read our mailing list about moving to Chromium.
But I'll write them here. Right now we are working on bringing new and latest WebKit. This is our primary goal. This update will close 95% of our issues and will deliver cool and modern features to users.
Moving to Chromium is impossible at the moment. Google is working on a headless shell and this shell is far from complete. We can't move to it. But we don't drop it from our plans.

Great news, thanks for the clarification.

Switching to QtWebEngine/Chromium is a monumental amount of work. Consider the situation, it's not likely going to happen in the near future. Meanwhile, track the progress of modernizing PhantomJS in #14458.


xCode 11.4 / Swift 5.2 crashes on parsing PublicKey in simulators and <= iOS 12

The following code crashes on Simulators and my iOS12.4 iPhone 6when built with xCode 11.4, but works ok on xCode 11.3.
Does not seem to crash on iOS 13.4.
let p256PrivateKey = try! ECPrivateKey.make(for: .prime256v1)    print(p256PrivateKey.pemString)    publicKey = try! p256PrivateKey.extractPublicKey()    print(publicKey.pemString)
Error is happening at this line:
guard let secKey = SecKeyCreateWithData(keyData as CFData,                                                     [kSecAttrKeyType: kSecAttrKeyTypeECSECPrimeRandom,                                                      kSecAttrKeyClass: kSecAttrKeyClassPublic] as CFDictionary,                                                      &error)
Error:
objc[1049]: Class _TtGCs18_DictionaryStorageaSo11CFStringRefS0__$ is implemented in both /usr/lib/swift/libswiftCore.dylib (0x1c1d492d8) and /usr/lib/swift/libswiftCore.dylib (0x1c1d495e8). One of the two will be used. Which one is undefined. Fatal error: invalid unsafeDowncast

Exactly same issue here.

I've imported the project manually (without pods), and it works at the moment.

I saw a similar problem with Xcode 12.2 compiling for macOS. Strange thing was, it worked fine in Debug builds, but it crashed with builds for Profiling or Release. Mine is crashing when parsing the PublicKey, but otherwise looks to be the same core problem:
guard let secKey = SecKeyCreateWithData(keyData as CFData,
                                        [kSecAttrKeyType: kSecAttrKeyTypeECSECPrimeRandom,
                                         kSecAttrKeyClass: kSecAttrKeyClassPublic] as CFDictionary,
                                         &error)

This looks like the relevant part of the stack trace:
Application Specific Information:
Fatal error: invalid unsafeDowncast: file /AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-1<IP_ADDRESS>/swift/stdlib/public/core/Builtin.swift, line 235

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libswiftCore.dylib            	0x00007fff6bfe21e1 closure #1 in closure #1 in closure #1 in _assertionFailure(_:_:file:line:flags:) + 529
1   libswiftCore.dylib            	0x00007fff6bfe1cf7 closure #1 in closure #1 in _assertionFailure(_:_:file:line:flags:) + 87
2   libswiftCore.dylib            	0x00007fff6bfe19c3 closure #1 in _assertionFailure(_:_:file:line:flags:) + 99
3   libswiftCore.dylib            	0x00007fff6bfe15d5 _assertionFailure(_:_:file:line:flags:) + 533
4   libswiftCore.dylib            	0x00007fff6bfe18b0 _fatalErrorMessage(_:_:file:line:flags:) + 32
5   libswiftCore.dylib            	0x00007fff6c24d4a3 specialized _NativeDictionary.bridged() + 355
6   libswiftCore.dylib            	0x00007fff6c02a06f _NativeDictionary.bridged() + 15
7   co.tinywins.Recut             	0x0000000109087a73 specialized ECPublicKey.init(der:) + 1059 (ECPublicKey.swift:144)
8   co.tinywins.Recut             	0x0000000109087224 ECPublicKey.__allocating_init(key:) + 836 (ECPublicKey.swift:93)
9   co.tinywins.Recut             	0x00000001090d54c2 BlueECVerifier.verify(signature:for:) + 530 (BlueECDSA.swift:99)
10  co.tinywins.Recut             	0x00000001090d5281 BlueECVerifier.verify(jwt:) + 577 (BlueECDSA.swift:84)
11  co.tinywins.Recut             	0x00000001090d56e0 protocol witness for VerifierAlgorithm.verify(jwt:) in conformance BlueECVerifier + 16
12  co.tinywins.Recut             	0x00000001090e5e3b static JWT.verify(_:using:) + 59 (JWT.swift:108)

I don't see the same "One of the two will be used" warning like the OP, but that definitely feels like a build issue. The comment about switching away from pods made me curious, so I switched from installing from a Podfile to using Package.swift, and that fixed the problem!
Maybe it was some kind of library mismatch or something. Hope this helps if anyone else stumbles across the same issue.


Not loading with Home Assistant

Install HCAS Add-on, and configured config file, but no luck on reboot.
/config/configuration.yaml
sengledapi:
username<EMAIL_ADDRESS>password: password
country: us
wifi: true
Logs:
Logger: homeassistant.util.async_
Source: util/async_.py:157
First occurred: 8:54:07 AM (1 occurrences)
Last logged: 8:54:07 AM
Detected blocking call to putrequest inside the event loop. This is causing stability issues. Please report issue to the custom component author for sengledapi doing blocking calls at custom_components/sengledapi/sengledapi/devices/request.py, line 40: r = requests.post(self._url, headers=self._header, data=self._payload)
Logger: homeassistant.setup
Source: util/async_.py:168
First occurred: 8:54:07 AM (1 occurrences)
Last logged: 8:54:07 AM
Error during setup of component sengledapi
Traceback (most recent call last):
File "/config/custom_components/sengledapi/sengledapi/sengledapi.py", line 253, in async_do_request
return await Request(url, payload).async_get_response(jsessionId)
File "/config/custom_components/sengledapi/sengledapi/devices/request.py", line 57, in async_get_response
data = await resp.json()
File "/usr/local/lib/python3.9/site-packages/aiohttp/client_reqrep.py", line 1103, in json
raise ContentTypeError(
aiohttp.client_exceptions.ContentTypeError: 0, message='Attempt to decode JSON with unexpected mimetype: ', url=URL('https://element.cloud.sengled.com/zigbee/device/getDeviceDetails.json')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 235, in _async_setup_component
result = await task
File "/config/custom_components/sengledapi/init.py", line 64, in async_setup
sengledapi_devices = await sengledapi_account.async_get_devices()
File "/config/custom_components/sengledapi/sengledapi/sengledapi.py", line 182, in async_get_devices
data = await self.async_do_request(url, payload, SESSION.jsession_id)
File "/config/custom_components/sengledapi/sengledapi/sengledapi.py", line 255, in async_do_request
return Request(url, payload).get_response(jsessionId)
File "/config/custom_components/sengledapi/sengledapi/devices/request.py", line 40, in get_response
r = requests.post(self._url, headers=self._header, data=self._payload)
File "/usr/local/lib/python3.9/site-packages/requests/api.py", line 117, in post
return request('post', url, data=data, json=json, **kwargs)
File "/usr/local/lib/python3.9/site-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python3.9/site-packages/requests/sessions.py", line 529, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.9/site-packages/requests/sessions.py", line 645, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.9/site-packages/requests/adapters.py", line 440, in send
resp = conn.urlopen(
File "/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 703, in urlopen
httplib_response = self._make_request(
File "/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 398, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/usr/local/lib/python3.9/site-packages/urllib3/connection.py", line 239, in request
super(HTTPConnection, self).request(method, url, body=body, headers=headers)
File "/usr/local/lib/python3.9/http/client.py", line 1285, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/local/lib/python3.9/http/client.py", line 1296, in send_request
self.putrequest(method, url, **skips)
File "/usr/local/lib/python3.9/site-packages/urllib3/connection.py", line 219, in putrequest
return HTTPConnection.putrequest(self, method, url, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/util/async.py", line 180, in protected_loop_func
check_loop(func, strict=strict)
File "/usr/src/homeassistant/homeassistant/util/async.py", line 168, in check_loop
raise RuntimeError(
RuntimeError: Blocking calls must be done in the executor or a separate thread; Use await hass.async_add_executor_job(); at custom_components/sengledapi/sengledapi/devices/request.py, line 40: r = requests.post(self._url, headers=self._header, data=self._payload)

Check your username and password

I am having a very similar issue, after following the same steps. Installed HCAS Add-on, and configured config file with a username and password that I just confirmed to be working in the Sengled app. Here is the error I am getting which seems to be the same as above.
=========================================================================================
2022-07-04 02:11:39 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration sengledapi which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-07-04 02:11:39 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-07-04 02:11:39 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration leafspy which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-07-04 02:11:59 WARNING (MainThread) [homeassistant.setup] Setup of input_boolean is taking over 10 seconds.
2022-07-04 02:11:59 WARNING (MainThread) [homeassistant.setup] Setup of zone is taking over 10 seconds.
2022-07-04 02:11:59 WARNING (MainThread) [homeassistant.setup] Setup of counter is taking over 10 seconds.
2022-07-04 02:11:59 WARNING (MainThread) [homeassistant.setup] Setup of sengledapi is taking over 10 seconds.
2022-07-04 02:11:59 WARNING (MainThread) [homeassistant.setup] Setup of input_button is taking over 10 seconds.
2022-07-04 02:11:59 WARNING (MainThread) [homeassistant.setup] Setup of input_number is taking over 10 seconds.
2022-07-04 02:11:59 WARNING (MainThread) [homeassistant.setup] Setup of input_text is taking over 10 seconds.
2022-07-04 02:11:59 WARNING (MainThread) [homeassistant.setup] Setup of input_select is taking over 10 seconds.
2022-07-04 02:11:59 WARNING (MainThread) [homeassistant.setup] Setup of timer is taking over 10 seconds.
2022-07-04 02:11:59 WARNING (MainThread) [homeassistant.setup] Setup of application_credentials is taking over 10 seconds.
2022-07-04 02:11:59 WARNING (MainThread) [homeassistant.setup] Setup of input_datetime is taking over 10 seconds.
2022-07-04 02:11:59 WARNING (MainThread) [homeassistant.components.sensor] Setup of sensor platform hassio is taking over 10 seconds.
2022-07-04 02:11:59 WARNING (MainThread) [homeassistant.components.binary_sensor] Setup of binary_sensor platform hassio is taking over 10 seconds.
2022-07-04 02:12:02 WARNING (MainThread) [homeassistant.util.async_] Detected blocking call to putrequest inside the event loop. This is causing stability issues. Please report issue to the custom component author for sengledapi doing blocking calls at custom_components/sengledapi/sengledapi/devices/request.py, line 40: r = requests.post(self._url, headers=self._header, data=self._payload)
2022-07-04 02:12:02 ERROR (MainThread) [homeassistant.setup] Error during setup of component sengledapi
Traceback (most recent call last):
File "/config/custom_components/sengledapi/sengledapi/sengledapi.py", line 253, in async_do_request
return await Request(url, payload).async_get_response(jsessionId)
File "/config/custom_components/sengledapi/sengledapi/devices/request.py", line 57, in async_get_response
data = await resp.json()
File "/usr/local/lib/python3.9/site-packages/aiohttp/client_reqrep.py", line 1103, in json
raise ContentTypeError(
aiohttp.client_exceptions.ContentTypeError: 0, message='Attempt to decode JSON with unexpected mimetype: ', url=URL('https://element.cloud.sengled.com/zigbee/device/getDeviceDetails.json')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 235, in _async_setup_component
result = await task
File "/config/custom_components/sengledapi/init.py", line 64, in async_setup
sengledapi_devices = await sengledapi_account.async_get_devices()
File "/config/custom_components/sengledapi/sengledapi/sengledapi.py", line 182, in async_get_devices
data = await self.async_do_request(url, payload, SESSION.jsession_id)
File "/config/custom_components/sengledapi/sengledapi/sengledapi.py", line 255, in async_do_request
return Request(url, payload).get_response(jsessionId)
File "/config/custom_components/sengledapi/sengledapi/devices/request.py", line 40, in get_response
r = requests.post(self._url, headers=self._header, data=self._payload)
File "/usr/local/lib/python3.9/site-packages/requests/api.py", line 117, in post
return request('post', url, data=data, json=json, **kwargs)
File "/usr/local/lib/python3.9/site-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python3.9/site-packages/requests/sessions.py", line 529, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.9/site-packages/requests/sessions.py", line 645, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.9/site-packages/requests/adapters.py", line 440, in send
resp = conn.urlopen(
File "/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 703, in urlopen
httplib_response = self._make_request(
File "/usr/local/lib/python3.9/site-packages/urllib3/connectionpool.py", line 398, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/usr/local/lib/python3.9/site-packages/urllib3/connection.py", line 239, in request
super(HTTPConnection, self).request(method, url, body=body, headers=headers)
File "/usr/local/lib/python3.9/http/client.py", line 1285, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/local/lib/python3.9/http/client.py", line 1296, in send_request
self.putrequest(method, url, **skips)
File "/usr/local/lib/python3.9/site-packages/urllib3/connection.py", line 219, in putrequest
return HTTPConnection.putrequest(self, method, url, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/util/async.py", line 180, in protected_loop_func
check_loop(func, strict=strict)
File "/usr/src/homeassistant/homeassistant/util/async.py", line 168, in check_loop
raise RuntimeError(
RuntimeError: Blocking calls must be done in the executor or a separate thread; Use await hass.async_add_executor_job(); at custom_components/sengledapi/sengledapi/devices/request.py, line 40: r = requests.post(self._url, headers=self._header, data=self._payload)

You will need to turn on debug for the addon. Also it looks very similar to https://github.com/jfarmer08/ha-sengledapi/issues/73

Issues was bad password, thank you for your add-on!! Makes a bad purchase work for me, should have got the Zigbee lights.

No problem


Spelling variations

Summary
Need to utilize new spelling_variations column in the Google Sheet.
Additional info
At some point, we should probably refactor to use the NLP library that Stephanie recommended.
I don't think it's important to break down the results by which spelling variations were used. Can just aggregate all the results for all variations by and label it by what's in the keyword column.

one word or two words are supported

I'm working on this now but my current understanding is that we will / should not use nltk for the spelling variations part of things. The reason is that we basically have 2 options starting out when it comes to getting raw text from zulip:
a. Get all the data from Zulip, then parse it.
b. Use Zulip's endpoints and query features to query certain keywords, on certain streams, etc.
We've went with (b). I think this is actually the better option simply because Zulip has a rate limit for how much we can query.


Android: Controller Extension swallows bluetooth keyboard events

Issue details
If the controller extension is added to a libgdx project and a bluetooth keyboard is used on Android, it cannot be used with the libGDX application.
Reproduction steps/code
AndroidControllers registers a keylistener on AndroidInput that swallows all events coming from devices that it recognizes as a game controller.
AndroidInput.java
    public boolean onKey (View v, int keyCode, android.view.KeyEvent e) {
    	for (int i = 0, n = keyListeners.size(); i < n; i++)
    		if (keyListeners.get(i).onKey(v, keyCode, e)) return true;
       ...

The check if a device is a controller is the following from
AndroidControllers.java:
     private boolean isController(InputDevice device) {
      	return (device.getSources() & InputDevice.SOURCE_JOYSTICK) != 0;
    }

Unfortunately, every keyboard has this bit set because every keyboard has a dpad.
The following check must be added to improve the recognitation:
    private boolean isController(InputDevice device) {
    	return ((device.getSources() & InputDevice.SOURCE_JOYSTICK) != 0
                      && device.getKeyboardType() != InputDevice.KEYBOARD_TYPE_ALPHABETIC;
    }

Version of LibGDX and/or relevant dependencies
All
Please select the affected platforms

[X] Android

Unfortunately, the issue seems to be a bit more complex than that. I have 2 controllers reporting KEYBOARD_TYPE_ALPHABETIC (one of them actually has a full QWERTY keyboard on the face of the controller) so these wouldn't work with the added check.
I have compiled a Google spreadsheet with some of the devices I had around the house. This should prove useful to figure out a definitive solution.

Turns out, once I've given a good look at the compiled results it wasn't that hard to find a pattern.
This is the code I ended up with:
	private boolean isController(InputDevice device) {
		Gdx.app.log("device.getSources", Integer.toString(device.getSources()));
		Gdx.app.log("device.getKeyboardType", Integer.toString(device.getKeyboardType()));
		return ((device.getSources() & InputDevice.SOURCE_CLASS_JOYSTICK) == InputDevice.SOURCE_CLASS_JOYSTICK)
				&& (((device.getSources() & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD)
					|| (device.getKeyboardType() != InputDevice.KEYBOARD_TYPE_ALPHABETIC));
	}

The only device that still mistakenly reports as a controller is my old Microsoft Internet Keyboard Pro. (The keyboard portion doesn't get detected as a controller actually, only the media buttons portion.) I doubt there's going to be that many people trying to play Android games with an odd keyboard from 2001 anyway.
I'm going to do a few more tests, and if all goes well I'll submit a PR. I would like the keyboard keys on my keyboard gamepad to not register as controller buttons when pressed if possible (although there's something interesting about having a 50-buttons gamepad) and I've also noticed that the trackpad on the Ouya controller gets interpreted as movements in the left stick.

For getting both to work on a mixed device, a way to go is to not leave the processing in onKey if the pressed button is a "normal" keyboard key, media or Android button. That would be very desirable because many controllers have media buttons and the wide-spread Amazon FireTV controller has default Android menu/back buttons which are not working at the moment.
Of course, the difficult part here is the distinguish if the pressed button is such a key or a controller button.

Besides, perhaps you also want to check for analog Axis:
((device.getSources() & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD                 || (device.getSources() && InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK)

If you look at my spreadsheet, you will notice that almost every device is a InputDevice.SOURCE_JOYSTICK, including keyboards and even some mice. The current method uses (device.getSources() & InputDevice.SOURCE_JOYSTICK) != 0 which is the functinal equivalent of ((device.getSources() & InputDevice.SOURCE_CLASS_JOYSTICK) == InputDevice.SOURCE_CLASS_JOYSTICK).

Are you sure that it is functional equivalent?
Anyway, you are right that I got confused, the current method uses SOURCE_JOYSTICK. Your check now is better than the one before, so we have an improvement.

Are you sure that it is functional equivalent?

Yes, if something is SOURCE_CLASS_JOYSTICK but not SOURCE_JOYSTICK, the & check will return 16 which is the constant value for SOURCE_CLASS_JOYSTICK, so comparing it to !=0 gives the same result as the check I made.