CORE-15179 - Fixed issue with the getBalanceQuery

I see that the "tag" queries say:
"AND   token_tag ~ :$SQL_PARAMETER_TAG_FILTER"

What is ~? I don't think that's ANSI SQL :thinking:.

I see that the "tag" queries say:
"AND   token_tag ~ :$SQL_PARAMETER_TAG_FILTER"

What is ~? I don't think that's ANSI SQL 🤔. Is that a Postgres-specific operator for matching regular expressions? Because Corda isn't supposed to be Postgres-specific.

I see this is in code that has already been merged (albeit very recently), but I agree with @chrisr3 - we should try and avoid any DB specific SQL wherever possible, if we can update this to be DB-agnostic that will save us a lot of pain, as otherwise this logic will need to be updated to have DB specific implementations in line with the other work we are doing for multi database support.

@relyafi, the token logic must allow people to select multiple tokens with different tags. That operations has to be done at the DB level because it won't be practical to load all the tokens and do the filtering in-memory.

But how will this work on other databases? Is there an ANSI solution to your problem?

@relyafi, the token logic must allow people to select multiple tokens with different tags. That operations has to be done at the DB level because it won't be practical to load all the tokens and do the filtering in-memory.

@filipesoliveira that's fine, but can it be done in a way which uses ANSI SQL? If there is no alternative to what's been done, we can deal with it, but it will introduce extra complexity as we will shortly end up having multiple implementations to maintain.

There is no REGEX concept in ANSI SQL, unfortunately. From what I have found that feature is DB specific.

There is no REGEX concept in ANSI SQL, unfortunately. From what I have found that feature is DB specific.

Then don't use regular expressions? Regexs are really complicated anyway, especially if all people really want is match "tag*".

I cannot make that the decision because I am not fully aware of the use-cases. In the previous, implementation we were using regular expressions so I think it is best not to change the behaviour at least until @owenstanford is back.

so I think it is best not to change the behaviour at least until @owenstanford is back.

How about asking @blsemo?

It might best to have @owenstanford involved, too.

It might best to have @owenstanford involved, too.

I'm not suggesting that @owenstanford and @blsemo have a cage fight. I'm sure this feature is understood by more than one person.

It might best to have @owenstanford involved, too.

I'm not suggesting that @owenstanford and @blsemo have a cage fight. I'm sure this feature is understood by more than one person.

The suggestions being made are more than welcome. I will create a ticket so we capture this in the epic.

In TokenCacheEventProcessor:
val validClaims =
    nonNullableState.tokenClaims.filter { it.claimedTokenStateRefs == null || it.claimedTokenStateRefs.isEmpty() }
val invalidClaims =
    nonNullableState.tokenClaims.filterNot { it.claimedTokenStateRefs != null && !it.claimedTokenStateRefs.isEmpty() }

If I'm reading these lines correctly then the contents of validClaims and invalidClaims will be exactly the same, because you have implemented a double negative. Perhaps this instead?
val validClaims =
    nonNullableState.tokenClaims.filter { it.claimedTokenStateRefs.isNullOrEmpty() }
val invalidClaims = nonNullableState.tokenClaims - validClaims.toSet()

This removes a spurious warning about invalid claims being discarded.

Well spotted. I can see it now. It is easy to prove that is wrong by applying De Morgan's law to the boolean expression. I will fix that  too.

You might also want to consider:
diff --git a/components/ledger/ledger-utxo-token-cache/src/main/kotlin/net/corda/ledger/utxo/token/cache/services/AvailableTokenServiceImpl.kt b/components/ledger/ledger-utxo-token-cache/src/main/kotlin/net/corda/ledger/utxo/token/cache/services/AvailableTokenServiceImpl.kt
index 22ed77fe5e..88ffd28fdc 100644
--- a/components/ledger/ledger-utxo-token-cache/src/main/kotlin/net/corda/ledger/utxo/token/cache/services/AvailableTokenServiceImpl.kt
+++ b/components/ledger/ledger-utxo-token-cache/src/main/kotlin/net/corda/ledger/utxo/token/cache/services/AvailableTokenServiceImpl.kt
@@ -6,16 +6,16 @@ import org.osgi.service.component.annotations.Activate
 import org.osgi.service.component.annotations.Component
 import org.osgi.service.component.annotations.Reference
 import net.corda.db.connection.manager.DbConnectionManager
+import net.corda.db.schema.CordaDb
 import net.corda.flow.external.events.responses.exceptions.VirtualNodeException
 import net.corda.ledger.utxo.token.cache.entities.AvailTokenQueryResult
 import net.corda.ledger.utxo.token.cache.entities.CachedToken
 import net.corda.ledger.utxo.token.cache.repositories.UtxoTokenRepository
-import net.corda.orm.JpaEntitiesSet
 import net.corda.ledger.utxo.token.cache.entities.TokenBalance
 import net.corda.ledger.utxo.token.cache.entities.TokenPoolKey
+import net.corda.orm.JpaEntitiesRegistry
 import net.corda.virtualnode.read.VirtualNodeInfoReadService
 import net.corda.virtualnode.VirtualNodeInfo
