ARTEMIS-1270 Management Console - Hawtio Solution

WIP - Just for review

@clebertsuconic see i make two commits, one for my work solely (aka setting up and also the activemq brand plugin) and then another for the artemis-plugin noting Andy T as author, to give correct authorship acknowledgement.

re mail thread bits, addressed:
point 1) - url path changed from /hawtio/ to /console/
point 8) fuse properties renamed.

addressed:
3) simply removed the feature/tab (isn't required)
4) dashboard is now just a jvm default (no camel)
5) simply removed
9) war is now slimmed down to: 14.7mb, almost same size as acitvemq 5's

just one request here.. don't leave master on an intermediate state this week.. I want to release before end of this week / early next week as I sent the heads up earlier.
We can merge this now if we're sure it's ready.. otherwise lets wait till next week.

Oh don't merge yet!

As PR states is WIP , is just to give visibility to all

section overlaid with references to other products removed.
with the reduction of the war and removal of features, this seems to no longer be generated
about page now fully customised with wording coming from https://activemq.apache.org/artemis/, a small powered by is also added, as well as version section now including artemis version

7 - custom help, with iframe loading the artemis docs (note would be nicer if we had an alias on the web for https://activemq.apache.org/artemis/docs/LATEST so we don't have to code in the link version)

@clebertsuconic i think I've address'ed now 1-9 on the list Dan gave. Only bit left is adding/updating artemis LICENSE/NOTICE.
Whats the process on this.
Is it manual or is it automated, who needs to verify it?
After this the only last bit is aligning up the login (so don't have to bypass)

Update on 7) made it use the local user-guide available.

here is list of packaged code/content/jars etc, and their licenses
commons-codec-1.10.jar,ASL
commons-fileupload-1.3.2.jar,ASL
commons-io-2.2.jar,ASL
commons-logging-1.0.3.jar,ASL
hawtio-core-1.5.0.jar,ASL
hawtio-git-1.5.0.jar,ASL
hawtio-system-1.5.0.jar,ASL
hawtio-util-1.5.0.jar,ASL
httpclient-4.5.2.jar,ASL
httpcore-4.4.4.jar,ASL
jolokia-core-1.3.5.jar,ASL
json-simple-1.1.1.jar,ASL
org.osgi.core-4.3.0.jar,ASL
org.osgi.enterprise-4.2.0.jar,ASL
slf4j-api-1.7.21.jar,ASL
code licenses (some have seperate CCYB licenses for docs, but only code is packaged/redistributed up)
angular,MIT
colreorder, BSD (3 point)
cubism, ASL
dagre, MIT License
dangle, MIT
dozerXXX, ASL (hawtio)
elastic, MIT
gnatt-chart-d3, ASL
hawtio-plugin-loader ASL (hawtio)
html5shiv, MIT
jolokia, ASL
jquery, MIT
jsonschema.js, MIT
jsuri, MIT
KeyTable, BSD
less, ASL
loggingInit (hawtio)
marked, MIT
metrics-watcher ASL
mvGraphs (hawtio)
ng-grid, MIT
prefixfree, MIT
rainbow, ASL (covers also all pattern js under language folder)
sugar, MIT
toastr, MIT
bootstrap, MIT
uri.js, MIT
zeroclipboard, MIT
codemirror, MIT
D3, BSD clause 3
font-awesome, MIT
js-logger, MIT
underscore, MIT

@clebertsuconic or anyone can you let me know or point me in the direction what I need to do re Artemis's license/notice files for each of the license types. To meet ASF rulings.
ASL
MIT
BSD clause 3

From here:
http://www.apache.org/legal/resolved.html#category-a
We just have to list the components and the license and point to the location of the dependency in LICENSE
It's seems there is no need to touch NOTICE file for these licenses.
Can this be confirmed?

now includes updated LICENSE file updated for the above licenses not under ASL, it seems none require any NOTICE update.

On back of Dan's comment if we can further reduce the size of the war.
Rather than spending the effort in a complex and hard to maintain overlay, i thought i would see what is actually the high% of usages, so i ran daisy disk over to find the usage:
40% is bower components (all needed - bootstrap, d3 etc)
20% is app, but within that app.js the main js at 50% and 40% is theme/fonts (which are used)
15% is WEB-IF all used
10% is lib all used
I think trying to single out a few things will bring little return will just bring un-needed complexity, i would not go this route, and accept the war is the most sensible size without going down the diminishing returns route.

@clebertsuconic @mtaylor  I think this is nearing ready for merge. I will want to quickly catch up with you both maybe IRC on monday?, as need to discuss something.

You think it would be good on the release ?  How much work to get the authentication working ?
Or ready to merge but not release.
We can talk on Monday.  I'm not doing much coding this weekend.

@clebertsuconic if we can sort authentication, yes. This is what I'd like to speak to you and @mtaylor on.

@clebertsuconic i believe I've sorted the security, so if secure and admin role you can login. It be still good to catchup with yourself and @mtaylor on IRC later today privately quickly.

Rebased post 2.2.0 tagging, also updated logo with new logo.

@michaelandrepearce small tweak, can you add a link to the console on the main index?
When you go to localhost you see this list:

API
User Manual
Hacking Guide
Examples
Apache ActiveMQ Artemis Website

it would be useful having the webconsole as the first link here.

@clebertsuconic added, also re-skinned slightly so colour/theme match new logo a little better.

looks good, altho I had to tweak the build by adding
'/overlays/'
to the rat plugin

You get that if your ide generates overlay. If you just use maven , maven cleans up, I saw same thing with intellij.
We can add that to the ignores and we should add it to git ignore also I guess to avoid people accidentally checking in

pushed gitignore and rat exclusion for the build time generated overlays dir ide's create.

I've just managed to get round to review this.  I've been through all the source files, both in this and the original project to ensure everything is properly licensed.  The original project was not properly licensed.  It is now and I think we can safely merge this.
Great work on this @michaelandrepearce.  There are several improvements I think we can make, such as those raised by Dan and some of my own ideas around styling etc...  But these can be done at a later date.  We can't expect the console to be 100% perfect straight away.  Let's get this merged and we can all work on the improvements.
Thanks!

I will merge this then.

+1 merging, once current tag in flight is done, just quickly to confirm we agreed we'd immediately re-tag with the console in so we can get end user feedback asap. @mtaylor you still ok with running with that?

There are a few tasks that would be nice to be in a release as well.  I would do a short cycle including not only this.


Allow FST builder to use different writer (#12543)

Description
Split the scratch byte operations inside BytesStore out of FSTWriter and allow the writer to be configurable from FSTCompiler.Builder. Those operations are for building the frontier node. Only the final bytes will be written to the FSTWriter. The Builder will still maintain bytesPageBits(int) for backward-compatibility, in which it will pass the BytesStore.
Also extract the saving of metadata as a standalone method, as there can be use case where some already saved the FST to a DataOutput when building and only need to save the metadata here.
Issue: https://github.com/apache/lucene/issues/12543
The FST produced by this DataOutput-backed FST is not readable directly, and users need to construct a corresponding DataInput and pass it to the FST public constructor. In short the FSTCompiler only compile the FST but not read it.
The write-then-read-immediately use case is still supported with BytesStore, but all logic is routed to the new DataOutputFSTWriter, so it would be easier to drop the support later if needed.

(A small note: Tantivy use a value-based LRU cache with 2-item bucket, items will be evicted per bucket: https://github.com/BurntSushi/fst/blob/a0936e9b25a888a0d5b9f94b91997216253e7088/src/raw/registry.rs#L76-L90)

There is one thing that baffled me is that we are writing the metadata, including the numBytes & start node in the beginning of the DataOutput. That means once the FST is completed, we can't write the metadata to the same DataOutput as the main body, we have to write it to a different DataOutput (that's why I added a method to just write the metadata).
Wondering if it makes sense to write the metadata on the end of the DataOutput (and also read from the end) instead.

@mikemccand I put out another revision. Basically the idea is to write everything to a DataOutput (BytesStore is also a DataOutput). To support write-then-read-immediately use case that we are able to do today, if the DataOutput implements the FSTReader then we will use it to read. Otherwise we are following a general use case, which is to use the FST public constructor to read from previously compiled one. Let me know what you think.

Seems like this PR is getting long, so I spawned 2 PR out of it:

https://github.com/apache/lucene/pull/12814: Simplify BytesStore operations (which was changed to GrowableByteArrayDataOutput in this PR)
https://github.com/apache/lucene/pull/12802: Remove the size() method in FSTReader

I've taken a look - I think this class should be kept package-private (or even class-private). It is a DataOutput but it serves very specific purposes (with the unusual methods to move the write pointer at random, expand the underlying buffer, etc.).
I also changed the implementation to use OutputStreamDataOutput [1] but it's not any more elegant than written explicitly, so please disregard that suggestion.
[1] baos.patch

I've taken a look - I think this class should be kept package-private (or even class-private). It is a DataOutput but it serves very specific purposes (with the unusual methods to move the write pointer at random, expand the underlying buffer, etc.).

I think that makes sense. Maybe let keep it package-private so that it can be unit-tested?

I also changed the implementation to use OutputStreamDataOutput [1] but it's not any more elegant than written explicitly, so please disregard that suggestion.

Thank you for giving it a try!

Package-private is fine, I think.

Hmm I'm running Test2BFSTs on this patch and noticed it seems to take very much longer during the TEST: now verify step where it confirms the built FST accepts all the inputs it just compiled into it.
I jstack'd it and found this:
   java.lang.Thread.State: RUNNABLE
        at java.nio.ByteBuffer.position(java.base@17.0.9/ByteBuffer.java:1516)
        at java.nio.ByteBuffer.position(java.base@17.0.9/ByteBuffer.java:267)
        at java.nio.Buffer.<init>(java.base@17.0.9/Buffer.java:246)
        at java.nio.ByteBuffer.<init>(java.base@17.0.9/ByteBuffer.java:288)
        at java.nio.HeapByteBuffer.<init>(java.base@17.0.9/HeapByteBuffer.java:95)
        at java.nio.HeapByteBufferR.<init>(java.base@17.0.9/HeapByteBufferR.java:102)
        at java.nio.HeapByteBufferR.duplicate(java.base@17.0.9/HeapByteBufferR.java:135)
        at java.nio.HeapByteBufferR.asReadOnlyBuffer(java.base@17.0.9/HeapByteBufferR.java:148)
        at org.apache.lucene.store.ByteBuffersDataInput.<init>(ByteBuffersDataInput.java:60)
        at org.apache.lucene.store.ByteBuffersDataOutput.toDataInput(ByteBuffersDataOutput.java:279)
        at org.apache.lucene.util.fst.ReadWriteDataOutput.getReverseBytesReader(ReadWriteDataOutput.java:52)
        at org.apache.lucene.util.fst.FST.getBytesReader(FST.java:1181)
        at org.apache.lucene.util.fst.Util.get(Util.java:50)
        at org.apache.lucene.util.fst.Test2BFST.test(Test2BFST.java:113)

It looks like getting the reversed reader has maybe become quite a bit more expensive than BytesStore was?
Note that Test2BFSTs is quite silly -- it uses Util.get for every lookup, instead of pulling and reusing a ReverseBytesReader like most "real" usages of FST (e.g. terms dict) will do.  So perhaps this performance change doesn't really matter in practice?  Though I wonder if all consumers of FST are re-using their reversed readers?

Hmm, also the FSTCompiler.ramBytesUsed() seems to no longer return the growing FST size:
  1> 3100000: 560 bytes; 594876500 nodes
  1> 3200000: 560 bytes; 614066389 nodes

vs 9.x output:
  1> 3100000:<PHONE_NUMBER> bytes; 594876036 nodes
  1> 3200000:<PHONE_NUMBER> bytes; 614066120 nodes

Hmm, also oddly -- why do the number of nodes differ between main and 9.x?  This PR should not have altered how many nodes are created as a function of FST inputs right?  Or maybe how the RAM accounting is done for NodeHash changes a bit, causing a slightly larger FST on main than 9.x?  So many WTFs ("wow that's funny") suddenly :)

Ah I think since we removed the finish(), getting the reverse bytes reader is expectedly slower. We have to copy the bytes to a readonly buffer every time. If this is a problem maybe let try to add the finish() again? WDYT
The ram bytes used is an easy fix. I'll change it in next rev.
The difference in number of nodes is interesting. Lwt me look deeper. But did the 9.x you are testing has incorporated the value-based node hash?

I checked some of the usage in the analysis module. SynonymGraphFilter cache the BytesReader on constructor, and I think TokenFilter by default are cached per field? But lots of other places does not have this cache, such as:

Stemmer
GeneratingSuggester
...

I think the main bottleneck are the non-trivial creation of the BufferList (in toBufferList or toWritableBufferList) and the ByteBufferDataInput.
In the worst case, how do you think about reviving the BytesStore (with a much simpler implementation as it does have the scratch bytes operation)? Or alternatively, we could create a reusable block-based byte array DataOutput (not sure if there's already something like that).

Tested Test2BFST with -Dtests.seed=D193E7FD4B9E68C4
mainline
1100000: 432584968 RAM bytes used; 432367203 FST bytes; 211082699 nodes; took 248 seconds

pr
1100000: 432427020 RAM bytes used; 432367203 FST bytes; 211082699 nodes; took 236 seconds

9_x
1100000: 432584968 RAM bytes used; 432367203 FST bytes; 211082699 nodes; took 260 seconds

The FST size, number nodes are exactly the same, while the running time doesn't seem to differ much (running with my personal computer so the background process could be noisy).

Thanks @dungba88 -- I will catch up with the latest iterations soon.  I tested just how much slower the ByteBuffer based store is than the FST's BytesStore:
9.x:
  1> TEST: now verify [fst size=5368709408; nodeCount=2252341463; arcCount=2264078568]
  1> 144.4s 0...
  1> 150.7s 1000000...
  1> 157.1s 2000000...
  1> 163.5s 3000000...
  1> 169.9s 4000000...
  1> 176.2s 5000000...
  1> 182.6s 6000000...
  1> 188.9s 7000000...
  1> 195.3s 8000000...
  1> 201.6s 9000000...
  1> 208.0s 10000000...
  1> 214.3s 11000000...

This PR:
  1> TEST: now verify [fst size=4622366544; nodeCount=2252341629; arcCount=2264078736]
  1> 0.0s 0...
  1> 599.5s 100000...
  1> 1201.7s 200000...
  1> 1797.6s 300000...
  1> 2392.0s 400000...
  1> 2967.8s 500000...
  1> 3532.1s 600000...
  1> 4110.5s 700000...
  1> 4678.4s 800000...
  1> 5247.9s 900000...
  1> 5815.1s 1000000...
  1> 6382.3s 1100000...
  1> 6950.0s 1200000...
  1> 7514.7s 1300000...
  1> 8087.2s 1400000...
  1> 8657.6s 1500000...
  1> 9227.2s 1600000...
  1> 9795.8s 1700000...
  1> 10358.1s 1800000...
  1> 10923.6s 1900000...
  1> 11491.5s 2000000...
  1> 12057.4s 2100000...
  1> 12649.5s 2200000...
  1> 13231.7s 2300000...
  1> 13797.8s 2400000...
  1> 14382.8s 2500000...
  1> 15017.1s 2600000...
  1> 15633.8s 2700000...
  1> 16200.9s 2800000...
  1> 16762.8s 2900000...
  1> 17329.6s 3000000...
  1> 17891.7s 3100000...
  1> 18462.2s 3200000...
  1> 19025.3s 3300000...
  1> 19609.4s 3400000...
  1> 20171.3s 3500000...
  1> 20738.6s 3600000...
  1> 21306.2s 3700000...
  1> 21872.2s 3800000...
  1> 22439.8s 3900000...
  1> 22998.3s 4000000...

More than two orders-of-magnitude (base 10) slower!
+1 to freeze and do the output -> input conversion only once.  Thanks @dungba88.

I re-ran the Test2BFST with the new change, it looks much better
  1> TEST: now verify [fst size=4621076364; nodeCount=2252341486; arcCount=2264078585]
  1> 0...: took 0 seconds
  1> 1000000...: took 27 seconds
  1> 2000000...: took 54 seconds
  1> 3000000...: took 82 seconds
  1> 4000000...: took 109 seconds
  1> 5000000...: took 137 seconds
  1> 6000000...: took 165 seconds
  1> 7000000...: took 192 seconds
  1> 8000000...: took 219 seconds
  1> 9000000...: took 247 seconds
  1> 10000000...: took 275 seconds
  1> 11000000...: took 302 seconds

I tested just how much slower the ByteBuffer based store is than the FST's BytesStore:

I assume this is before the last iteration that does the freeze, is that right? What do you think about the last results?

I tested just how much slower the ByteBuffer based store is than the FST's BytesStore:

I assume this is before the last iteration that does the freeze, is that right? What do you think about the last results?

Sorry yes -- I'll try to come back to this soon, and re-test.  Thanks @dungba88

Thanks everyone! I addressed comments, putting a simpler implementation.
+1 to the FST micro benchmarking

Thanks for persisting @dungba88 -- this was a crazy long and tricky exercise.  I'm so excited Lucene can finally build arbitrarily large FSTs with bounded heap usage.
I'll merge this soon and backport, then let's watch builds for any exciting FST related failures...


Missing referenceable annotation

We should add a referenceable annotation to the following nav properties:
- /identityGovernance/entitlementManagement/connectedOrganizations/{id}/internalSponsors/$ref

Related to https://github.com/microsoftgraph/msgraph-sdk-powershell/issues/1063


Fix subscription WSG issue

Coverage: 91.005%. Remained the same when pulling d6b1da1a1cb75237313d2ee575f6620bfc422639 on tylerlong:master into 08f3cf4fb5abd47a718e45cc6216bbb46bbbbcb8 on ringcentral:master.


Question: admin integration?

Has any effort been put toward smoother admin integration? Spitballing here:
class CopyableAdmin(admin.ModelAdmin):

   def get_urls(self):
      # add a /import and /export path

   def import(self, request):
       # a glorified self.model.objects.from_csv(...)

   def export(self, request):
      # a glorified self.model.objects.to_csv(...)
      # served as a download / written to HttpResponse

# include those in the package, along with a few templates to house an upload form

# then, users can invoke with ...

class MyObjectAdmin(CopyableAdmin):
   fields_to_copy = ['foo', bar' 'baz']

Happy to take a swing at it, but thought I'd check first if there was any effort underway :)

No effort has been made by me. I love the Big Dreams. If you want to take a swing, I say go for it.


Major rewrite of README

Contents should be the same, but the order of text and phrasing have been changed to make the text easier to read and follow. Please review to ensure that I haven't accidentally made incorrect statements.

Could you consider adding an minimal example which shows how to use the resulting sensor to set the target temperature of a thermostat.

@jonasgustavsson I will take this first to readme_rewrite branch to edit this a bit before merging to master. @t-my I'll add some minimal example in the same go. Probably tomorrow.


CNLabeledValue is a generic class

The localized properties example in the contact formatting and localization section does not compile. Specifically:
CNLabeledValue.LocalizeLabel(CNLabelKey.Home);

Fails because CNLabeledValue is a generic class

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

ID: 1cfc1d76-6be2-e0ba-52e2-c975f6fd8c76
Version Independent ID: 5f942f69-fb51-2043-dd69-67b79a4efdd9
Content: Contacts and ContactsUI - Xamarin
Content Source: docs/ios/platform/contacts.md
Service: unspecified
Product: xamarin
GitHub Login: @bradumbaugh
Microsoft Alias: brumbaug

Thank @Keboo - put together a fix for this. Should be published soon. Appreciate the help!


Improve sentences

There are two sentences in 6.1.1 What is a Content Information Type Specification which might be improved:

"For example, the ERMS Content Information Type Specification does specific a method for referencing data (i.e. computer files) from descriptive metadata in ERMS format, to ensure the integrity of data and metadata."

"does a method" sounds odd - is this correct English?

"Stating these requirements in a general specification allows archival institutions receiving SIPs including ERMS extracts or whole systems to understand and validate potentially complex information packages."

" allows receiving" -> allows to receive?

I'll take these in reverse order (I'd have asked if that was OK but then I'd have to wait for a reply ;) ):
I think that the second issue is OK, to me this reads that the "allows" refers to "understand and validate...." later in the sentence, i.e. (to re-order & paraphrase) "the general specification allows institutions to understand complex SIPs they receive". It might be better written in that more direct form (with use of original terms)?
Regarding the first issue, I agree and am suggesting this patch which I'll PR and pull you in for review:
@@ -12,11 +12,11 @@ Content Information Types can be regarded as categories of Content Information,
 The following elements should be at the core of a Content Information Type Specification:

 - Required file formats for content data;
-- Specification of information package structure, i.e. specific sub-folders under the "Data" folder for particular categories of content data;
+- Specification of information package structure, i.e. specific sub-folders under the "data" folder for particular categories of content data;
 - Requirements for specific representation metadata that should be available in PREMIS for understanding and rendering the Content Data Object;
 - Details of specific (binary) documentation or other components (e.g. software, emulators, etc.) which must be available for rendering and understanding the Content Data Object.

-Pragmatically it may not be sufficient to deal only with the Information Object. For complex Content Information Types or large IPs it may be necessary to provide explicit requirements for other metadata (descriptive, administrative) relevant to the specific content type. For example, the ERMS Content Information Type Specification does specific a method for referencing data (i.e. computer files) from descriptive metadata in ERMS format, to ensure the integrity of data and metadata. Stating these requirements in a general specification allows archival institutions receiving SIPs including ERMS extracts or whole systems to understand and validate potentially complex information packages.
+Pragmatically it may not be sufficient to deal only with the Information Object. For complex Content Information Types or large IPs it may be necessary to provide explicit requirements for other metadata relevant to the specific content type. For example, the ERMS Content Information Type Specification prescribes a method for referencing data (i.e. computer files) from descriptive metadata in ERMS format, ensuring package integrity. Stating these requirements in a general specification allows archival institutions receiving SIPs including ERMS extracts or whole systems to understand and validate potentially complex information packages.

Done and ready to close


docs(structural-directives): add dev guide chapter

Putting up a PR to iterate over reviews
DONT MERGE YET

This is a very nice draft. I left some comments.
I'd also like to add that I think that this chapter goes waaay beyond what it's supposed to be. E.g. the whole part about ContentChildren/ViewChildren etc. can totally go into a dedicated chapter. I think this is too much noise around what this chapter is actually about.
The myUnless directive however is a perfect use case for this chapter. We shouldn't go too far beyond it.

I've reworded everything to mention projection instead of transclusion, plus other corrections.

Added plunker generation and link to live example.

:+1: @wardbell I think this can be rebased+merged as is.

If @wardbell is OK with the structure, I'll still need to add the section
links at the top/bottom before merge.
On Thu, Dec 3, 2015, 18:27 Pascal Precht<EMAIL_ADDRESS>wrote:

[image: :+1:] @wardbell https://github.com/wardbell I think this can be
rebased+merged as is.
—
Reply to this email directly or view it on GitHub
https://github.com/IdeaBlade/angular.io/pull/6#issuecomment-161739511.

Added table of contents and final summary for the chapter as is right now.

I'm stopping with the little English grammar and style changes and just putting them in. I will reserve for comments major questions/decisions (e.g., should we be talking about shadow dom).

@wardbell okay, but we need to give @filipesilva a chance to squash your changes into his commit then, before this gets merged.

@PascalPrecht Of course. I always do that before merging. That's why I'm not obsessing about the commit messages right now ;-)

As you both agree and for very good reasons, I split the second half of the chapter to a separate branch and PR #10
I've revised the text and samples extensively in what I think will make for easier reading by American audiences.  I believe I have stayed true to Filipe's purpose and flow. I'll let him be the judge.

@wardbell your changes LGTM
@filipesilva can you squash his changes into your commit and update this PR so it can be merged please?

Actually, I can do that when I merge into angular/angular.io.
But first, I want to know that @filipesilva likes what he sees. ;-)

Ideally this PR is squashed/rebased before it's merged into
ideablade/angular.io:master
It's up to you who does this job :)
On Mon, Dec 7, 2015, 11:05 AM Ward Bell<EMAIL_ADDRESS>wrote:

Actually, I can do that when I merge into angular/angular.io.
But first, I want to know that @filipesilva
https://github.com/filipesilva likes what he sees. ;-)
—
Reply to this email directly or view it on GitHub
https://github.com/IdeaBlade/angular.io/pull/6#issuecomment-162469732.

Easily my favorite part of the doc:

We can use it to render text bold, italic, and lime green by binding to a component property that requests such a sickening result.

Also really liked the counters in heavy-loader. It helps understand that a new one is truly created.
I think it looks great! It's rebased accordingly.
But I don't think it should be merged yet. This is because although text is changed to reflect the case sensitivity change, code is not. We should wait for alpha49, I'll update the code, and then it will be ready.

It pleases me that you enjoyed my joke.
Let's give it a day or two to see if they can land a.49

Updated to alpha52 and rebased. Plunkers are not updated since it seems they are still outputting alpha51.

closed by 92f1690


How to update my local install of pico-sdk?

I probably cannot see the forest for the trees, but...
After "installing" the pico-sdk on my Ubuntu host by (generally) following the instructions, how do I keep it up-to-date? Have I missed something in the documentation - or the README for this repo?

See section 2.3 in https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf :slightly_smiling_face:

Oops! Thank you - I missed that  :P   Does that update the Examples also?

No, you'd also need to do a git pull in the pico-examples directory.


Add the korean translation json file

linked to #51

Accidentally merged into wrong branch / without necessary adjustments.
Finally committed to #52 via https://github.com/dbis-uibk/relax/commit/87a75f7df8c82aff5c3229929f13278ca4d3b566


fix(django-rq/templates): updated job.status to job.get_status

When using the django_rq.urls, a depreciation warning is thrown because job.status is depreciated in python-rq. This prevents you from viewing the jobs entirely. The templates have been updated accordingly.
Closes #88.

Sorry for the delay. Thanks!

@selwin  no problem!


Remove the resrc.it url from sights component

A change in DN will include full URLs for these images, resulting in broken images. Also, we should be switching over to imgix anyway.

:+1:


[Parser] Remove redundant UTF-16 surrogates check logic

The initializer of Unicode.Scalar is intelligent enough to handle the case where a UTF-16 surrogates value is provided as its parameter. Therefore, there is no need for manual checking. Let Unicode.Scalar perform its job here.

Would you mind running the CI?
@ahoppen

@swift-ci Please test

I believe we're ready to merge this.
@ahoppen

Oh, sorry. I forgot to merge this.


Generate Haskell code from the Agda spec

This PR resolves #1312.

Perhaps at this point, before I move forward with other STS's, there is a good opportunity to properly integrate this work into the current Cabal project.
@amesgen: What's your opinion? Is this perhaps something you can do? (no pressure 🙂).

I have tried make hs locally, without using nix, and it fails with the following error:
    Checking Interface.HasOrder.Instance (ouroboros-consensus/docs/agda-spec/src/Interface/HasOrder/Instance.agda).
ouroboros-consensus/docs/agda-spec/src/Interface/HasOrder/Instance.agda:34,55-64
No instance of type
((HasPartialOrder.hasPreorder ℚ-hasPartialOrder HasPreorder.≤ x) y
 ⁇)
was found in scope.
when checking that the expression record {} has type
HasDecPartialOrder
make: *** [latex/Spec/PDF.tex] Error 42

I am using agda-stdlib 2.0. What am I doing wrong?

Perhaps at this point, before I move forward with other STS's, there is a good opportunity to properly integrate this work into the current Cabal project.
@amesgen: What's your opinion? Is this perhaps something you can do? (no pressure 🙂).

Will have a look :+1:

I have tried make hs locally, without using nix, and it fails with the following error:
    Checking Interface.HasOrder.Instance (ouroboros-consensus/docs/agda-spec/src/Interface/HasOrder/Instance.agda).
ouroboros-consensus/docs/agda-spec/src/Interface/HasOrder/Instance.agda:34,55-64
No instance of type
((HasPartialOrder.hasPreorder ℚ-hasPartialOrder HasPreorder.≤ x) y
 ⁇)
was found in scope.
when checking that the expression record {} has type
HasDecPartialOrder
make: *** [latex/Spec/PDF.tex] Error 42

I am using agda-stdlib 2.0. What am I doing wrong?

I am not sure exactly, but maybe you need to setup agda-stdlib-classes and agda-stdlib-meta? https://github.com/IntersectMBO/ouroboros-consensus/blob/f196bfccb0cddc4d86f6b45ff5bfa835d6549c9f/nix/agda.nix#L19-L49

@amesgen thanks for your answer 🙏 So I have those setup, they are in my ~/.agda/libraries definition. I will double check the versions.
Thing is: when I use nix, eg. nix develop agda,  I don't seem to have the needed libraries either. It does not even bring agda into scope so I am probably misusing nix here. It would be nice to add some documentation in  does/agda-spec/README.d for example to help the poor soul ending up here how to hack on these things.

It seems I had outdated version of agda-stdlib-classes and agda-stdlib-meta. Refreshing to match the revisions given in nix file does yield to different errors.

Thing is: when I use nix, eg. nix develop agda, I don't seem to have the needed libraries either. It does not even bring agda into scope so I am probably misusing nix here. It would be nice to add some documentation in does/agda-spec/README.d for example to help the poor soul ending up here how to hack on these things.

It should work with
nix develop .#agda-spec

We definitely want a good readme for docs/agda-spec, hopefully we can get to that soon (the spec is still fairly new and evolving).

It's funny that nix develop agda-spec does not work, but nix develop agda worked although it yielded me no usable environment

It's funny that nix develop agda-spec does not work, but nix develop agda worked although it yielded me no usable environment

Just to explain this behavior: These two commands use the Nix registry which is completely independent of the local project you are working on. Therefore, nix develop agda works because agda is a registry entry in the global flake, but agda-spec is not. However, nix develop agda will drop you in a shell that you can use to work on Agda (https://github.com/agda/agda), but this is not what you want here, in a project that uses Agda.
In contrast, nix develop .#agda-spec uses the agda-spec shell defined in the local flake (ie in . or in a parent directory):
https://github.com/IntersectMBO/ouroboros-consensus/blob/68b9799eebdc7037a99668762ddc69c7e78c106c/flake.nix#L81

I still wish I could make hs without needing nix though :)


Return position in parse error exceptions

When a parsing error is encountered, an exception is thrown from parser::expect() indicating the expected token, but not the current parsing position, making it difficult to track down the offending syntax error.  It would be nice if the current position (in line and column, if possible) could also be included in the error message.

This is solved with #301 and will be part of the 3.0.0 release. Parse errors are now indicated with a user-defined exception json::parse_error which has a public member
/*!
@brief byte index of the parse error

The byte index of the last read character in the input file.

@note For an input with n bytes, 1 is the index of the first character
      and n+1 is the index of the terminating null byte or the end of
      file. This also holds true when reading a byte vector (CBOR or
      MessagePack).
*/
const size_t byte;

You can try the code in the develop branch (note this is unreleased code that is subject to change!).

Sorry for the duplicate, I apparently neglected to search through the closed list.  Looks good, thanks!

No worries. I just merged it to develop yesterday and did not add it to the online documentation. I would be happy to hear about your experience with that.
(Once again, please note that this feature will not be "official" until 3.0.0 is released and may change until then!)


Add methods to retrieve info from channels config in backends

Summary
This PR fixes #3311 and adds methods

get_channel_qubits(channel) to get a list of all qubits operated by the given channel.
get_qubit_channels(qubit) to get a list of channels operating on the given qubit.

Details and comments
ControlChannels(qubit) is now generated by using the data in channels in the backend configuration (added this to fake pulse backends in PR #4085).
The backend configuration channels is a dictionary containing information of each channel -- their purpose, type, and qubits operated on.
TODO

[x] reno

I'm sorry, @lcapelluto convinced me that channels dict shouldn't be public. It looks good otherwise!

Adding a minor change in tests.


HRA spec is full of capacityReservations

Moving this comment to his own issue,
Hi,  not sure is related but my HRA spec is full of capacityReservations, I don't see any of them being clean even after the expirations time pass.  Last Successful Scale Out Time:  2022-06-17T05:11:41Z and your oldest capacity reservation with Expiration Time:  2022-06-17T05:16:09Z seem to indicate that It's working as intended.
You've configured scale up trigger duration to 5m according to Duration:  5m and that basically means it expires only after 5m after the reservation was created. The reservations will be removed after the first reconcile attempt after the expiration time, so depending on how often you get webhook events from GitHub or how short you configured your ARC's sync-period, it might take some time until they're finally cleaned up. Anyway, it would get cleaned up eventually.

Ok, so what is your recommendation ? decrease the sync period ?or the duration ?

@shinji62 I think that depends on your requirement. What's your real problem?  In that case, you should use ARC's webhook-based autoscaling, rather than pull-based scaling, because the webhoko-based autoscaling can "cancel" previous capacity reservations on Actions workflow job complemention.

I think I use the webhook scaling based on check runs.

@shinji62 You'd better use workflow_job-based scaling. check_run based scaling is legacy and remaining there only for backward compatibility and we aren't going to enhance it as it is just redundant today as we have workflow_job.
Also, only workflow_job supports cancelling capacity reservation on scale down.

My only issue is I used runner-groups for almost everything and according to the docs he doesn't work with workflow_job ?

@shinji62 No? Probably it's a chance for you to contribute a fix for that documentation if you really saw that somewhere 😄

While I was self-reviewing the clean-up logic of the capacity reservations, I might have found that it was not cleaning up expired reservations on each sync period(1m by default). Probably that's an issue.
To be clear, though, it should be cleaned up fine as long as you use workflow_job for autoscaling, as each capacity reservation is removed immediately after the autoscaler received a workflow_job event of status=completed. In other words, workflow_job based scaling doesn't rely on sync period at all so the original issue reported in this thread won't happen with that.


Can't open the camera directly

[x] I have read the Get Started - Installation section
[x] I have read and done the Get Started - Setup Android section
[x] I have read and done the Get Started - Setup iOS section
[x] I have already searched for the same problem

Environment
Pixel 2

Technology
Version

Flutter version
1.26.0

Plugin version
4.0.1+1

Android version
30

iOS version

Xcode version

Device information:
Description
Expected behavior:
I expected to use the input box from HTML to open the native camera directly.

Current behavior:
I can open the camera by clicking the input box, but it always shows an alert to choosing open a photo gallery or camera.
(It can open the camera directly in chrome)
Steps to reproduce

Get a camera permission

import 'package:permission_handler/permission_handler.dart';

Future main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Permission.camera.request();

  runApp(MyApp());
}

Add additional configurations

<provider
    android:name="com.pichillilorenzo.flutter_inappwebview.InAppWebViewFileProvider"
    android:authorities="${applicationId}.flutter_inappwebview.fileprovider"
    android:exported="false"
    android:grantUriPermissions="true">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/provider_paths" />
</provider>

HTML

input type="file" accept="video/*" capture="user"

<input type="file" accept="video/*" capture="user" >

Images

Unfortunately, this behavior is not implemented yet!
I will work on it!

Good Morning
Has there been any progress in this case?

@ederluca not yet.

Any progress in this issue?

Hi @pichillilorenzo, thanks for looking into this. May I ask on when would this be fixed?

我flutter1.0的时候就有这个问题,到现在还在,哈哈哈

I used rahuldev91's workaround in #846, tested on android, works fine.

Any progress in this issue?

same issue, is there any solution ? please, @pichillilorenzo

Any progress in this issue?

this issue only on android, you can do  it in Android file WebChromeClient. for me it worked perfect

Feature added starting from version 5.5.0


[dv/hmac] Fix hmac fcov bin and a stress_all_with_rand_reset issue

1). Fix max outstanding item from 2 to 1.
2). Stress_all_with_rand_reset does not use apply_reset, so added a
line of logic to set back the cfg flag before issuing the concurrent
reset.
Signed-off-by: Cindy Chen<EMAIL_ADDRESS>

That was possible at that time. I don't know the current TL-UL SRAM Adapter. Need to double check the design.
The reason it accepted 2 outstanding request was to process the request back-to-back.

This block has reached V3 so I guess we had hit 2 outstanding items before, but we don't hit it now, so it's probably due to the design change.
can you double check that?

Thank you both for the inputs. Thanks @weicaiyang for trying this offline with me.
From the waves we tried to create, looks like we can only hit one outstanding items on the msg fifo.
@eunchan sorry for the zoomed out waves, but does that match your expectation?


generated bindings error, with missing mut on arg1

Given deps
[dependencies]
bitflags = "2.4.2"
wit-bindgen-rt = "0.21.0"

and wit including
render: func(ctx: context) -> result<string, string>;

Generates the fn signature as:
pub unsafe fn _export_render_cabi<T: Guest>(
                    arg0: i32,
                    arg1: ::core::mem::MaybeUninit<u64>,
                    arg2: i64,
                    arg3: i32,
                    arg4: f64,
                    arg5: i32,
                    arg6: *mut u8,
                    arg7: usize,
                ) -> *mut u8

but arg1 needs to be mut according to the eror:
error[E0596]: cannot borrow `arg1` as mutable, as it is not declared as mutable
   --> src/bindings.rs:279:37
    |