-import org.slf4j.LoggerFactory

 @Component(
     service = [AvailableTokenService::class]
@@ -26,17 +26,14 @@ class AvailableTokenServiceImpl @Activate constructor(
     @Reference
     private val dbConnectionManager: DbConnectionManager,
     @Reference
+    private val jpaEntitiesRegistry: JpaEntitiesRegistry,
+    @Reference
     private val utxoTokenRepository: UtxoTokenRepository
 ) : AvailableTokenService, SingletonSerializeAsToken {
-
-    companion object {
-        private val logger = LoggerFactory.getLogger(this::class.java.enclosingClass)
-    }
-
     override fun findAvailTokens(poolKey: TokenPoolKey, ownerHash: String?, tagRegex: String?): AvailTokenQueryResult {
         val virtualNode = getVirtualNodeInfo(poolKey)

-        val entityManagerFactory = createEntityManagerFactory(virtualNode)
+        val entityManagerFactory = getOrCreateEntityManagerFactory(virtualNode)

         return utxoTokenRepository.findTokens(entityManagerFactory.createEntityManager(), poolKey, ownerHash, tagRegex)
     }
@@ -48,7 +45,7 @@ class AvailableTokenServiceImpl @Activate constructor(
         claimedTokens: Collection<CachedToken>
     ): TokenBalance {
         val virtualNode = getVirtualNodeInfo(poolKey)
-        val entityManagerFactory = createEntityManagerFactory(virtualNode)
+        val entityManagerFactory = getOrCreateEntityManagerFactory(virtualNode)

         val totalBalance = utxoTokenRepository.queryBalance(entityManagerFactory.createEntityManager(), poolKey, ownerHash, tagRegex)
         val claimedBalance = claimedTokens.sumOf { it.amount }
@@ -57,10 +54,13 @@ class AvailableTokenServiceImpl @Activate constructor(
         return TokenBalance(availableBalance, totalBalance)
     }

-    private fun createEntityManagerFactory(virtualNode: VirtualNodeInfo) =
-        dbConnectionManager.createEntityManagerFactory(
+    private fun getOrCreateEntityManagerFactory(virtualNode: VirtualNodeInfo) =
+        dbConnectionManager.getOrCreateEntityManagerFactory(
             virtualNode.vaultDmlConnectionId,
-            JpaEntitiesSet.create("emptySet", emptySet()) // No entity required. The mapping will be manually done
+            jpaEntitiesRegistry.get(CordaDb.Vault.persistenceUnitName)
+                ?: throw IllegalStateException(
+                    "persistenceUnitName ${CordaDb.Vault.persistenceUnitName} is not registered."
+                )
         )

     private fun getVirtualNodeInfo(poolKey: TokenPoolKey) =

because creating a new EntityManagerFactory each time could be expensive and is definitely unnecessary. And you weren't destroying it after use either, which suggests a resource leak.

This will be done in a different PR.

You might also want to consider:
diff --git a/components/ledger/ledger-utxo-token-cache/src/main/kotlin/net/corda/ledger/utxo/token/cache/services/AvailableTokenServiceImpl.kt b/components/ledger/ledger-utxo-token-cache/src/main/kotlin/net/corda/ledger/utxo/token/cache/services/AvailableTokenServiceImpl.kt
index 22ed77fe5e..88ffd28fdc 100644
--- a/components/ledger/ledger-utxo-token-cache/src/main/kotlin/net/corda/ledger/utxo/token/cache/services/AvailableTokenServiceImpl.kt
+++ b/components/ledger/ledger-utxo-token-cache/src/main/kotlin/net/corda/ledger/utxo/token/cache/services/AvailableTokenServiceImpl.kt
@@ -6,16 +6,16 @@ import org.osgi.service.component.annotations.Activate
 import org.osgi.service.component.annotations.Component
 import org.osgi.service.component.annotations.Reference
 import net.corda.db.connection.manager.DbConnectionManager
+import net.corda.db.schema.CordaDb
 import net.corda.flow.external.events.responses.exceptions.VirtualNodeException
 import net.corda.ledger.utxo.token.cache.entities.AvailTokenQueryResult
 import net.corda.ledger.utxo.token.cache.entities.CachedToken
 import net.corda.ledger.utxo.token.cache.repositories.UtxoTokenRepository
-import net.corda.orm.JpaEntitiesSet
 import net.corda.ledger.utxo.token.cache.entities.TokenBalance
 import net.corda.ledger.utxo.token.cache.entities.TokenPoolKey
+import net.corda.orm.JpaEntitiesRegistry
 import net.corda.virtualnode.read.VirtualNodeInfoReadService
 import net.corda.virtualnode.VirtualNodeInfo
-import org.slf4j.LoggerFactory

 @Component(
     service = [AvailableTokenService::class]
@@ -26,17 +26,14 @@ class AvailableTokenServiceImpl @Activate constructor(
     @Reference
     private val dbConnectionManager: DbConnectionManager,
     @Reference
+    private val jpaEntitiesRegistry: JpaEntitiesRegistry,
+    @Reference
     private val utxoTokenRepository: UtxoTokenRepository
 ) : AvailableTokenService, SingletonSerializeAsToken {
-
-    companion object {
-        private val logger = LoggerFactory.getLogger(this::class.java.enclosingClass)
-    }
-
     override fun findAvailTokens(poolKey: TokenPoolKey, ownerHash: String?, tagRegex: String?): AvailTokenQueryResult {
         val virtualNode = getVirtualNodeInfo(poolKey)

-        val entityManagerFactory = createEntityManagerFactory(virtualNode)
+        val entityManagerFactory = getOrCreateEntityManagerFactory(virtualNode)

         return utxoTokenRepository.findTokens(entityManagerFactory.createEntityManager(), poolKey, ownerHash, tagRegex)
     }
@@ -48,7 +45,7 @@ class AvailableTokenServiceImpl @Activate constructor(
         claimedTokens: Collection<CachedToken>
     ): TokenBalance {
         val virtualNode = getVirtualNodeInfo(poolKey)
-        val entityManagerFactory = createEntityManagerFactory(virtualNode)
+        val entityManagerFactory = getOrCreateEntityManagerFactory(virtualNode)

         val totalBalance = utxoTokenRepository.queryBalance(entityManagerFactory.createEntityManager(), poolKey, ownerHash, tagRegex)
         val claimedBalance = claimedTokens.sumOf { it.amount }
@@ -57,10 +54,13 @@ class AvailableTokenServiceImpl @Activate constructor(
         return TokenBalance(availableBalance, totalBalance)
     }

-    private fun createEntityManagerFactory(virtualNode: VirtualNodeInfo) =
-        dbConnectionManager.createEntityManagerFactory(
+    private fun getOrCreateEntityManagerFactory(virtualNode: VirtualNodeInfo) =
+        dbConnectionManager.getOrCreateEntityManagerFactory(
             virtualNode.vaultDmlConnectionId,
-            JpaEntitiesSet.create("emptySet", emptySet()) // No entity required. The mapping will be manually done
+            jpaEntitiesRegistry.get(CordaDb.Vault.persistenceUnitName)
+                ?: throw IllegalStateException(
+                    "persistenceUnitName ${CordaDb.Vault.persistenceUnitName} is not registered."
+                )
         )

     private fun getVirtualNodeInfo(poolKey: TokenPoolKey) =

because creating a new EntityManagerFactory each time could be expensive and is definitely unnecessary. And you weren't destroying it after use either, which suggests a resource leak.

This will be done in a different PR.

Can you replace the ~ operator with Postgres's equivalent REGEXP_LIKE function please? Specifically:
REGEXP_LIKE(string, pattern)

This will allow us a least to try to manage the database-specificity in the Hibernate Dialect. However, I'm not convinced that the E2E tests pass yet either.

This will be done in a different PR.

This will be done in a different PR.

Actually, can you include REGEXP_LIKE in this PR please? It is trivial, and its absence is blocking me.

This will be done in a different PR.

Actually, can you include REGEXP_LIKE in this PR please? It is trivial, and its absence is blocking my efforts to use HSQLDB.

I have raised a new PR with that change: https://github.com/corda/corda-runtime-os/pull/4458.


How to slice and combine lstm output

I want to select some time steps of an lstm output and merge these specifics time steps two by two.
I tried to do so with numpy :
`
X = np.arange(60).reshape((2,10,3))
indices = np.array([[0, 2, 3], [1, 2, 4]])

main_input = Input(shape=(10, 3))
indices_input = Input(shape= (2,), dtype="int32")

def filter_np(x, indices):

    extract = np.zeros(shape=(x.shape[0], indices.shape[1], x.shape[2]))
    combine = np.zeros(shape=(x.shape[0], indices.shape[1] * (indices.shape[1] - 1), x.shape[2] *    2))

    for i, ind in enumerate(indices):
        extract[i,:,:] = np.vstack([x[i, v, :] for v in ind])
        combine[i,:,:] = np.array([[np.concatenate((extract[i,j,:], extract[i,k,:]),axis=0)
                                    for k,_ in enumerate(extract[i,:,:]) if k != j]
                          for j,_ in enumerate(extract[i,:,:])]).reshape((indices.shape[1] * (indices.shape[1] - 1), x.shape[2] * 2))

    return combine

print filter_np(X, indices)

`
Output :
 [[[  0.   1.   2.   6.   7.   8.]
   [  0.   1.   2.   9.  10.  11.]
   [  6.   7.   8.   0.   1.   2.]
   [  6.   7.   8.   9.  10.  11.]
   [  9.  10.  11.   0.   1.   2.]
   [  9.  10.  11.   6.   7.   8.]]

  [[ 33.  34.  35.  36.  37.  38.]
   [ 33.  34.  35.  42.  43.  44.]
   [ 36.  37.  38.  33.  34.  35.]
   [ 36.  37.  38.  42.  43.  44.]
   [ 42.  43.  44.  33.  34.  35.]
   [ 42.  43.  44.  36.  37.  38.]]]

So now I would like to do the same with Keras backend and maybe a Lambda layer like :
   filtered = Lambda(filter_k, arguments={'indices' : indices_input}, output_shape=(7, 3))(main_input)
Thanks for your help !

The function for the lambda's output :
`
def filter_output_shape(input_shape):
    shape, shape_ind = input_shape
    shape = list(shape)
    shape_ind = list(shape_ind)
    shape[1] = shape_ind[1] * (shape_ind[1] - 1)
    shape[2] *= 2
    return tuple(shape)

filtered = Lambda(filter, output_shape=filter_output_shape)([main_input, indices_input])

`
For the lambda's function, I tried to extract time steps like that :
`
def filter(input):

    x, indices = input

    out = K.gather(K.permute_dimensions(x, (1,0,2)), indices)
    out = K.permute_dimensions(out, (0, 2, 1, 3))

    return out

`
output :
`
[[[[  0.   1.   2.]
   [  6.   7.   8.]
   [  9.  10.  11.]]

  [[ 30.  31.  32.]
   [ 36.  37.  38.]
   [ 39.  40.  41.]]]

 [[[  3.   4.   5.]
   [  6.   7.   8.]
   [ 12.  13.  14.]]

  [[ 33.  34.  35.]
   [ 36.  37.  38.]
   [ 42.  43.  44.]]]]

`
The output is wrong cause I can't unpack indices on the sample_dimension :
`
 tf.unstack(indices, axis=0)

ValueError: Cannot infer num from shape (?, 3)

`

Extract time steps seems to work fine with :
`
def filter_output_shape(input_shape):
    shape, shape_ind = input_shape
    shape = list(shape)
    shape_ind = list(shape_ind)
    shape[1] = shape_ind[1]

    return tuple(shape)

def filter(input):
    x, indices = input

    batch_size = K.shape(x)[0]
    rows_per_batch = K.shape(x)[1]
    indices_per_batch = K.shape(indices)[1]

    offset = K.expand_dims(tf.range(0, batch_size) * rows_per_batch, 1)

    flattened_indices = K.reshape(indices + offset, [-1])
    flattened_x = K.reshape(x, K.concatenate([[-1], tf.shape(x)[2:]], axis=0))

    selected_rows = K.gather(flattened_x, flattened_indices)
    filtered_x = K.reshape(selected_rows,
        K.concatenate([K.pack([batch_size, indices_per_batch]), K.shape(x)[2:]], axis=0))

    return filtered_x

filtered = Lambda(filter, output_shape=filter_output_shape)([main_input, indices_input])

`
`
output :

[[[  0.   1.   2.]
  [  6.   7.   8.]
  [  9.  10.  11.]]

 [[ 33.  34.  35.]
  [ 36.  37.  38.]
  [ 42.  43.  44.]]]

`
But I cannot find a way to concat them two by two..
tf.unpack() raise :

ValueError: Cannot infer num from shape (?, ?, ?)

@farizrahman4u ?


Green icon on the "No known contact " screen

0.9.5

Type of phone: Android
OS Version: 9
Model: e.g. Moto g6 plus

Steps to reproduce

Click on the installed safe paths app.
Get started and give location access
Once the user lands on "No known contacts" screen

## Expected Behavior*
Grey icon to be displayed
actual behaviour:
Green icon is displayed. Attaching screenshot for reference.

Will check this

@vedhakannan @summetj As per MVP, the current UI behaviour is correct for 'No known contact'.  Please confirm if any changes required.

@ArchanaNair In MVP there is a dialog box stating that it should be grey instead of green

.

Closing for now as this matches the stated MVP docs. Worth keeping in mind as a data point for UX though.

The MVP doc is out-out-date compared to the current release. Please see the 1.0.1 prototype for the latest reference: https://www.figma.com/proto/aOz2hCg6agulId3mGCQIv8/Safe-Paths-Version-1.0.1?node-id=1228%3A70&viewport=-2227%2C-928%2C0.47152677178382874&scaling=scale-down.
Based on the most up-to-date specs, the expected response is "No known contact" with a green indicator.
"home_no_contact_header": "No known contact",
"home_no_contact_subtext": "Based on available data you haven’t been near anyone reported positive for COVID-19.


Is lastupdate field removed?

There is no lastupdate filed in response.

Hello @eouia !
Oh I am sorry, I missed it.
lastupdate filed is added in new release version.
And new API(timeseries) is added too.
https://github.com/Laeyoung/COVID-19-API#timeseries
Thank you for your comment!


Figure out what needs to be done for Python 3 compatiblity

Given that SQLSoup and SQLalchemy are all Python 3 compatible, the next step is to find the potential points of issues directly in cruzdb.
In particular:

[ ] Figure out how the bundled SQLSoup is different than the stock one
[ ] Track issues that 2to3 can't fix (strings vs bytes etc)
[ ]  Move to a library like six to keep everything compatible with a single codebase (optional?)

Any update on python-3.3 compatibility? Thanks!

@dylkot can you try the py3 branch?

Sorry for the slow response I gave it a try and made few superficial changes (print statements, some import statements, and a try/except statement) and so now:
from cruzdb import Genome"

works fine. The problem comes with:
g = Genome("hg19")

I get the error:
ImportError: No module named 'MySQLdb'

From what I can tell MySQL-python doesn't support python3 right now (see http://stackoverflow.com/questions/20049590/pip-3-3-install-mysql-python) so would need to figure out a solution for that. Might be a bit more than I have bandwidth for at the moment though.

so would need to figure out a solution for that. Might be a bit more than I
have bandwidth for at the moment though.

Install "oursql" and use a full SQLalchemy-style URL for connecting including
the driver (see the SQLalchemy docs).

I am running into this for python 3.4.3
File "/home/aulloa/.virtualenvs/p3/lib/python3.4/site-packages/cruzdb/sqlsoup.py", line 458
except KeyError, ke:
^
SyntaxError: invalid syntax


Fire change events when selecting different items with native menu completion

Previously we didn't do this, which resulted in the documentation window
not being shown when switching through different completion items. Fix
this by firing the change event in select_next_item and select_prev_item.

I don't think it's correct. See https://github.com/hrsh7th/nvim-cmp/pull/514/files#diff-08b3a05fbbdb22b51fc7910a2977836da2796d89b00fe66828cedf0e31d17ccfR24
The native menu will fires the CompleteChanged event.

I don't think it's correct. See https://github.com/hrsh7th/nvim-cmp/pull/514/files#diff-08b3a05fbbdb22b51fc7910a2977836da2796d89b00fe66828cedf0e31d17ccfR24
The native menu will fires the CompleteChanged event.

Sorry, I see you linked back to the commit diff for this MR but I'm not sure I'm totally following. Are you saying that nvim should be firing the CompleteChanged event every time the native completion popup's selection is changed, which would presumably handle firing off the changed event here:
  autocmd.subscribe('CompleteChanged', function()
    self.event:emit('change')
  end)

However, this doesn't appear to be the case with nvim 0.5.1, where I only ever see the CompleteChanged event get emitted when the completion initially begins, or when the text which triggered the completion gets changed while the popup is still open. Could this possibly be some sort of neovim bug then?

Hm... I think if we use cmp.SelectBehavior.Select, the vim does not fires the event.
OK. I'll review it.

Sorry for the lately reply.
I can merge this.


Cant convert a video to mp4 and keep its size

I am trying get a video out as a mp4 and I need to keep the original proportions.
This is my current Template
{
  "steps": {
    "encode": {
      "use": ":original",
      "robot": "/video/encode",
      "ffmpeg_stack": "v2.2.3",
      "result": true,
      "preset": "ipad-high",
      "ffmpeg_params": {
        "s": "-1x-1"
      }
    },
    "thumbnails": {
      "use": ":original",
      "robot": "/video/thumbs"
    },
    "store": {
      "use": "encode",
      "robot": "/s3/store",
      "key": "xxxxxxxxxxx",
      "secret": "xxxxxxxxxxx",
      "bucket": "xxxxxxxxxxx"
    }
  }
}

Hey @mzaragoza,
thanks for writing. Unfortunately this is completely unrelated to the rails sdk, as it passes the options to Transloadit and then stuff happens on their servers. Pinging @kvz @tim-kos, can you help this fella out? :)

Hi! Yes please use the speech bubble on our website or email<EMAIL_ADDRESS>We take pride in very fast response times and/so I'm sure we can get this sorted it quickly for you.
Thanks Robin for the mention! ❤
Sent from mobile, pardon the brevity.

On 10 Sep 2017, at 18:47, Robin Mehner<EMAIL_ADDRESS>wrote:
Hey @mzaragoza,
thanks for writing. Unfortunately this is completely unrelated to the rails sdk, as it passes the options to Transloadit and then stuff happens on their servers. Pinging @kvz @tim-kos, can you help this fella out? :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


Placeholder text gets submitted to the server.

I don't know if this is me alone but the text meant for the placeholder is submitted to the server in case the form is submitted without filling certain text, I think the form submit even handler can remove the text before it is submitted. Just saying :smile: .. Right now i am managing by making the server code ignore all the placeholder text.

I'm seeing this also.  It happens if I do the following in IE9 only:
Click on the field that has the placeholder (Placeholder text is correctly removed).
Type some text
Delete all the text
Keep the text cursor in the same field but move the mouse pointer around the rest of the web page.  I'm guessing that a blur or focus event occurs that then causes the placeholder text to be put back in the input box.  If I now type, then I have a value and the placeholder text and this can also then be submitted to the server.
I'd really appreciate any help/insight on this please.
Many thanks

Going through the same issue

It looks to be a blur/focus or a timeout occurring when the mouser pointer is somewhere else on  the page and the text cursor is still in the cell.  I'd tried adding some logic to try and detect where the text cursor is when one of those events occurs, but haven't been successful.  My thinking was that if we could tell that the text cursor was still in the input/textarea then we could prevent the placeholder from being shown again.

I noticed this problem too. We're using it in an ASP.NET MVC application with MVC AJAX forms. The placeholder value arrives on the server so I check for it explicitly and filter it out.

Is it possible this is fixed already? I've been trying to trigger it unsuccessfully. I noticed https://github.com/mathiasbynens/jquery-placeholder/commit/57375b351b133303bf75bb6dd72d44753990bc47 is described as "Fix set hook and clearPlaceholder error".
It seems like it should be quite possible to do what @lawrenceyarham is saying and check to see if the focus is on the input field.

I'm experiencing the same issue. Seems to be related to me using a custom submit event on my forms. Specifically, I'm thinking that having a custom submit event conflicts with this part of jquery-placeholder.

To add to my previous comment, here's a fix that works for me. It seems to be what jquery placeholder expects you to do if you have custom submit handlers. It uses jquery event namespaces.
$('form').submit(function (e) {
    e.preventDefault();

    // custom logic here ...

    $(this).trigger('submit.placeholder');

    this.submit();
});


feat: use event name instead of const to be psr-14 compliant

Why?
With symfony 4.3 and the psr-14, events are not supposed to rely on const for their types anymore, and should be indepent classes.
How?

Refactor events :

Move existing code from GuzzleCacheEvent && GuzzleHttpEvent to AbstractGuzzleCacheEvent && AbstractGuzzleHttpEvent to stop relying on const for the event names (deprecated)
Create named events :

GuzzleHttpErrorEvent
GuzzleCacheErrorEvent

Update tests

There shouldn't be any BC break with previous symfony versions, we kept the compatibility so the composer.json doesn't need to be changed
(for information, current symfony version in composer.json is : "~2.3||~3.0||~4.0")


Maybe bug about DumpTools

https://github.com/BabylonJS/Babylon.js/blob/e883bb339451cf7c9aaaaf7fb1618a3a4dff00c6/packages/dev/core/src/Misc/dumpTools.ts#LL141C1-L142C1
data2[n] = v < 0 ? 0 : v > 1 ? 1 : Math.round(v * 255);
v > 1 ? 1 : xxx
maybe change to
v> 1 ? 255: xxx?

Hello! As it's stated on our template, please validate issues on the forum first https://forum.babylonjs.com/ before opening on Github.


[PIO-86] Docker support

Please see README.

The official docker support is nice! and I was impressed your idea which composite PredictionIO's configuration by compositing docker-compose.yml by -f option!
However I think docker-compose is just for quick start for users, not for production use because we would need to create our own Spark cluster or Elasticsearch cluster if we need them outside of a PredictionIO instance. For this purpose, I think a fixed minimal structure of docker-compose.yml (e.g. PIO + PostgreSQL + Spark) is sufficient.
Further, if we offers the docker support officially, it would be nice if we can put a docker image to Apache registry (but I don't know how can we do it!):
https://hub.docker.com/r/apache/

Thank you for your feedback.

However I think docker-compose is just for quick start for users

I have a plan to support Kubernetes after this PR.
To do that, I consider that Kompose generates K8s' yml files for production use.
So, I think that this multiple docker compose files are for production.

Ah, your plan is that creating whole PredictionIO enviornment indcluding Spark cluster and storage cluster on the Kubernetes cluster, right? That was beyond my imagination, really exciting! If so, it would be nice if we can support HDFS, HBase and various managed services on the cloud as well.
I have some questions about Dockerfile, so I will make comments later. But basically agree with your Kubernetes support plan.

One way we can proceed is to mark the Dockerfile and the image it generates as official. Helper scripts and compose files can be marked as official reference. Good work @marevol !

your plan is that creating whole PredictionIO enviornment indcluding Spark cluster and storage cluster on the Kubernetes cluster

Yes, and also you can use external clusters to specify it in docker-compose.[meta|event].yml.

It's okay to merge this PR.
For a release procedure, I'll file a new issue on JIRA and update PMC.md.

Updated:

Set v0.13.0 as a default build tag
Use --build-arg option to change a tag/branch

I'll merge this PR if there are no other concerns.

What is your opinion about this comment?
https://github.com/apache/predictionio/pull/462#discussion_r218608459
I have an another concern. Is it ok to include MySQL driver in the official docker image? I guess it's ok because this Dockerfile is in the official repository but docker image is delivered from DockerHub. So we can say: "It's not a distribution managed under ASF." But I'm not sure this logic is valid.

What is your opinion about this comment?

Does --build-arg option solve it?
You can change a branch or tag when building a docker image.
Just in case, I moved MySQL download process into pio_run.

Does --build-arg option solve it?

Using --build-arg is nice! But I mean it would be nice if we can create a docker image on my working copy before commit and push something. But this is my opinion. Don't mind if you don't need it.

Just in case, I moved MySQL download process into pio_run.

Good idea. This solution can be applied to setup of native distributions.

@marevol Is there any update on the kubernetes deploy documents? And is there any documentation about how to do it with multiple replicas?
Thank you


[Bug]: Footer not visible on pdf

What happened?
I'm trying to add a footer to all my pages but the first one. I've tried using $pdf->footerView() and $pdf->footerHtml but both seem to not show anything while I am able to find it on the page using CTRL + F. I need the footer to be on the bottom of the page it's on, but when I use position absolute all the page footers will be on the first page instead of their own. This is my blade that I load with pdf()->view('my-pdf.blade.php')->footerView('footer.blade.php')->name('name.pdf');
How to reproduce the bug
my-pdf.blade.php
<!DOCTYPE html>

    <meta charset="utf-8">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="https://fonts.googleapis.com/css2?family=Kadwa:wght@700&family=Lato:ital,wght@1,300&display=swap"
          rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap"
          rel="stylesheet">

    <title>{{$project->getTestDocumentTitle()}}</title>

@include('pdfs.frontpage', ['title' => $project->getTestDocumentTitle() ])

@pageBreak

@lang('testcase.testcase_plural')

        /// content

/// i want a footer here with an image and text
@pageBreak

@foreach($testcases as $index => $testcase)

    /// some content

    /// i want a footer here with an image and text
    @pageBreak
@endforeach

footer.blade.php

Page @pageNumber of @totalPages

Package Version
1.1.2
PHP Version
8.2
Laravel Version
10
Which operating systems does with happen with?
macOS
Notes
No response

either header and footer visible with very low font size, when including a image it is not all showing. When you use alt attribute in the image it is showing as image not loaded please rectify the issues


fix: adjust entry

Fix broken module entry point

Fixes https://github.com/donavon/use-interval/issues/55

@donavon thanks for this awesome package.
Could you have a look and merge this? This is an important change for us. Otherwise we are forced to fork and republish.
Thank you :)

Duplicate of https://github.com/donavon/use-interval/pull/34


Very low contrast on bottom element

Contact information is unclear
Primary text color with background color create low constrain effect for visibility.

#
Severity (0-4)
Heuristic Transgressed/Supported
Where in the interface/application
Issue
Remedy

2
3
Visibility of system status
Footer section
Very low contrast between text and background colors
Adjust colors to ensure sufficient contrast

Fixed in last commit https://github.com/aziznab/uh-accessibility-2024/commit/ffb65aea1360a4aecf85ff620a2089e53f4135a9


Incorrect handling of gzip-encoded response

Hi!
It seems that superagent ignores actual encoding specified in Content-Encoding header. It always uses deflate algorithm to decode response.
As a quickfix I suggest removing gzip from Accept-Encoding header.

Can you provide a URL that shows the error?

Sorry, false alert.


"build" proxy bug

Hey :)
According to the docs proxy on objects doesn't work correctly:
build('user').get('firstName') // undefined
build('user').get('first-name') // myName

The proxy forgot to camelize the attribute key.

Howdy Maciej, you have hit upon a great question. Why the dasherized keys?
Remember .. the build method gets you a payload
a payload is json like this:
{
    "data": {
       "id": 1,
       "type": "user",
       "attributes": { "first-name": "blah" }
    }
};

The build returns a special project class that can inspect this json .. but since you are building for a payload that is JSONAPI ( in your case ) .. you get dasherized keys.
I am going to make a special method called  attributes_for that will do what you really want
Example:
 let attrs = attributes_for('user');  //=> { firstName: "blah" }

Give me a day to finish that
Any other questions ?

That's exactly what I wanted to achieve! :)  Great answer Daniel!
I just expected to have build method the same as in FactoryGirl which returns pure attributes objects.
Is the attributesFor method will also return all relationships inside?

Maybe we should keep the consistency with the FactoyGirl and allow build to return attributes and have another method like payloadFor for returning payloads objetcs?

In factory girl ( ruby ) they have a  method called attributes_for . so I was using that idea
i am not sure if I can do relationships properly but I can try ?
in our world of ember data we need payloads to build is perfect for that.
i could do
attributesFor('user')
OR maybe
build('user').getAttributes() // new method on build ??
or
build('user').get(); // i could fix it to return keys like you expect from a real model ( would be super cool but super hard )

Right, sorry I was wrong :)
I think attributesFor('user') would be perfect. The rest build('user').getAttributes() build('user').get() will be just nice to have :)
having relationships attributes in the object would be sth amazing for me especially for complicated forms tests. But of course, it can be added later on as it will be possible to bypass it using attributesFor :)

attributesFor is really easy .. so i going to try to do build('user').get() style since that one I use all the time and I get sick of the dasherized keys .. and it going to be really tricky

Im just not sure now if this will be a good approach.
What if the build object would contain deserialized attributes object, like build('user').attributes and the get would be just a proxy on it? but in that case, we would have to move all request payload keys to a container key like payload

not sure why i would do that?  why do i need attributes key ?
I guess I can see why .. but what is wrong with .get() returning the regular keys like a rest payload would ?
also I  can not use a property key like attriubutes
do you know how this Payload class actually works.  Check it out and let me know if you understand what I talking about. Otherwise I can get on slack and explain it and we can think about a good solution together.

There is nothing wrong. :) The question here is that using get('camelizeValue') can be a little confusing when calling on dasherized keys payload. Im just thinking ... when we will have an attributesFor method, maybe then, getting attributes form a built payload using get should be considered as a bad pattern as this is not a goal of payload object? Maybe it works perfectly fine right now?
Moreover, we can't override a get method as then the get(payload, 'myKey') won't be working as well, I think so.
Sure I agree, we should have a way to access attributes hash from the payload object by using some native getter property build('user').attributes or a function build('user').getAttributes().
So theoretically we can solve 2 problems at once :) Let's say we have an attributesFor for getting object of attributes and build('user').attributes where we can get() on it with dasherized key :)

do you know how this Payload class actually works. Check it out and let me know if you understand what I talking about. Otherwise, I can get on slack and explain it and we can think about a good solution together.

I will look at it through the weekend, but if you would like to chat or talk about it, I'm always open to do it :)

Whooray Maciej .. you make some very very good ideas 🏅
You're right .. build should be for payload  and to use that for attributes is just confusing ( and is a bad pattern as you say )
It should be its own method to do just that one thing that it is supposed to do ( get attributes for model )
please check out that JsonPayload class , because we can not put any keys on that json build payload and only we can put functions => I will leave this as a special puzzle for you to figure out why.  If you can solve the riddle you will earn the  💎

I just finished that .. so now we have attributesFor .. whooray .. thanks for discussion
=>  v2.13.27


Fix contenteditable mode

makeVList sets depth with an empty span for which it defines a span height. But Chrome, in contenteditable mode only, treats that span as if it contains some text.  The resulting min-height can over-ride our desired depth.
So we insert an empty span inside the depthStrut span. This fixes issue #1178.
I don't know how to write a test for this. The condition only occurs inside an external contenteditable div.

Oops. I forgot to create a feature branch. Now I've made a pull request from my local master branch. Sorry.
This PR should get reviewed before my other pending PRs. Until this one lands I won't be able to help much with the others.

@ronkok for testing, I think a screenshot test is probably appropriate.  In https://github.com/Khan/KaTeX/commit/53203ed92cc3a2a89b0de178bf540f34a3f81f4f @davidflanagan added a option to the screenshot tests to include a style property.  We could also add a content editable property in a similar fashion.

Since you mentioned me and screenshot tests, I had an idea this weekend that I'll just drop here: I don't know how the screenshots are being generated in headless mode inside those docker containers, but I wonder if there is an option to specify the dpi resolution of the virtual screen that is used. For some of @ronkok's recent work on horizontal lines it seems like testing high resolution and low resolution screenshots might be helpful

@kevinbarabash I don't think the usual screenshot infrastructure will capture the issue here. Everything within a KaTeX span renders fine. Below, I show two fractions, one with the current master and one with this PR. Both renderings are fine because vertical alignment is set by makeVList.

But the following image shows how KaTeX interacts with surrounding HTML. The image on the left is the currrent master and on the right is the proposed PR.

So I'm still stuck. I'm sure that I've fixed the problem, but I don't know how to make screenshotter demonstrate it.

In static/main.js (used in the test server via npm start), there's an option called after=... that lets you put text (maybe arbitrary HTML?) after the rendered KaTeX stuff.  (Though it also only supports display math at the moment...)  Anyway, it's plausible we could at a YAML field after: that lets us put some HTML after the LaTeX part in the screenshot test.  But this might be for another issue/PR?

Actually, it turns out that test/screenshotter/test.html already supports "pre" and "post" queries to put text before and after the rendered KaTeX.  It would be easy to add support for pre: and post: fields in the test YAML to set these.  This would allow us to build a test that illustrates bug #836, for example.
But we'll also need a "contenteditable" flag.  I will give it a try.

My bad.  test/screenshotter/ss_data.js already imports the pre and post strings, so that already works (and is in one test).  So I just need to add a contenteditable flag.  At least now I know how!

Unfortunately, I've been unable to reproduce this issue in the screenshotter.  Maybe a side-effect of headless mode that it ignores contentEditable?  I've tried even this hard-coded HTML (in test/screenshotter/test.html):

      TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT

      TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT

The result (in Chrome) is this:

Am I missing something?  Otherwise, I'm not sure we can make a screenshot test of contentEditable.

All this PR does is put one empty span inside another empty span. Maybe we could do without a test?

@edemaine I like change to test.html, it's too bad it doesn't reproduce the issue. :(


PHP-CS-Fixer doesn't work in Atom on Windows.

Description
I put correct php-cs-fixer absolute path in configuration, but I'm still getting error Could not find 'C:\Users\kubak\AppData\Roaming\Composer\vendor\bin\php-cs-fixer'. The program may not be installed.
See C:\Users\kubak\AppData\Roaming\Composer\vendor\bin\php-cs-fixer installation instructions at https://github.com/Glavin001/atom-beautify#beautifiers or go to https://github.com/FriendsOfPHP/PHP-CS-Fixer
Your program is properly installed if running 'where.exe C:\Users\kubak\AppData\Roaming\Composer\vendor\bin\php-cs-fixer' in your CMD prompt returns an absolute path to the executable.

I used command where.exe C:\Users\kubak\AppData\Roaming\Composer\vendor\bin\php-cs-fixer and it gave this output INFO: Could not find files for the given pattern(s)., but path is correct because I can execute C:\Users\kubak\AppData\Roaming\Composer\vendor\bin\php-cs-fixer and it will give me standard help.
I also tried to use php-cs-fixer as path, because then if I would use where.exe php-cs-fixer, I'm getting absolute path to executable as plugin wants me to, but it still gives me the same error.
Steps to Reproduce

Install PHP-CS-Fixer through Composer
Add to "Atom Beautify: Executables: PHP-CS-Fixer: Path" setting path to php-cs-fixer executable
You're getting error mentioned above!

Debug
Here is a link to the debug.md: https://gist.github.com/jack1142/ddf91d5fab1e61e6004efecab6cc6ec4
Checklist
I have:

[ ] Tried uninstalling and reinstalling Atom Beautify to ensure it installed properly
[x] Reloaded (or restarted) Atom to ensure it is not a caching issue
[x] Searched through existing Atom Beautify Issues at https://github.com/Glavin001/atom-beautify/issues
so I know this is not a duplicate issue
[x] Filled out the Input, Expected, and Actual sections above or have edited/removed them in a way that fully describes the issue.
[x] Generated debugging information by executing Atom Beautify: Help Debug Editor command in Atom and added link for debug.md Gist to this issue

Bot, you idiot, it's right there! XD

https://gist.github.com/jack1142/ddf91d5fab1e61e6004efecab6cc6ec4

@jack1142 it looks for gist.github.com and at the checkboxes too.  I'll update the comment message to clarify that.
What kind of file is php-cs-fixer at C:\\Users\\kubak\\AppData\\Roaming\\Composer\\vendor\\bin\\php-cs-fixer?

If you're asking about extension, then it just doesn't have any extension, looks like some sh script:
#!/usr/bin/env sh

dir=$(cd "${0%[/\\]*}" > /dev/null; cd "../friendsofphp/php-cs-fixer" && pwd)

if [ -d /proc/cygdrive ] && [[ $(which php) == $(readlink -n /proc/cygdrive)/* ]]; then
   # We are in Cgywin using Windows php, so the path must be translated
   dir=$(cygpath -m "$dir");
fi

"${dir}/php-cs-fixer" "$@"

I checked dir variable (C:\Users\kubak\AppData\Roaming\Composer\vendor\friendsofphp\php-cs-fixer) and it is just entire repository from https://github.com/FriendsOfPHP/PHP-CS-Fixer

Hmm, actually I don't think the error message in the UI is correct. It should be where.exe php-cs-fixer . Can you try running that?
After that, try putting .bat at the end of the path in Atom Beautify for php-cs-fixer.

Yeah, I did that before, here's what where.exe php-cs-fixer:
C:\Users\kubak\AppData\Roaming\Composer\vendor\bin\php-cs-fixer
C:\Users\kubak\AppData\Roaming\Composer\vendor\bin\php-cs-fixer.bat

I also have already tried version with and without .bat both shows the same error.

Can you run the debug command when you have the path that includes .bat?

Okay, I have no idea how, but I was sure I checked .bat variant and it didn't work, but it apparently works 😮
Thanks for help!

No problem, glad to hear it's working.


Feature table

Feature table raw file icons displayed in accourdance to raw file color

Column visibility applied recursively

Default color palette added to PaintScalePalette dialog:

Fixed periodic table dialog, elements are now actually added to the ElementsComponent.


Two-factor authentication

Just ran into this. If I have two-factor authentication enabled, it will not log you in unless you disable that option in robinhood.(not sure if I put this in the right spot, I don't generally use github, app looks awesome btw!)

Thanks for pointing that out! This dashboard currently doesn't support two-factor auth, but I'll look to add that ASAP.

@dtown1984 I just added support for multifactor authentication. Try and out and feel free to reopen the issue if there's an problem or it doesn't work.


Add lightmap bake cancelling

This enables the "Cancel" button in the lightmap baking progress window and checks the cancel request whenever a progress is updated/reported during lightmap baking. Most of the functionality was already there, including a potential cancel request by the callback, but callback's return value was never checked.
This adds some checks where possible. A couple of progress updates wouldn't forward a cancellation result so i didn't add them but in practice i never saw them when testing cancelling (though i mainly tested with the GI demo). The main part that takes most of the time, indirect light integration, does get cancelled.
The patch just stops the lightmap calculation when it gets cancelled. I didn't notice this creating any leaks, but i might have missed them as this is the first time i saw the lightmapper code, so someone who is more familiar with this should review it.
This should address https://github.com/godotengine/godot-proposals/issues/8181.

However, a memory leak occurs if I cancel baking while indirect light is being calculated:

I'm not surprised, these early return error conditions will need to free the GPU resources before returning as we do with the current error handling.
See for example
https://github.com/godotengine/godot/blob/9e6098432aac35bae42c9089a29ba2a80320d823/modules/lightmapper_rd/lightmapper_rd.cpp#L1453-L1465

I updated the PR, it should release memory now (thanks to @Calinou 's video i also learned the AMD equivalent to the tool he uses - amdgpu_top - so i ran a bunch of bakes and cancelled them at various points and memory returned at the pre-bake numbers).
There were already some existing early exits in the function so i thought it was ok to exit, i guess they are also leaks. There are a lot of exit points in this so it should probably be refactored to have a single exit point with some sort of "if (error) goto fail" at the end of the function that cleans up everything, so perhaps someone more familiar with the code could clean it up (i could do it in the future if nobody does but i think some stuff may need to be moved around and at the moment i do not feel confident enough to touch anything that would affect the code's logic).

Thanks! Congratulations on your first merged contribution! 🎉


change conditional array slice from 1st index to most True values

Github Issue: #226
Description
This changes the trimming of the conditional array when subsetting both spatially and temporally, so that valid values in the time variable (for TEMPO data) are not inadvertently lost.
Overview of work done
The logic has been changed.  Before, the first index of the missing dimension was selected naively. Now, the conditional array is iterated over to find the row/column that has the most True values and that row/column is selected.
Overview of verification done
Tested this manually with TEMPO data locally. Ran and passed all of the automated tests for the subset module.
Overview of integration done
None.
PR checklist:

[x] Linted
[ ] Updated unit tests
[x] Updated changelog
[ ] Integration testing

See Pull Request Review Checklist for pointers on reviewing this pull request

Hi @jamesfwood, looks like there is an issue with dependency versions that Snyk wants addressed. Can you help with addressing this?

Hi @jamesfwood, looks like there is an issue with dependency versions that Snyk wants addressed. Can you help with addressing this?

Hi @jamesfwood, looks like there is an issue with dependency versions that Snyk wants addressed. Can you help with addressing this?

Hi @danielfromearth, if you pull in the latest develop into your branch it and repush should fix the issue.  It updated pillow version.

Status update: one of the automated tests (tests/test_subset.py::test_cf_decode_times_sndr) just started failing after updating the poetry dependencies. It appears to be failing on an xarray .where() function for a single variable (/local_solar_time) in the SNDR data.

Update:
Well, this fix to extend the xarray.open_dataset()'s mask_and_scale application to more time variables seems to have worked, as it replaces null values with fill values to avoid the Overflow error.  So, perhaps we can ignore the null time values in this test data file for now.  The SNDR team may still want to confirm whether those null values in the local_solar_time array are expected.

Thanks @sliu008 for reviewing this too!


fix: web server config porting

Related issue
Closes: #ISSUE_NUMBER_HERE
Description

Describe the changes in this pull request

Supplemental testing
Describe any testing done in addition to existing unit tests
Additional context
Please provide any additional information related to this PR

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Just a general comment when we create PRs for rules repo or CTA we should also create an issue to pair it with as well. Also I am not sure we should upgrade the package.lock files I believe we purposely rolled back the version on those.


Next Permutation

Problem Link : https://leetcode.com/problems/next-permutation/
Problem : Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.
If such an arrangement is not possible, it must rearrange it as the lowest possible order (i.e., sorted in ascending order).
The replacement must be in place and use only constant extra memory.
Platform : LeetCode
Language : C++

Please assign this to me

@pritmanvar this is already been assigned to other


upgrade the analysis server lib version

upgrade to the latest analysis server spec, that captures the new error code field
recompile the JS output

@danrubel

LGTM


packer, terraform and consul ( https://hashicorp.com/ ) completion.  Fino theme colour fix.

bump

Resubmit.


fix(outsideClick): closing when event element is removed from DOM

Prevent popover and dropdowns that have outsideClick from closing when the element clicked is inside the popover or dropdown the click event causes the element to be removed from the DOM.
Bug Example: http://plnkr.co/edit/a7mCnSmMfrARKCfDxCTw?p=preview
Fix Example: http://plnkr.co/edit/TSAjXnlMMNRSnuneRZsT?p=preview

I don't like this solution - why does it need to be changed from jqLite to raw DOM event listeners?

jqLite doesn't support the 3rd param.

It sounds wrong to use the useCapture parameter of addEventListener - this seems to go against typical event bubbling.
Switching from $document to $document.find('body') sounds legitimate though.

Anything else I am imagining right now seems significantly worse or complicated to me. They would require watching for changes on all the elements that compose a popover content and adding them to a list of elements to be ignored, so detached nodes can still be considered part of the popover, or walking through the popover and wrapping or reordering all events created in the popover.

This can be avoided by just using stopPropagation() on the element, exampleplunk

That breaks outsideClick if you have nested components using outsideSide click. If you click on the outer element, the trigger for the inner element won't be reached. However, that isn't my personal use case and stopPropagation does work for my personal use case for now.

Going to close this as bypassing the event delegation mechanism is a major breaking change that is not desired in the library. Any attempt to tackle this should not break expected behavior.


Show hierarchical menu with recursion.

It will check all menu item if has a child a show the submenu.

It needs some css improvements but works ok.

hey thanks @ffabiosales this is looking great!
i think i like the styles better of the current navigation but i can play with those myself once this is merged in
if you dont mind just moving those styles though into the new NavListItem module i think we should be okay here

hey @ffabiosales any luck on the change?


HADOOP-17126. implement un-guava Precondition checkNotNull

NOTICE
As part In order to replace Guava Preconditions, we need to implement our own versions of the API.
This PR is to create checkNotNull in a new package dubbed unguava.
This is splitting the PR that was opened previously #2134

The plan is as follows

create a new package org.apache.hadoop.util.unguava;
create class Validate
implement  org.apache.hadoop.util.unguava.Validate  with the following interface

checkNotNull(final T obj)
checkNotNull(final T reference, final Object errorMessage)
checkNotNull(final T obj, final String message, final Object... values)
checkNotNull(final T obj,final Supplier<String> msgSupplier)

guava.preconditions used String.lenientformat which suppressed exceptions caused by string formatting of the exception message . So, in order to avoid changing the behavior, the implementation catches exceptions triggered by building the message (IllegalFormat, InsufficientArg, NullPointer..etc)
After merging the new class, we can replace guava.Preconditions.checkNotNull by unguava.Validate.checkNotNull
We need the change to go into trunk, 3.1, 3.2, and 3.3

Similar Jiras will be created to implement checkState, checkArgument, checkIndex

CC @steveloughran I split the changes in PR #2134 . For practicality and convenience, I decided to breakdown the code implementation. Each PR focuses on a single helper.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
22m 15s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  1s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
19m 31s
trunk passed

+1 :green_heart:
compile
19m 22s
trunk passed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04

+1 :green_heart:
compile
16m 42s
trunk passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+1 :green_heart:
checkstyle
0m 51s
trunk passed

+1 :green_heart:
mvnsite
1m 27s
trunk passed

+1 :green_heart:
shadedclient
16m 38s
branch has no errors when building and testing our client artifacts.

-1 :x:
javadoc
0m 44s
hadoop-common in trunk failed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.

+1 :green_heart:
javadoc
1m  4s
trunk passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+0 :ok:
spotbugs
2m 15s
Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
2m 13s
trunk passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 48s
the patch passed

+1 :green_heart:
compile
18m 39s
the patch passed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04

+1 :green_heart:
javac
18m 39s
the patch passed

+1 :green_heart:
compile
16m 46s
the patch passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+1 :green_heart:
javac
16m 46s
the patch passed

+1 :green_heart:
checkstyle
0m 51s
the patch passed

+1 :green_heart:
mvnsite
1m 28s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
shadedclient
14m  4s
patch has no errors when building and testing our client artifacts.

-1 :x:
javadoc
0m 44s
hadoop-common in the patch failed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.

+1 :green_heart:
javadoc
1m  3s
the patch passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+1 :green_heart:
findbugs
2m 18s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
9m 21s
hadoop-common in the patch passed.

+1 :green_heart:
asflicense
0m 53s
The patch does not generate ASF License warnings.

170m 10s

Subsystem
Report/Notes

Docker
ClientAPI=1.40 ServerAPI=1.40 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-2143/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/2143

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle

uname
Linux 990aeaa523a2 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / 1f71c4ae714

Default Java
Private Build-1.8.0_252-8u252-b09-1~18.04-b09

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_252-8u252-b09-1~18.04-b09

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-2143/1/artifact/out/branch-javadoc-hadoop-common-project_hadoop-common-jdkUbuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-2143/1/artifact/out/patch-javadoc-hadoop-common-project_hadoop-common-jdkUbuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-2143/1/testReport/

Max. process+thread count
1664 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-2143/1/console

versions
git=2.17.1 maven=3.6.0 findbugs=3.1.0-RC1

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 34s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

-1 :x:
mvninstall
19m 59s
root in trunk failed.

+1 :green_heart:
compile
19m 27s
trunk passed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04

+1 :green_heart:
compile
16m 43s
trunk passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+1 :green_heart:
checkstyle
0m 50s
trunk passed

+1 :green_heart:
mvnsite
1m 27s
trunk passed

+1 :green_heart:
shadedclient
16m 21s
branch has no errors when building and testing our client artifacts.

-1 :x:
javadoc
0m 44s
hadoop-common in trunk failed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.

+1 :green_heart:
javadoc
1m  2s
trunk passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+0 :ok:
spotbugs
2m 14s
Used deprecated FindBugs config; considering switching to SpotBugs.

-1 :x:
findbugs
2m 11s
hadoop-common-project/hadoop-common in trunk has 2 extant findbugs warnings.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 52s
the patch passed

+1 :green_heart:
compile
18m 42s
the patch passed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04

+1 :green_heart:
javac
18m 42s
the patch passed

+1 :green_heart:
compile
16m 35s
the patch passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+1 :green_heart:
javac
16m 35s
the patch passed

+1 :green_heart:
checkstyle
0m 51s
the patch passed

+1 :green_heart:
mvnsite
1m 26s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
shadedclient
13m 54s
patch has no errors when building and testing our client artifacts.

-1 :x:
javadoc
0m 44s
hadoop-common in the patch failed with JDK Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.

+1 :green_heart:
javadoc
1m  3s
the patch passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+1 :green_heart:
findbugs
2m 19s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
9m 23s
hadoop-common in the patch passed.

+1 :green_heart:
asflicense
0m 54s
The patch does not generate ASF License warnings.

148m 30s

Subsystem
Report/Notes

Docker
ClientAPI=1.40 ServerAPI=1.40 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-2143/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/2143

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle

uname
Linux 055c3b2d06d9 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / 2ba44a73bf2

Default Java
Private Build-1.8.0_252-8u252-b09-1~18.04-b09

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_252-8u252-b09-1~18.04-b09

mvninstall
https://builds.apache.org/job/hadoop-multibranch/job/PR-2143/2/artifact/out/branch-mvninstall-root.txt

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-2143/2/artifact/out/branch-javadoc-hadoop-common-project_hadoop-common-jdkUbuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.txt

findbugs
https://builds.apache.org/job/hadoop-multibranch/job/PR-2143/2/artifact/out/branch-findbugs-hadoop-common-project_hadoop-common-warnings.html

javadoc
https://builds.apache.org/job/hadoop-multibranch/job/PR-2143/2/artifact/out/patch-javadoc-hadoop-common-project_hadoop-common-jdkUbuntu-11.0.7+10-post-Ubuntu-2ubuntu218.04.txt

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-2143/2/testReport/

Max. process+thread count
3416 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-2143/2/console

versions
git=2.17.1 maven=3.6.0 findbugs=4.0.6

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m  0s
Docker mode activated.

-1 :x:
docker
0m 16s
Docker failed to build yetus/hadoop:cce5a6f6094.

Subsystem
Report/Notes

GITHUB PR
https://github.com/apache/hadoop/pull/2143

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-2143/3/console

versions
git=2.17.1

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 36s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
20m 29s
trunk passed

+1 :green_heart:
compile
20m 50s
trunk passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1

+1 :green_heart:
compile
18m 40s
trunk passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+1 :green_heart:
checkstyle
0m 47s
trunk passed

+1 :green_heart:
mvnsite
1m 24s
trunk passed

+1 :green_heart:
shadedclient
16m 43s
branch has no errors when building and testing our client artifacts.

-1 :x:
javadoc
0m 45s
hadoop-common in trunk failed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1.

+1 :green_heart:
javadoc
1m  0s
trunk passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+0 :ok:
spotbugs
2m 12s
Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
2m 10s
trunk passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 52s
the patch passed

+1 :green_heart:
compile
20m 55s
the patch passed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1

+1 :green_heart:
javac
20m 55s
the patch passed

+1 :green_heart:
compile
18m 29s
the patch passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+1 :green_heart:
javac
18m 29s
the patch passed

+1 :green_heart:
checkstyle
0m 48s
the patch passed

+1 :green_heart:
mvnsite
1m 26s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
shadedclient
14m 53s
patch has no errors when building and testing our client artifacts.

-1 :x:
javadoc
0m 37s
hadoop-common in the patch failed with JDK Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1.

+1 :green_heart:
javadoc
0m 58s
the patch passed with JDK Private Build-1.8.0_252-8u252-b09-1~18.04-b09

+1 :green_heart:
findbugs
2m 21s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
9m 53s
hadoop-common in the patch passed.

+1 :green_heart:
asflicense
0m 50s
The patch does not generate ASF License warnings.

157m 25s

Subsystem
Report/Notes

Docker
ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2143/3/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/2143

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle

uname
Linux f85016c7de1c 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / 05b3337a460

Default Java
Private Build-1.8.0_252-8u252-b09-1~18.04-b09

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_252-8u252-b09-1~18.04-b09

javadoc
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2143/3/artifact/out/branch-javadoc-hadoop-common-project_hadoop-common-jdkUbuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1.txt

javadoc
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2143/3/artifact/out/patch-javadoc-hadoop-common-project_hadoop-common-jdkUbuntu-11.0.8+10-post-Ubuntu-0ubuntu118.04.1.txt

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2143/3/testReport/

Max. process+thread count
3255 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2143/3/console

versions
git=2.17.1 maven=3.6.0 findbugs=4.0.6

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 33s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:

0m  0s
test4tests
The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
33m 53s

trunk passed

+1 :green_heart:
compile
20m 48s

trunk passed with JDK Ubuntu-11.0.9+11-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
compile
18m 49s

trunk passed with JDK Private Build-1.8.0_272-8u272-b10-0ubuntu1~18.04-b10

+1 :green_heart:
checkstyle
0m 54s

trunk passed

+1 :green_heart:
mvnsite
1m 40s

trunk passed

+1 :green_heart:
shadedclient
21m 16s

branch has no errors when building and testing our client artifacts.

+1 :green_heart:
javadoc
1m  5s

trunk passed with JDK Ubuntu-11.0.9+11-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javadoc
1m 40s

trunk passed with JDK Private Build-1.8.0_272-8u272-b10-0ubuntu1~18.04-b10

+0 :ok:
spotbugs
2m 39s

Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
2m 36s

trunk passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m  2s

the patch passed

+1 :green_heart:
compile
24m 41s

the patch passed with JDK Ubuntu-11.0.9+11-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javac
24m 41s

the patch passed

+1 :green_heart:
compile
21m 35s

the patch passed with JDK Private Build-1.8.0_272-8u272-b10-0ubuntu1~18.04-b10

+1 :green_heart:
javac
21m 35s

the patch passed

+1 :green_heart:
checkstyle
0m 56s

the patch passed

+1 :green_heart:
mvnsite
1m 41s

the patch passed

+1 :green_heart:
whitespace
0m  0s

The patch has no whitespace issues.

+1 :green_heart:
shadedclient
19m 40s

patch has no errors when building and testing our client artifacts.

-1 :x:
javadoc
1m  8s
/patch-javadoc-hadoop-common-project_hadoop-common-jdkUbuntu-11.0.9+11-Ubuntu-0ubuntu<IP_ADDRESS>.txt
hadoop-common in the patch failed with JDK Ubuntu-11.0.9+11-Ubuntu-0ubuntu<IP_ADDRESS>.

+1 :green_heart:
javadoc
1m 46s

the patch passed with JDK Private Build-1.8.0_272-8u272-b10-0ubuntu1~18.04-b10

+1 :green_heart:
findbugs
2m 51s

the patch passed

_ Other Tests _

+1 :green_heart:
unit
10m 39s

hadoop-common in the patch passed.

+1 :green_heart:
asflicense
0m 55s

The patch does not generate ASF License warnings.

192m 32s

Subsystem
Report/Notes

Docker
ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2143/6/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/2143

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle

uname
Linux 467ec93bb0b9 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 188ebb5a9bb

Default Java
Private Build-1.8.0_272-8u272-b10-0ubuntu1~18.04-b10

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.9+11-Ubuntu-0ubuntu<IP_ADDRESS> /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_272-8u272-b10-0ubuntu1~18.04-b10

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2143/6/testReport/

Max. process+thread count
3249 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2143/6/console

versions
git=2.17.1 maven=3.6.0 findbugs=4.1.3

Powered by
Apache Yetus 0.13.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
4m 26s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:

0m  0s
test4tests
The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
32m 52s

trunk passed

+1 :green_heart:
compile
20m 55s

trunk passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
compile
18m 43s

trunk passed with JDK Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

+1 :green_heart:
checkstyle
1m  2s

trunk passed

+1 :green_heart:
mvnsite
1m 27s

trunk passed

+1 :green_heart:
shadedclient
18m 52s

branch has no errors when building and testing our client artifacts.

+1 :green_heart:
javadoc
1m 10s

trunk passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javadoc
1m 47s

trunk passed with JDK Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

+0 :ok:
spotbugs
3m  8s

Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
3m  4s

trunk passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m  5s

the patch passed

+1 :green_heart:
compile
26m 48s

the patch passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javac
26m 48s

the patch passed

+1 :green_heart:
compile
24m 35s

the patch passed with JDK Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

+1 :green_heart:
javac
24m 35s

the patch passed

+1 :green_heart:
checkstyle
1m 14s

the patch passed

+1 :green_heart:
mvnsite
1m 43s

the patch passed

+1 :green_heart:
whitespace
0m  0s

The patch has no whitespace issues.

+1 :green_heart:
shadedclient
18m 12s

patch has no errors when building and testing our client artifacts.

+1 :green_heart:
javadoc
1m  9s

the patch passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javadoc
1m 52s

the patch passed with JDK Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

+1 :green_heart:
findbugs
2m 58s

the patch passed

_ Other Tests _

+1 :green_heart:
unit
19m  8s

hadoop-common in the patch passed.

+1 :green_heart:
asflicense
1m  6s

The patch does not generate ASF License warnings.

206m 38s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2143/7/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/2143

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle

uname
Linux c8cf890e6c74 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 182623d2bc7

Default Java
Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2143/7/testReport/

Max. process+thread count
1297 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2143/7/console

versions
git=2.25.1 maven=3.6.3 findbugs=4.0.6

Powered by
Apache Yetus 0.13.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 33s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:

0m  0s
test4tests
The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
32m 33s

trunk passed

+1 :green_heart:
compile
20m 37s

trunk passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
compile
17m 54s

trunk passed with JDK Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

+1 :green_heart:
checkstyle
1m  5s

trunk passed

+1 :green_heart:
mvnsite
1m 33s

trunk passed

+1 :green_heart:
shadedclient
16m  0s

branch has no errors when building and testing our client artifacts.

+1 :green_heart:
javadoc
1m  6s

trunk passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javadoc
1m 40s

trunk passed with JDK Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

+0 :ok:
spotbugs
2m 22s

Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
2m 20s

trunk passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 52s

the patch passed

+1 :green_heart:
compile
19m 57s

the patch passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javac
19m 57s

the patch passed

+1 :green_heart:
compile
18m  0s

the patch passed with JDK Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

+1 :green_heart:
javac
18m  0s

the patch passed

+1 :green_heart:
checkstyle
1m  5s

the patch passed

+1 :green_heart:
mvnsite
1m 31s

the patch passed

+1 :green_heart:
whitespace
0m  0s

The patch has no whitespace issues.

+1 :green_heart:
shadedclient
13m 20s

patch has no errors when building and testing our client artifacts.

+1 :green_heart:
javadoc
1m  4s

the patch passed with JDK Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javadoc
1m 39s

the patch passed with JDK Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

+1 :green_heart:
findbugs
2m 22s

the patch passed

_ Other Tests _

+1 :green_heart:
unit
17m 10s

hadoop-common in the patch passed.

+1 :green_heart:
asflicense
0m 58s

The patch does not generate ASF License warnings.

175m 39s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2143/8/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/2143

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle

uname
Linux 8bcf12113992 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 5f34271bb14

Default Java
Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-<IP_ADDRESS>+1-Ubuntu-0ubuntu1.20.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_275-8u275-b01-0ubuntu1~20.04-b01

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2143/8/testReport/

Max. process+thread count
2996 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2143/8/console

versions
git=2.25.1 maven=3.6.3 findbugs=4.0.6

Powered by
Apache Yetus 0.13.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

@steveloughran and @daryn-sharp, Are you guys okay with the current version?


Use nvcr.io private registry to stage CI internal containers

Pros:

No longer need to pay for private container storage on ghcr.io
Potentially better confidentiality if builds contain NVIDIA IP not authorized for release yet.
Potentially more reliable pulling to/from dlcluster/selene
Cons:
(ironically) more difficult to grant access, users need to apply to internal portal first.
docker push/pull slightly slower than ghcr.io for CI jobs. Assumed due to better colocation of ghcr.io and Actions servers.

This PR is for preview purposes and may not represent the final work to be merged.
A good compromise may be to use ghcr.io for instantaneous access in jobs, but use a periodically scheduled Actions workflow to archive containers older than a certain time to nvcr.io.
UPDATE: clarification and examples in comment below.

Shortening the keep window to a month seems really short; especially from the perspective of someone adding a new model. They may start developing their model but then after 1.5 months, they won't be able to reproduce their numbers because the base container is gone.
If we have to make the window 1 month for ghcr, my vote would be to mirror the registry on nvcr.io and have a longer keep window (maybe 6 months).

To clarify, I am only proposing moving containers in the private ghcr.io/nvidia/jax-toolbox-internal repo to nvcr.io/nvidian. This repo is a staging area for containers produced in our CI workflows. Separate jobs exist to copy select containers from this internal repo to the public ones for outside users to check out. These public repos, e,g. ghcr.io/nvidia/jax will always remain on GitHub.
Here is an example of the current container storage solution:

Job build-jax" creates ghcr.io/nvidia/jax-toolbox-internal:5061628209-jax (user needs to be member of the NVIDIA org on GitHub to access)
Optional: job "publish-jax" copies ghcr.io/nvidia/jax-toolbox-internal:5061628209-jax to ghcr.io/nvidia/jax:nightly-2023-05-23 (anyone can access)

Two candidate solutions to use nvcr.io for container storage as discussed above:

Use nvcr.io for private image repo, and ghcr.io for all public image repos. For example:

Job "build-jax" creates nvcr.io/nvidian/jax-toolbox-internal:5061628209-jax (needs NGC registration + nvidian membership to access)
Optional job "publish-jax" copies nvcr.io/nvidia/jax-toolbox-internal:5061628209-jax to ghcr.io/nvidia/jax:nightly-2023-05-23 (anyone can access)

Use ghcr.io for all repos, but only retains private images for 30 days before transferring them to nvcr.io for archive.

Job "build-jax" creates ghcr.io/nvidian/jax-toolbox-internal:5061628209-jax
Optional job "publish-jax" copies ghcr.io/nvidia/jax-toolbox-internal:5061628209-jax to ghcr.io/nvidia/jax:nightly-2023-05-23
Cron job "archive" moves ghcr.io/nvidia/jax-toolbox-internal:* tags older than 30 days to nvcr.io/nvidian/jax-toolbox-internal:*

and I agree with @nouiz and @terrykong that solution 2 seems a better choice.

This is the cost of private repo storage on ghcr.io:

GitHub charges usage to the account that owns the repository where the package is published. If your account's usage surpasses these limits and you have set a spending limit above $0 USD, you will pay $0.008 USD per GB of storage per day and $0.50 USD per GB of data transfer.

So if we accumulate 10 TB of containers after 6 months, the monthly bill will be 10000 GB x $0.008/GB/day x 31days/month = $2480/month.

I'm good with both of those options. 1 seem simpler. 2 a little better in that it will speed up a little bit the jobs. But I'm not sure it will make an impact in the end.

/assistant summarize the entire discussion


Copy the mysql behaviour regarding reserved keywords

I've run into a case where unit tests would run with go-mysql-server, but running against an actual mysql server wouldn't work.
I've got a table called Option, which if not escaped in a query, leads to an error in mysql.
These are the currently available keywords:
https://dev.mysql.com/doc/refman/8.0/en/keywords.html
Would you be open to this?

This is difficult to get exactly right, and comes down to differences in the YACC parser we use vs. the one MySQL uses. The MySQL docs are not entirely accurate on this count, e.g. identifiers that are reserved in some statements (CREATE TABLE) work fine in others (INSERT, UPDATE). Some work as table names but fail as column names, etc.
To get closer on this we need to begin with tests that establish a baseline for how MySQL actually behaves for all the keywords listed on the documentation, for all the variations I mention above. Then we can get a list of all the deviations and work on fixing them.

@timsehn Yes, for now just Option
@zachmu I see, understandable. I haven't really looked deep into it yet.

We have made a lot of strides here, enough that I'm going to close this out. If you encounter a keyword difference in parsing that's impacting your use case, please file a bug.


Add loader for PolyPhen2 annotations

Demo: http://nbviewer.jupyter.org/gist/armish/32a68cd004d42c5ab3b095a0b713a80a

LGTM % a few minor comments!

@tavinathanson: finally got the green light from Travis. Sorry about the successive commits to fix minor issues. If it looks good, I will squash my commits into one and merge.

Coverage decreased (-2.5%) to 54.452% when pulling fdf51a5555fb404e7279785b559990fc68be2761 on polyphen into f0d765c5bbb36ac83a15428e178f6ebcf9f49be1 on master.

@armish Looks and sounds good!


A couple of typos in README

I've found the following typos in README:

You can continue as you used to adding syntactical sugar to boring unmainteined Grunt canfigs
We aggreed that all all tasks named

Thank you for your support


java.lang.NoSuchMethodError: com.jozufozu.flywheel.event.BeginFrameEvent.getStack()Lcom/mojang/blaze3d/matrix/MatrixStack

Client side crash moded server side is stable.
When left clicking on Windmill Bearing + Sails + Sails Bearing instantly crashes
if there is a fix, that would be grate!
and is there a possibility that the crash is envolved from corrupt world?
crash repport
crash-2021-08-26_20.59.11-client.txt

Update Create to 0.3.1d


Add Load balancer security groups

what
Add the possibility to use existing security groups when creating load balancer, and stop the creation of the default security group.
why
The default behaviour when creating a load balancer is to create a security group which allow <IP_ADDRESS> to access to it. I need to allow only a specific cidr.
There are two variables :

loadbalancer_security_groups : list of security groups to attach
loadbalancer_managed_security_group : A single SG. If you don't fill this variable, it will continue to create a default security group.

Example : Use a custom SG which allow only my network :
  loadbalancer_security_groups = ["${module.sg.this_security_group_id}"]
  loadbalancer_managed_security_group = "${module.sg.this_security_group_id}"

If you don't fill theses two variables, you have the classical workflow.
references

https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options-general.html#command-options-general-elasticbeanstalkmanagedactionsplatformupdate

@pabardina thanks for submitting this PR! Just a few nitpicks and we'll be good to merge.

done 👍


Errors in logs 'msg': 'dispatch_event: mqtt_publish...' after updating from v3.3.6 to v4.0.x

After upgrade from v3.3.6 to v4.0.0/v4.0.1/v4.0.2
After upgrade upgrade from v3.3.6 to v4.0.0/v4.0.1/v4.0.2 there are constant messages in the logs

Log details (ERROR):
This error originated from a custom integration.

Logger: custom_components.xiaomi_gateway3.gate.<IP_ADDRESS>
Source: custom_components/xiaomi_gateway3/core/gate/base.py:91
integration: Xiaomi Gateway 3 (documentation, issues)
First occurred: 16:19:58 (12 occurrences)
Last logged: 16:24:58

    {'msg': 'dispatch_event: mqtt_publish (<custom_components.xiaomi_gateway3.core.mini_mqtt.MQTTMessage object at 0x7f0bd095d3a0>,) {}'}
    {'msg': 'dispatch_event: mqtt_publish (<custom_components.xiaomi_gateway3.core.mini_mqtt.MQTTMessage object at 0x7f0bef3831a0>,) {}'}
    {'msg': 'dispatch_event: mqtt_publish (<custom_components.xiaomi_gateway3.core.mini_mqtt.MQTTMessage object at 0x7f0bf2a00500>,) {}'}
    {'msg': 'dispatch_event: mqtt_publish (<custom_components.xiaomi_gateway3.core.mini_mqtt.MQTTMessage object at 0x7f0bec09c0e0>,) {}'}
    {'msg': 'dispatch_event: mqtt_publish (<custom_components.xiaomi_gateway3.core.mini_mqtt.MQTTMessage object at 0x7f0bbfdd4440>,) {}'}

Traceback (most recent call last):
  File "/config/custom_components/xiaomi_gateway3/core/gate/base.py", line 91, in dispatch_event
    handler(*args, **kwargs)
  File "/config/custom_components/xiaomi_gateway3/core/gate/miot.py", line 26, in miot_on_mqtt_publish
    self.miot_process_properties(result, from_cache=True)
  File "/config/custom_components/xiaomi_gateway3/core/gate/miot.py", line 60, in miot_process_properties
    device.dispatch({device.type: ts})
  File "/config/custom_components/xiaomi_gateway3/core/device.py", line 211, in dispatch
    handler(data)
asyncio.exceptions.InvalidStateError: invalid state

System composition:

Home Assistant core-2024.4.2 / supervisor-2024.04.0
5pcs. Xiaomi Multimode Gateway (CN) ZNDMWG03LM
All Gateway have firmware 1.5.6_0001

I think this is fixed in latest master version. Do you have Mesh groups?

Yes. I am using a Gateway ZNDMWG03LM only for BT-Mesh and BTE. Zigbee not used.
For zigbee i'm use SLZB-06p-PoE
Mesh Group are visible in HA and they are controlled normally.
3pcs. Mesh Downlight M2 YLTS02YL
extra:
childs:

'1042024241'
'1042020721'
'1041898691'
did: group.1714582109592899584
market_brand: Xiaomi
market_model: mijia.light.group3
market_name: Light Group
type: group
last_request_ts: 1m3s
last_seen: {}
listeners: 2
model: 68286
params: {}
ttl: 0s

9pcs. Mesh Bulb MJDP09YL
extra:
childs:

'1041713326'
'1040940836'
'1041709199'
'1040875274'
'1041639973'
'1040888111'
'1040909449'
'1041640027'
'1041826648'
did: group.1714576400012693504
market_brand: Xiaomi
market_model: mijia.light.group3
market_name: Light Group
type: group
last_request_ts: 16s
last_seen: {}
listeners: 2
model: 68286

For log, my issues:
Traceback (most recent call last):
  File "/config/custom_components/xiaomi_gateway3/core/gate/base.py", line 91, in dispatch_event
    handler(*args, **kwargs)
  File "/config/custom_components/xiaomi_gateway3/core/gate/miot.py", line 15, in miot_on_mqtt_publish
    self.miot_process_properties(msg.json["params"], from_cache=False)
  File "/config/custom_components/xiaomi_gateway3/core/gate/miot.py", line 60, in miot_process_properties
    device.dispatch({device.type: ts})
  File "/config/custom_components/xiaomi_gateway3/core/device.py", line 211, in dispatch
    handler(data)
  File "/config/custom_components/xiaomi_gateway3/light.py", line 151, in forward_child_update
    self.device.dispatch(data)
  File "/config/custom_components/xiaomi_gateway3/core/device.py", line 211, in dispatch
    handler(data)
asyncio.exceptions.InvalidStateError: invalid state

Do you have enabled statistics sensors?

Yes enabled statistics sensors.
The configuration is the same on all five gateways.

P.S.
With the help of XiaomiGateway3, is it possible to turn off zigbee and not clog channels?
Maybe there is a way to disable the onboard zigbee chip?

Maybe there is a way to disable the onboard zigbee chip?

I don't see any sense in it

Same errors with v4.0.3.
Errors disappear when statistics sensors are disabled.


Depth error

Required Info

Camera Model
D435

Operating System & Version
Win10

Platform
PC

Language
python

When photographing an object at a distance of 10 meters outdoors, an error of approximately 5 meters will occur. (True:10m, Measured:15m)
As the distance to the object is reduced, the error becomes smaller.
The maximum range of the D435 is supposed to be 10 meters, why is this?
Is there a way to fix this?

Hi @Noctstar   Depth measurement error increases linearly over distance, a phenomenon that is known as RMS Error.  The further that an observed surface becomes from the camera, the greater the error.  The predicted curve of RMS error over distance is illustrated in the chart below.  The D435 is the upper orange curve.

The new RealSense D455 model has 2x the accuracy over distance of the D435 models, so at 6 meters it has the same accuracy as the D435 models have at 3 meters.
If you prefer to use the D435, a starting point for refining results would be to use the High Accuracy configuration preset, as described in Intel's excellent camera tuning guide:
https://dev.intelrealsense.com/docs/tuning-depth-cameras-for-best-performance#section-play-with-depth-setting

Thanks.


Resource group name doesn't satisfy the constraint pattern /^[-\w._()]+$/

We have created an Azure resource group from the portal, named Instruktører (notice the special character ø). When we try and perform a GET call using azure-sdk-for-js (https://github.com/Azure/azure-sdk-for-js/blob/master/sdk/resources/arm-resources/src/operations/resourceGroups.ts#L115) on this resource group, it throws an error:
(node:57737) UnhandledPromiseRejectionWarning: Error: "resourceGroupName" with value "Instruktører" should satisfy the constraint "Pattern": /^[-\w\._\(\)]+$/.
    at failValidation (/Azure/node_modules/@azure/arm-resources/node_modules/@azure/ms-rest-js/dist/msRest.node.js:461:19)

Expected behaviour:
Since the portal accepts the resource group name Instruktører, we'd expect the SDK to accept it as well and not throw the above error.
Please check if the swagger definitions needs to be updated: https://github.com/Azure/azure-rest-api-specs/blob/0cc5a06b6712e644fc5d4fec5005a3c945d18a7a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json#L2545

Related issue: https://github.com/Azure/azure-sdk-for-js/issues/13247

@snaheth can you help check this or point to correct owner to help fix this? thanks!

Fized here https://github.com/Azure/azure-rest-api-specs/pull/13492


Tails do not stop wagging even in death

Description

SLL

they pretty sure stops in death, but not in crit


Android Version 4.0?

Hi,
I am just wondering something and wanna ask to you. Can this library be used on android version 4.0?
Thank you.

Minimum sdk is 11 so should work well on 4.0


[chip dv] Increase tap_strap_* tests' runtime

Set the runtimeout_mins for these tests to 120 - some
random seeds get killed due to exceeding the timeout.
Signed-off-by: Srikrishna Iyer<EMAIL_ADDRESS>

LGTM
But do we know why it takes so long? Seems excessive...

The vast majority of seeds finish within 60 minutes. I ran 300 seeds and noticed about 5% run timeout failures. We will need to profile this, but I would guess its due to forcing hings using uvm_hdl_force (which goes over DPI-C) which has an adverse impact on the runtime.

Filed an issue to investigate it later.


Istio integration is broken in Calico v3.25+

Dikastes requires libresolv.so.2, but it is missing from the image.
calico@dev-advocacy:~/calico/app-policy/bin$ ldd dikastes-amd64
	linux-vdso.so.1 (0x00007ffe486e9000)
	libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fb552338000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb552333000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb552000000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fb552367000)

Expected Behavior

Dikastes container should run.
Current Behavior

kubectl logs database-5cd7d86449-ql7jx -c dikastes
/dikastes: error while loading shared libraries: libresolv.so.2: cannot open shared object file: No such file or directory

Possible Solution

Adding the library to the image -> https://github.com/projectcalico/calico/pull/7602 https://github.com/projectcalico/calico/pull/7603
Steps to Reproduce (for bugs)

Install calico
enable istio
deploy a workload

Context

https://docs.tigera.io/calico/latest/network-policy/istio/enforce-policy-istio <- following this tutorial
Your Environment

Calico version v3.25.1
Orchestrator version (e.g. kubernetes, mesos, rkt): k3s, Kubernetes 1.26.3
Operating System and version: ubuntu 22.04
Link to your project (optional):

I think this should be fixed by https://github.com/projectcalico/calico/pull/7602, https://github.com/projectcalico/calico/pull/7617 and https://github.com/projectcalico/calico/pull/7603 so I'm going to close this issue.


Password Length Warning (Javascript)

Warn the user with a tooltip, and gray out submit if passwords do not match or if they do not meet minimum requirements

done

some asthetic issues still remain. Reassigning...

Code tested, and found not to work. Code was added to wrong page, and checks user name. It should not do that. Error messages are confusing. Reassigning.


InputPhone: wrap input event

Without wrapping, this is what happens with a p:ajax event="input"

(submitted value is one step behind)

I will backport this to 13.0.8

This is not needed in 13.x, it's an improvement of #1393 implementation which has been ported to 14.x only

Actually I can't because inputphone has so many changes and improvements since the 13.x branch i would have to backport the entire InputPhone but i don't think @jepsar wanted me to do that!

I personally don't mind, but this PR can be a breaker for people https://github.com/primefaces-extensions/primefaces-extensions/pull/1445

OK yeah lets leave everything in 14.X as i hate introducing breaking change in a minor patch release.


Change class dynamically while picker is open

Hello,
I would like to use sat-datepicker with option [closeAfterSelection]="false". I also need to add a custom class with [dateClass] but I need this class to dynamically updates while the picker is opened (after a selection is made).
At this time the dateClass is only updated when we open the picker.
Is it possible to add the ability of dynamically refreshing the dateClass while the picker is open?

Yeah, it's possible. You can make a pull request with recalculating cells (_createWeekCells, after range selection in file https://github.com/SaturnTeam/saturn-datepicker/blob/master/saturn-datepicker/src/datepicker/month-view.ts .
Let's try. If you failed, may be I'll do this feature later

How do you run the demo in the repository to test the changing? When I run ng serve at the root of the repository I have this error:
Could not determine a single project for the 'serve' target.
And when running ng serve dev it compiles but then the application don't run and I have this error in the console:
Uncaught Error: Can't resolve all parameters for ApplicationModule: (?).

Sorry, it's ok. The line import 'core-js/es7/reflect'; was removed from package.json, I don't know why. I put it again.