279 | ...                   arg1.as_mut_ptr().cast::<*mut u8>().read().cast(),
    |                       ^^^^ cannot borrow as mutable
    |
help: consider changing this to be mutable
    |
222 |                     mut arg1: ::core::mem::MaybeUninit<u64>,
    |                     +++

Full code
                #[doc(hidden)]
                #[allow(non_snake_case)]
                pub unsafe fn _export_render_cabi<T: Guest>(
                    arg0: i32,
                    arg1: ::core::mem::MaybeUninit<u64>,
                    arg2: i64,
                    arg3: i32,
                    arg4: f64,
                    arg5: i32,
                    arg6: *mut u8,
                    arg7: usize,
                ) -> *mut u8 {
                    use super::super::super::super::component::test_wit_newest::context_types::Context as V2;
                    let v2 = match arg0 {
                        0 => {
                            let e2 = super::super::super::super::component::test_wit_newest::context_types::Content{
            revenue: match arg1.assume_init() as i64 as i32 {
              0 => None,
              1 => {
                let e = f64::from_bits(arg2 as u64);
                Some(e)
              }
              _ => _rt::invalid_enum_discriminant(),
            },
            expenses: match arg3 {
              0 => None,
              1 => {
                let e = arg4;
                Some(e)
              }
              _ => _rt::invalid_enum_discriminant(),
            },
            formula: match arg5 {
              0 => None,
              1 => {
                let e = {
                  let len0 = arg7;
                  let bytes0 = _rt::Vec::from_raw_parts(arg6.cast(), len0, len0);

                  _rt::string_lift(bytes0)
                };
                Some(e)
              }
              _ => _rt::invalid_enum_discriminant(),
            },
          };
                            V2::AllContent(e2)
                        }
                        1 => {
                            let e2 = f64::from_bits(arg1.assume_init() as i64 as u64);
                            V2::Revenue(e2)
                        }
                        2 => {
                            let e2 = f64::from_bits(arg1.assume_init() as i64 as u64);
                            V2::Expenses(e2)
                        }
                        n => {
                            debug_assert_eq!(n, 3, "invalid enum discriminant");
                            let e2 = {
                                let len1 = arg2 as usize;
                                let bytes1 = _rt::Vec::from_raw_parts(
                                    arg1.as_mut_ptr().cast::<*mut u8>().read().cast(),
                                    len1,
                                    len1,
                                );

                                _rt::string_lift(bytes1)
                            };
                            V2::Formula(e2)
                        }
                    };

build with cargo component build using v0.9.1

as a temporary workaround, if the mut is added manually it works fine, but this defeats the purpose of the automation I would imagine

Thanks for the report! I think this should be fixed in https://github.com/bytecodealliance/wit-bindgen/pull/891


Submodule status script

The tell_me_about_the_submodules.sh script in the root folder should show what commit each submodule is associated with. If there is a tag in the submodule history it will show the most recent tag and how many commits ahead of the tag the submodule points to. It should also work if the submodules are not initialized, but only the commit for each submodule is shown (not the tag info). If this is useful we can copy it into any repo with submodules

wrong branch, sorry - will resubmit


close button has more margin on right side

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

go to Settings > Profile
check  the margin on right side of close button

Expected Result:
margin should be consistent
Actual Result:
right side has more margin
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

Version Number: v1.2.99-4
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/43996225/231621248-f3f6864b-23f6-4519-b29a-9331dbcae403.mov

Expensify/Expensify Issue URL:
Issue reported by: @gadhiyamanan
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1681296176725269
View all open jobs on GitHub

Triggered auto assignment to @abekkala (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

Close button is being deprecated as part of the App navigation reboot so I will close this as not a bug, we wont fix this as it will be removed in couple of weeks.
Thanks!

Looks like something related to react-navigation may have been mentioned in this issue discussion.
As a reminder, please make sure that all proposals are not workarounds and that any and all attempt to fix the issue holistically have been made before proceeding with a solution. Proposals to change our DeprecatedCustomActions.js files should not be accepted.
Feel free to drop a note in #expensify-open-source with any questions.


GH-43249: [C++][Parquet] remove useless template parameter of DeltaLengthByteArrayEncoder

Rationale for this change
see https://github.com/apache/arrow/issues/43249

What changes are included in this PR?
remove template parameter of DeltaLengthByteArrayEncoder

Are these changes tested?
Covered by existing

Are there any user-facing changes?
No.

GitHub Issue: #43249

Thanks all, merged


feat: Add load_balancer_controller targetgroup binding only role

Description
This implements a least privilege role for load_balancer_controller when using TargetGroup binding only as documented here.
Motivation and Context
The current module has a role for load_balancer_controller, but it is the full set of permissions, which are not required when implementing TargetGroup binding only.
Breaking Changes
No
How Has This Been Tested?

[x]  I have tested and validated these changes using one or more of the provided examples/* projects

I tested the changes by executing the examples/iam-role-for-service-accounts-eks, and added a module call there to create the new role.

https://github.com/kubernetes-sigs/aws-load-balancer-controller/issues/2542 was also created to address the missing describevps iam permission.

kubernetes-sigs/aws-load-balancer-controller#2542 was also created to address the missing describevps iam permission.

Issue 2542 has been closed as of today in the aws-load-balancer-controller repo.

@cdhesse if you could make the requested tweaks, update your branch with the latest, and re-run pre-commit run -a, we should be set to merge this then. Thank you for the PR!

@cdhesse if you could make the requested tweaks, update your branch with the latest, and re-run pre-commit run -a, we should be set to merge this then. Thank you for the PR!

I've done as you requested, should be ready to merge now, thank you!

This PR is included in version 4.16.0 :tada:


Implement a Web interface

We need a simple Web interface that provides visual clues of the size of the Mailu network as it is discovered.

Actually, I feel more and more like the web interface could be delegated to existing software that can read from an elasticsearch and run statistics.

How about adding support for Prometheus and letting Grafana do the fancy-stuff? :D

Exactly my reasoning, I was thinking either of Prometheus/Grafana or Telegraf/Grafana/Chronograf.

Phew… I was a bit scared that you were having a "let's put that on the JVM"-moment :grinning:
Well, supporting Prometheus in Go is really easy… maybe I'll try it later today

To be fair, I would not mind pushing all these to elasticsearch either :) The JVM has its defects, but it gets the job done.

True, it's just sadly not friendly to RAM :D


The remapping of shortcuts stops functioning

Microsoft PowerToys version
0.58.0
Running as admin

[X] Yes

Area(s) with issue?
Keyboard Manager
Steps to reproduce
There are no steps to reproduce. It happens randomly.
✔ Expected Behavior

❌ Actual Behavior
There are two issues:
The issue that I am having is that the Left Alt button button remaps itself back to its original key, meaning that the Left Control is not mapped to Left Alt anymore. This means that
Another issue is that the Left Alt key is constantly registered. This means that the system becomes unusable, since it is combining all other key strokes performed on my system.
Other Software
No response

Are you still experiencing this issue? /needinfo

/dup https://github.com/microsoft/PowerToys/issues/17344


Implement now/current_date/current_time/current_timestamp

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I think now is one of the most important functions around time. I'm a little surprised that we don't support that.
https://www.postgresql.org/docs/current/functions-datetime.html

now ( ) → timestamp with time zone
Current date and time (start of current transaction); see Section 9.9.5
now() → 2019-12-23 14:39:53.662522-05

current_timestamp → timestamp with time zone
Current date and time (start of current transaction); see Section 9.9.5
current_timestamp → 2019-12-23 14:39:53.662522-05

PostgreSQL support several different times:

time of parsing (not suitable for table default, prepared statement, view): timestamptz 'now'
time of transaction start: current_xxx, localxxx, transaction_timestamp(), now()
time of statement start: statement_timestamp()
time of function eval (f() = f() may be false depending on resolution): clock_timestamp(), timeofday()

This function is not deterministic, and cannot be implemented in stream engine.

ahh, I see, but in batch it's can be supported right?

They are not pure functions. Maybe we should rewrite them as literals in frontend rather than pass them to backend expr.eval().

For stream engine, I think we need a hidden time column as the ingestion time of event.

For streaming engine, an option is to implement now() to extract the current physical time from epoch.
An alternative is to add a hidden time column for every source as the ingestion time of event.

If we want to change its underlying meaning, we'd better use a new function name and tells user now() not supported in mv.

rw_timestamp_now() !

If we want to change its underlying meaning, we'd better use a new function name and tells user now() not supported in mv.

We may also use this semantic for now() of batch i.e. extracting current time from epoch instead of call system's clock . Users won't be aware of these difference I think.

What if epoch is set to a large value(for example, several minutes)?

That's a problem 🤔 Unless we decouple epoch from checkpoint

Any progress with this? 🤔

If you are seeking a continuously changing timestamp in the stream, please refer to #7209, which has both better-defined semantics and more straightforward implementation.

My idea is to forbid now() in streaming queries except temporal filters i.e. in the where clause, so let's close this issue now.


Initialize Gluetun

This is untested but the majority of the environment vars for the docker have been added per the wiki here: https://github.com/qdm12/gluetun-wiki/tree/main#table-of-contents
Unsure if I created all of the dockerfile scripts that are required and removed the ones not needed.
Implementing issue #734
TODO:

[ ] Build imported into HA and tested.

@alexbelgium is there a way to test build the existing dockerfile without having it look for a project on this repo? I have a local-addon loaded in HA throwing this error:
Can't install ghcr.io/alexbelgium/gluetun-armv7:3.35.0: 500 Server Error for http+docker://localhost/v1.42/images/create?tag=3.35.0&fromImage=ghcr.io%2Falexbelgium%2Fgluetun-armv7&platform=linux%2Farm%2Fv7: Internal Server Error ("Head "https://ghcr.io/v2/alexbelgium/gluetun-armv7/manifests/3.35.0": denied")
Not fully understanding the documentation from HA https://github.com/home-assistant/builder in comparison to how projects are set up on this repo.

Hi, thanks! Just delete the image tag in the config.json and it will locally build :) haven't had time to check your work yet thanks!

Is it possible to use translations? https://github.com/home-assistant/addons/blob/master/mariadb/translations/en.yaml
I also need to do research on how to override the network mode for the docker services. For example Jackett plugin currently uses port 9117. That needs to be bypassed and a network mode needs to be set to Gluetun to pass all traffic through this addon. Very simple to do with a container file but as you mentioned in #734 HA isn't meant to adjust this way out of the box.

Hi, of course, translations work nice. I had removed them as my repo was too big and caused issues, however for a single addon it should be fine
Regarding your point about ports, HA actually allows port mapping in the same way as a composer file : if in the Jackett addon configuration you specify a different port, this will be the one exposed to the outside. The only case when it doesn't work is if the addon is using the host network - the mapping then doesn't work and the original port is forced

Would you want me to first the current version in the repo to see how it goes ? We can put a disclaimer in the name (such as DONTUSE) to prevent people from trying it before it is completed and complaining :-)

I don't think it is ready yet to complete the pull request.
I will verify the mapping suggestion you made. So essentially what you are saying for example with Jacket:

Jacket addon container specifies 9117 internally.
HA maps Jacket externally to port 9000 in this example.
HA maps Gluetun maps port 9000 externally.
Gluten addon container specifies 9117 internally.

I'm unsure if this process then throws the output into a single port to the external internet. I have not tested Gluetun in HA other than getting the installer and config working. I do have Gluetun working in a composer file on the same machine.

Well pushed all the config changes and fixed Gluetun not having permissions for networking.
Set up the config file how I want it however i am getting a funky error:

The OpenVPN username the environment variable OPENVPN_USER is set yet the container is saying it isn't set. Is there something I am missing? Do we just need to define the environment variable in the config.json file?

Well pushed all the config changes and fixed Gluetun not having permissions for networking.
Set up the config file how I want it however i am getting a funky error:

The OpenVPN username the environment variable OPENVPN_USER is set yet the container is saying it isn't set. Is there something I am missing? Do we just need to define the environment variable in the config.json file?

I don't think it is ready yet to complete the pull request.
I will verify the mapping suggestion you made. So essentially what you are saying for example with Jacket:

Jacket addon container specifies 9117 internally.
HA maps Jacket externally to port 9000 in this example.
HA maps Gluetun maps port 9000 externally.
Gluten addon container specifies 9117 internally.

I'm unsure if this process then throws the output into a single port to the external internet. I have not tested Gluetun in HA other than getting the installer and config working. I do have Gluetun working in a composer file on the same machine.

Hi, this is exactly how it works, in the end it's just like a docker compose. As long as the host network option is not used in config.json

Well pushed all the config changes and fixed Gluetun not having permissions for networking.
Set up the config file how I want it however i am getting a funky error:
The OpenVPN username the environment variable OPENVPN_USER is set yet the container is saying it isn't set. Is there something I am missing? Do we just need to define the environment variable in the config.json file?
It is also not creating the /config/addons_config/gluetun folder so i am unable to link that with the containers /gluetun/ directory.

Did you map the config folder in config.json? Here is an example : https://github.com/alexbelgium/hassio-addons/blob/534b65c4635614917530c181bfdc52ddc10cb3f9/baikal/config.json#L58-L62
I've checked and actually the upstream image entrypoint doesn't use /etc/cont-init.d but directly executes a script : https://github.com/qdm12/gluetun/blob/1ac031e78c5cc1732bcab4781ace85939eebdee6/Dockerfile#L202
Either you need to inject your scripts by modifying the file /gluetun-entrypoint (for example you inject your code execution wirh sed -i "1a /./etc/cont-init.d/20-folders.sh" /gluetun-entrypoint or more easily in those circumstances I use a custom launch script. If you add this file to your addon : https://github.com/alexbelgium/hassio-addons/blob/master/fireflyiii/rootfs/entrypoint.sh,  modify the dockerfile to launch it : https://github.com/alexbelgium/hassio-addons/blob/534b65c4635614917530c181bfdc52ddc10cb3f9/fireflyiii/Dockerfile#L80-L82, then create a file named 90-run.sh to run the previous script. Your run.sh can be as light as :
#!/bin/bash

/./gluetun-entrypoint

Also, variables defined in the addon options are just put in a file named /data/config.json (or something likes that). You need to use to then pass the variables to your script. Either it is done manually, or you can use my global_variables script. To do that, just add 00-global_var.sh to the modules as here : https://github.com/alexbelgium/hassio-addons/blob/534b65c4635614917530c181bfdc52ddc10cb3f9/fireflyiii/Dockerfile#L54 and it will execute a script that will take all your addon options and pass them as env variables to the app

@alexbelgium I am aimlessly attempting to figure this out lol. Adding the CMD /entrypoint.sh prompts in the log it does not exist. So it seems the COPY rootfs/ / does nothing

I was able to tinker around with this and verify that the files are getting added into the container. However, The log does not output the correct information and the config file is still not updating the container environment variables.

20-folder.sh and 90-run.sh both are functioning correctly themselves.


This will fix the multiple typos in the new tasks repo

Description of issue (what needs changing)
No response
Clear description
This will fix the multiple typos in the new tasks repo here https://github.com/google/mediapipe/tree/master/mediapipe/tasks
Correct links
No response
Parameters defined
No response
Returns defined
No response
Raises listed and defined
No response
Usage example
No response
Request visuals, if applicable
No response
Submit a pull request?
Raised internal CL

Closing this as issue has been merged internally.


Link updated

Signed-off-by: amolmote<EMAIL_ADDRESS>Fixes #51

I think the correct link update should be
https://github.com/kubernetes/community/blob/master/contributors/guide/contributor-cheatsheet/README.md


Ensure all typedInput buttons have button type set

Fixes #3780
Otherwise they act as type="submit" and the browser will click on them when enter is pressed in an input

Coverage remained the same at 68.193% when pulling 39b2fe45a5639824ce58583227f92fc35ffc4a30 on fix-typedinput-submit into 1b94cc3ac027bfc38a300867a0b0fd635bf273b8 on master.


[zh-cn] update concepts/security/pod-security-admission.md

/retitle [zh-cn] update concepts/security/pod-security-admission.md

The commit message is not mached with the change this PR suggests.

/lgtm
/approve


rbd: retry creating snapshot in case flattening is in progress

When RESOURCE_EXHAUSTED is returned, Kubernetes aborts the
CreateSnapshot request, and does not retry it. It is expected that
flattening was started for some RBD images, so a next call to
CreateSnapshot might succeed.
Instead of returning RESOURCE_EXHAUSTED, return ABORTED, so that
Kubernetes retries CreateSnapshot with an exponential backoff.
Fixes: #2469

Show available bot commands
These commands are normally not required, but in case of issues, leave any of
the following bot commands in an otherwise empty comment in this PR:

/retest ci/centos/<job-name>: retest the <job-name> after unrelated
failure (please report the failure too!)
/retest all: run this in case the CentOS CI failed to start/report any test
progress or results

Hmm, you're right. I was going by the errors for CreateSnapshot in the CSI spec. ABORTED lists clearly a retry by the CO, RESOURCE_EXHAUSTED not.
In this case, I don't really know what the problem with #2469 could be.


PayPal Transaction Failure: Cannot read properties of null (reading 'getFullYear')

Describe the bug
Related to the fresh-desk ticket; https://opencollective.freshdesk.com/a/tickets/325901.
The PayPal transaction for the order,  https://opencollective.com/antennapod/orders/739042 failed with Cannot read properties of null (reading 'getFullYear'). Looking at the logs it seems that this is a recurring error while I am not certain of a way to re-create this.

Looks like it started ~2 days ago (Feb 21, 16:57). Relevant Sentry issues:

https://open-collective.sentry.io/issues/5001954776
https://open-collective.sentry.io/issues/4999655704
https://open-collective.sentry.io/issues/5001908601

Investigating.

Fixing the root cause in https://github.com/opencollective/opencollective-api/pull/9862, but we'll need to see how we're going to synchronize these transactions; I'm not sure if the cron/daily/51-synchronize-paypal-ledger.ts will catch them all.

Manual bank transfers with tips may have been impacted too

Extending the reconciliation job in https://github.com/opencollective/opencollective-api/pull/9869 to include checkout order transactions (previously only subscriptions were synchronized this way).

The issue should be fully resolved now.


Make DataContainer class safe for multithreading

Use std::mutex to make DataContainer class safe for multithreading.

This feature has been implemented https://github.com/inexorgame/entity-system/compare/130cefcfc29c...17f8b8eefd8e.


Add field names to structs when failing tests for Structs tutorial

Hopefully, this will make it easier for learners to understand which values refer to which fields, especially if there are multiple fields of the same type.
Originally did this only for the Drive function, but it might be useful in all the other places as well. Lmk if that is fine with you.
Before:
Car{5 95 2}
After
Car{"speed":5, "battery":95,  "batteryDrain":2}

@junedev Sweet, thanks for taking a look 🙇 . I see that a build step is failing, though when tested locally seems to pass.
Also I do not have write access to the repo, so feel free to merge whenever is suitable for you.

@2121159i These failures are unrelated with your change. This seems to be a temporary problem with Github Actions: https://www.githubstatus.com/incidents/gh0vvxtlj5v7
We are monitoring it and we are performing re-runs on the jobs periodically. When one of the runs passes, we'll merge this!


Mega pull request - Django 1.8 support, tests, tidy up, future compatibility

Django 1.8 support (based on #22 but with extra fixes for deprecation warnings)
TESTS - a new runtests script, tox-ified and tested from Django 1.5 to 1.8!!
Use of Django check framework for dependencies on Django versions that support it
PEP8 and isort tidying up

Due to no progress/response, we have been released on PyPI as nexus-yplan.

d761ac7f24d92237ca9ea2eb8b66476832f66486 has superceded this


[RFC] Specification of quantized reduction operation

From the discussion emerged in https://github.com/openxla/stablehlo/pull/1538 about the specification of quantized reduce op, we zeroed in to a proposal which need some structural changes in the op (adding additional blocks). This proposed RFC is to further explore the proposal in detail.
Please let me know your feedback.

Detail:  today Reduce has the following constraint:

(C3) 0 < size(inputs) = size(init_values) = size(results) = N.

Useful for the RFC to document out how this will change...

Detail: today Reduce has the following constraint:

(C3) 0 < size(inputs) = size(init_values) = size(results) = N.

Useful for the RFC to document out how this will change...

Hi Cormac
IMO, the above constraint should be unaffected with the proposal as the the number of input operand, number of init operands and number of results should remain the same.
The current proposal allows operand or init value types to differ from that of reduce block arguments. In that light, the following constraint should get affected.
(C6) body has type tensor<E0>, ..., tensor<EN-1>, tensor<E0>, ..., tensor<EN-1>) -> (tensor<E0>, ..., tensor<EN-1>) where Ei = element_type(inputs[i]).

I have proposed the changes to this constraint under ### Revised specification of reduce op.
Please let me know if I am misinterpreting your comment.

Detail: today Reduce has the following constraint:

(C3) 0 < size(inputs) = size(init_values) = size(results) = N.

Useful for the RFC to document out how this will change...

Hi Cormac IMO, the above constraint should be unaffected with the proposal as the the number of input operand, number of init operands and number of results should remain the same.
The current proposal allows operand or init value types to differ from that of reduce block arguments. In that light, the following constraint should get affected.
(C6) body has type tensor<E0>, ..., tensor<EN-1>, tensor<E0>, ..., tensor<EN-1>) -> (tensor<E0>, ..., tensor<EN-1>) where Ei = element_type(inputs[i]).

I have proposed the changes to this constraint under ### Revised specification of reduce op.
Please let me know if I am misinterpreting your comment.

sgtm


Upgrading controller runtime to v0.12.2

Controller runtime v0.12.1 had issues in which, controller logging
format was overwritten with last caller Name/Value. Please refer
to PR https://github.com/kubernetes-sigs/controller-runtime/pull/1911
Signed-off-by: Rahul Jain<EMAIL_ADDRESS>

/nephe-test-e2e-aws


Fix Global Style Imports documentation

Environment
N/A
Please refer me to the proper place to report documentation issues if this isnt right
Reproduction
N/A
Describe the bug
https://nuxt.com/docs/getting-started/assets#global-styles-imports
Example "In your nuxt.config"
export default defineNuxtConfig({
  vite: {
    css: {
      preprocessorOptions: {
        scss: {
          additionalData: '@use <EMAIL_ADDRESS>as *;'
        }
      }
    }
  }
})

vite is not a valid option. The docs are either out of date, or the installed version linked me to the wrong documentation. Seems like the former.
Additional context
No response
Logs
No response

The vite options and scss seem to work fine for me, drafted a quick example of here: https://stackblitz.com/edit/github-l6v7qt?file=nuxt.config.ts,assets%2F_colors.scss,app.vue


WIP RFC 001: Extend Quint with Row-Polymorphic Sum Types

This is a WIP RFC proposing the design for row-polymorphic sum types to be introduced to quint.
The tl;dr gives the gist of the proposal, and the statics are explained in (probably too much) detail. My notes on evaluating various alternatives for concrete syntax are still very rough and unfinished, as is the final section on additional considerations.
I am hoping we can reach agreement on the statics this week, which will also determine the AST, and that will free me up to begin implementation work while we hammer out details of the concrete syntax, and I polish up (or maybe remove most of?) the rest of the RFC.
Closes #673.

[ ] Tests added for any new code
[ ] Documentation added for any new functionality
[ ] Entries added to the respective CHANGELOG.md for any new functionality
[ ] Feature table on README.md updated for any listed functionality

I still need to do a pretty extensive editing, clean up, and revision pass, but I've made the following improvements following our conversation:

Committed a generated pdf, so the latex is easily and reliably readable. Feedback as annotated PDF is welcome!
Made the syntax more rust-like in the ways we discussed (swapped | for ,)
Added a fragment from the ERC20 spec that has been adapted to use sum types, so we can get a feel for what this syntax will look like in a spec.
Changed the injection rule so that we ensure a (necessarily closed) sum type has been defined.
Some cleanup to the first part of the doc.

Sorry for the rough state of the rest, but 6


Implement, test polytomize_root

As a public interface for _convert_node_to_root_polytomy
Closes #169

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Please upload report for BASE (main@50dc886). Learn more about missing BASE report.
Report is 50 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #194   +/-   ##
=======================================
  Coverage        ?   61.63%
=======================================
  Files           ?      105
  Lines           ?    18651
  Branches        ?        0
=======================================
  Hits            ?    11495
  Misses          ?     7156
  Partials        ?        0

Flag
Coverage Δ

unittests
61.63% <100.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Develop initial logic for end-of-life scenarios

[x] #80
[x] #119
[x] #120
[x] #121

Scenarios still being developed, will be picked up in future issues