tf.concat (and tf.transpose) inside a for loop with tf.range in the context of a GradientTape while using XLA dosn't work

Issue type
Bug
Have you reproduced the bug with TensorFlow Nightly?
No
Source
binary
TensorFlow version
2.15.0.post1, 2.15.0
Custom code
Yes
OS platform and distribution
WSL Ubuntu 22.04
Mobile device
No response
Python version
3.10.12
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
12.2
GPU model and memory
RTX 3080 Ti
Current behavior?
Current behavior
Even tho the shapes of the elements which are concatenated are well defined to compile time, when running the code provided, the execution fails with the error log provided. This is also the case, if you enforce the shapes with using tf.reshape().
If you remove either

the GradientTape context
or the for loop with tf.range
or the XLA compilation

the code will work as expected.
Unrolling the for loop with range() is not desired since the number of iterations will be >50000 in the final project. Also converting the for loop in a tf.while loop with maximum_iterations specified will result in the same error. Specifying the batchsize to a constant value (also in the input_signature) won't resolve the issue either. Also changing the tf.device between GPU / CPU won't resolve the issue.
The same error arises if you try to use tf.transpose()
Expected behavior
The arrays with well defined shapes at compile time will be concatenated / transposed when using a for loop with tf.range in the context of a GradientTape while using XLA (jit_compile=True)
Standalone code to reproduce the issue
class Model():
    def __init__(self, batchsize):
        self.batchsize = batchsize
        self.g = tf.Variable(initial_value=tf.ones([self.batchsize,1,1]), trainable=True, name="g")
        self.m = tf.Variable(initial_value=tf.ones([self.batchsize,1,1]), trainable=True, name="m")
        self.d = tf.Variable(initial_value=tf.ones([self.batchsize,1,1]), trainable=True, name="d")
        self.k = tf.Variable(initial_value=tf.ones([self.batchsize,1,1]), trainable=True, name="k")
        self.y0 = tf.ones([self.batchsize, 2, 1])

    @tf.function(input_signature=[tf.TensorSpec(shape=(None, 2, 1), dtype=tf.float32)],
                 jit_compile=False)
    def compute(self, yi):
        A1 = tf.concat([tf.zeros_like(self.m), tf.ones_like(self.m)], 2)
        A2 = tf.concat([-self.k/self.m, -self.d/self.m], 2)
        A = tf.concat([A1, A2], 1)
        #A = tf.transpose(A, perm=[0, 2, 1])
        B = tf.concat([tf.zeros_like(self.g), self.g], 1)

        dy = tf.linalg.matmul(A, yi) + B
        return dy

class Estimator():
    def __init__(self, model):
        self.model = model
        self.dt = tf.constant(0.001)

    @tf.function(jit_compile=True, reduce_retracing=False)
    def estimate(self):
        with tf.GradientTape() as tape:
            yi = self.model.y0
            for i in tf.range(10):
                dyi = self.model.compute(yi)
                yi = yi + dyi*self.dt
        grads = tape.gradient(yi, [self.model.g, self.model.m, self.model.d, self.model.k])
        return grads

device = "CPU:0"
#device = "GPU:0"

with tf.device(device):
    batchsize = 5
    model = Model(batchsize)
    estimator = Estimator(model)
    grads = estimator.estimate()

Relevant log output
OP_REQUIRES failed at concat_op.cc:168 : INVALID_ARGUMENT: Input 0 to node `gradient_tape/while/gradients/while/StatefulPartitionedCall_grad/PartitionedCall/gradients/concat_3_grad/ConcatOffset` with op ConcatOffset must be a compile-time constant.

XLA compilation requires that operator arguments that represent shapes or dimensions be evaluated to concrete values at compile time. This error means that a shape or dimension argument could not be evaluated at compile time, usually because the value of the argument depends on a parameter to the computation, on a variable, or on a stateful operation such as a random number generator.

@sushreebarsa This could indeed work in the given simplified example, however in other models I'm developing this is not possible since the values which are concatenated are dependent on the value of yi which is in turn dependent on the prior iteration of the loop.
e.g. Part of the compute function from another model:
@tf.function(input_signature=[tf.TensorSpec(shape=(None, 12, 1), dtype=tf.float32)],
                    jit_compile=False)
def compute(self, yi):
    eta_LR = yi[:, 0:3, :]
    rp0_R = yi[:, 3:6, :]
    drp0_R = yi[:, 6:9, :]
    omegaLR_L = yi[:, 9:12, :]

    A_LR = Modeling.calcA_LR(eta_LR)
    A_RL = tf.transpose(A_LR, perm=[0, 2, 1])

    PhiUpper = tf.concat([tf.eye(3,batch_shape=[self.batchsize]), -A_RL@Modeling.skewSym(self.rgp_L)], axis=2)
    PhiLower = tf.concat([tf.zeros([self.batchsize, 2, 3]), Modeling.skewSym(A_LR[:, :, 2:3])[:, 0:2, :]], axis=2)
    Phi = tf.concat([PhiUpper, PhiLower], axis=1)

    #Code continues here
            # --> LHS and RHS will be constructed (Phi is a part of LHS)
            # d_eta will be calculated

    sol = tf.linalg.solve(LHS, RHS)
    dd_rp0_R = sol[:, 0:3, :]
    d_omegaLR_L = sol[:, 3:6, :]

    return tf.concat([d_eta, drp0_R, dd_rp0_R, d_omegaLR_L], axis=1)

(The Modeling.skewSym(X) function just rearranges the elements in X with the shape [None, 3, 1] into a Matrix with a shape of [None, 3, 3])
--> In the tf,concat / tf.transpose Function A_LR and A_RL are used, which are depended on eta_LR and eta_LR is part of yi. Thats the reason why it can't be Pre-computed outside of the loop.

@sushreebarsa This could indeed work in the given simplified example, however in other models I'm developing this is not possible since the values which are concatenated are dependent on the value of yi which is in turn dependent on the prior iteration of the loop.
e.g. Part of the compute function from another model:
@tf.function(input_signature=[tf.TensorSpec(shape=(None, 12, 1), dtype=tf.float32)],
                    jit_compile=False)
def compute(self, yi):
    eta_LR = yi[:, 0:3, :]
    rp0_R = yi[:, 3:6, :]
    drp0_R = yi[:, 6:9, :]
    omegaLR_L = yi[:, 9:12, :]

    A_LR = Modeling.calcA_LR(eta_LR)
    A_RL = tf.transpose(A_LR, perm=[0, 2, 1])

    PhiUpper = tf.concat([tf.eye(3,batch_shape=[self.batchsize]), -A_RL@Modeling.skewSym(self.rgp_L)], axis=2)
    PhiLower = tf.concat([tf.zeros([self.batchsize, 2, 3]), Modeling.skewSym(A_LR[:, :, 2:3])[:, 0:2, :]], axis=2)
    Phi = tf.concat([PhiUpper, PhiLower], axis=1)

    #Code continues here
            # --> LHS and RHS will be constructed (Phi is a part of LHS)
            # d_eta will be calculated

    sol = tf.linalg.solve(LHS, RHS)
    dd_rp0_R = sol[:, 0:3, :]
    d_omegaLR_L = sol[:, 3:6, :]

    return tf.concat([d_eta, drp0_R, dd_rp0_R, d_omegaLR_L], axis=1)

(The Modeling.skewSym(X) function just rearranges the elements in X with the shape [None, 3, 1] into a Matrix with a shape of [None, 3, 3])
--> In the tf,concat / tf.transpose Function A_LR and A_RL are used, which are depended on eta_LR and eta_LR is part of yi. Thats the reason why it can't be Pre-computed outside of the loop.

@MoritzMSP Thank you for the update!
@sachinprasadhs Please find the replicated gist of the error reported. Thank you!

I am not familiar with tf.function, assigning to @cheshire who is familiar with this and might know who can help.

Looping in<EMAIL_ADDRESS>I'm not sure this is expected behavior or not. I was able to simplify the program a bit:
class Model():
    def __init__(self, batchsize):
        self.batchsize = batchsize
        self.g = tf.Variable(initial_value=tf.ones([self.batchsize,1,1]), trainable=True, name="g")
        self.y0 = tf.ones([self.batchsize, 2, 1])

    @tf.function(input_signature=[tf.TensorSpec(shape=(None, 2, 1), dtype=tf.float32)],
                 jit_compile=False)
    def compute(self, yi):
        B = tf.concat([tf.zeros_like(self.g), self.g], 1)
        return B

class Estimator():
    def __init__(self, model):
        self.model = model
        self.dt = tf.constant(0.001)

    @tf.function(jit_compile=True, reduce_retracing=False)
    def estimate(self):
        with tf.GradientTape() as tape:
            yi = self.model.y0
            for i in tf.range(10):
                yi = self.model.compute(yi)
        grads = tape.gradient(yi, [self.model.g])
        return grads

device = "CPU:0"

with tf.device(device):
    batchsize = 5
    model = Model(batchsize)
    estimator = Estimator(model)
    grads = estimator.estimate()

Fails due to ConcatOffset not having constant time inputs. The error message is a weird red herring since the shapes are known but the actual arguments to ConcatOffset need to be constant. Also the Model.compute(..) has jit_compile=False but since it's called by Estimator.estimate(...) all the callees also have to be compiled.

If you remove either
the GradientTape context
or the for loop with tf.range
or the XLA compilation
the code will work as expected.

Removing these makes this totally skip compilation and so that's why the error doesn't show up. I'm not sure this is expected behavior. Looping in swachhandl@ who might know more.
================ EXTRA DEBUG DUMP===============
Failed MLIR dump from simple version:
module attributes {tf.versions = {bad_consumers = [], min_consumer = 0 : i32, producer = 1739 : i32}} {
  func.func @main(%arg0: tensor<5x2x1xf32>, %arg1: tensor<5x1x1xf32> {tf._user_specified_name = "input_5"}) -> tensor<5x1x1xf32> attributes {allow_soft_placement = false, tf.entry_function = {control_outputs = "while,gradient_tape/while/VariableShape", inputs = "unknown,while_input_5", outputs = "identity_RetVal"}} {
    %cst = "tf.Const"() <{value = dense<> : tensor<0xi32>}> : () -> tensor<0xi32>
    %cst_0 = "tf.Const"() <{value = dense<3> : tensor<i32>}> : () -> tensor<i32>
    %cst_1 = "tf.Const"() <{value = dense<[5, 1, 1]> : tensor<3xi32>}> : () -> tensor<3xi32>
    %cst_2 = "tf.Const"() <{value = dense<0.000000e+00> : tensor<5x2x1xf32>}> : () -> tensor<5x2x1xf32>
    %cst_3 = "tf.Const"() <{value = dense<1> : tensor<i32>}> : () -> tensor<i32>
    %cst_4 = "tf.Const"() <{value = dense<1> : tensor<1xi32>}> : () -> tensor<1xi32>
    %cst_5 = "tf.Const"() <{value = dense<10> : tensor<i32>}> : () -> tensor<i32>
    %cst_6 = "tf.Const"() <{value = dense<0> : tensor<1xi32>}> : () -> tensor<1xi32>
    %cst_7 = "tf.Const"() <{value = dense<0.000000e+00> : tensor<5x1x1xf32>}> : () -> tensor<5x1x1xf32>
    %cst_8 = "tf.Const"() <{value = dense<1.000000e+00> : tensor<5x2x1xf32>}> : () -> tensor<5x2x1xf32>
    %cst_9 = "tf.Const"() <{value = dense<0> : tensor<i32>}> : () -> tensor<i32>
    %cst_10 = "tf.Const"() <{value = dense<0> : tensor<10xi32>}> : () -> tensor<10xi32>
    %0:4 = "tf.WhileRegion"(%cst_9, %cst_9, %cst_10, %cst_6) <{is_stateless = false, parallel_iterations = 10 : i64}> ({
    ^bb0(%arg2: tensor<i32>, %arg3: tensor<i32>, %arg4: tensor<10xi32>, %arg5: tensor<1xi32>):
      %2 = "tf.Less"(%arg3, %cst_5) {device = ""} : (tensor<i32>, tensor<i32>) -> tensor<i1>
      %3 = "tf.Less"(%arg2, %cst_5) {device = ""} : (tensor<i32>, tensor<i32>) -> tensor<i1>
      %4 = "tf.LogicalAnd"(%3, %2) {device = ""} : (tensor<i1>, tensor<i1>) -> tensor<i1>
      "tf.Yield"(%4) : (tensor<i1>) -> ()
    }, {
    ^bb0(%arg2: tensor<i32>, %arg3: tensor<i32>, %arg4: tensor<10xi32>, %arg5: tensor<1xi32>):
      %2 = "tf.AddV2"(%arg3, %cst_3) {device = ""} : (tensor<i32>, tensor<i32>) -> tensor<i32>
      %3 = "tf.XlaDynamicUpdateSlice"(%arg4, %cst_4, %arg5) : (tensor<10xi32>, tensor<1xi32>, tensor<1xi32>) -> tensor<10xi32>
      %4 = "tf.AddV2"(%arg5, %cst_4) : (tensor<1xi32>, tensor<1xi32>) -> tensor<1xi32>
      %5 = "tf.AddV2"(%arg2, %cst_3) {device = ""} : (tensor<i32>, tensor<i32>) -> tensor<i32>
      "tf.Yield"(%5, %2, %3, %4) : (tensor<i32>, tensor<i32>, tensor<10xi32>, tensor<1xi32>) -> ()
    }) {_num_original_outputs = 8 : i64, _read_only_resource_inputs = [5], _xla_propagate_compile_time_consts = true, device = ""} : (tensor<i32>, tensor<i32>, tensor<10xi32>, tensor<1xi32>) -> (tensor<i32>, tensor<i32>, tensor<10xi32>, tensor<1xi32>)
    %1:4 = "tf.WhileRegion"(%cst_9, %cst_8, %cst_7, %0#3) <{is_stateless = true, parallel_iterations = 10 : i64}> ({
    ^bb0(%arg2: tensor<i32>, %arg3: tensor<5x2x1xf32>, %arg4: tensor<5x1x1xf32>, %arg5: tensor<1xi32>):
      %2 = "tf.Less"(%arg2, %0#0) {device = ""} : (tensor<i32>, tensor<i32>) -> tensor<i1>
      "tf.Yield"(%2) : (tensor<i1>) -> ()
    }, {
    ^bb0(%arg2: tensor<i32>, %arg3: tensor<5x2x1xf32>, %arg4: tensor<5x1x1xf32>, %arg5: tensor<1xi32>):
      %2 = "tf.Sub"(%arg5, %cst_4) : (tensor<1xi32>, tensor<1xi32>) -> tensor<1xi32>
      %3 = "tf.Slice"(%0#2, %2, %cst_4) : (tensor<10xi32>, tensor<1xi32>, tensor<1xi32>) -> tensor<1xi32>
      %4 = "tf.Reshape"(%3, %cst) : (tensor<1xi32>, tensor<0xi32>) -> tensor<i32>
      %5 = "tf.AddV2"(%arg2, %cst_3) {device = ""} : (tensor<i32>, tensor<i32>) -> tensor<i32>
      %6 = "tf.FloorMod"(%4, %cst_0) {device = ""} : (tensor<i32>, tensor<i32>) -> tensor<i32>
      %7:2 = "tf.ConcatOffset"(%6, %cst_1, %cst_1) {device = ""} : (tensor<i32>, tensor<3xi32>, tensor<3xi32>) -> (tensor<3xi32>, tensor<3xi32>)
      %8 = "tf.Slice"(%arg3, %7#1, %cst_1) {device = ""} : (tensor<5x2x1xf32>, tensor<3xi32>, tensor<3xi32>) -> tensor<5x1x1xf32>
      %9 = "tf.AddN"(%arg4, %8) {_class = ["loc:@gradient_tape/while/gradients/grad_ys_1"], device = ""} : (tensor<5x1x1xf32>, tensor<5x1x1xf32>) -> tensor<5x1x1xf32>
      "tf.Yield"(%5, %cst_2, %9, %2) : (tensor<i32>, tensor<5x2x1xf32>, tensor<5x1x1xf32>, tensor<1xi32>) -> ()
    }) {_num_original_outputs = 6 : i64, _read_only_resource_inputs = [], _xla_propagate_compile_time_consts = true, device = ""} : (tensor<i32>, tensor<5x2x1xf32>, tensor<5x1x1xf32>, tensor<1xi32>) -> (tensor<i32>, tensor<5x2x1xf32>, tensor<5x1x1xf32>, tensor<1xi32>)
    return %1#2 : tensor<5x1x1xf32>
  }
}

I'm not sure why tf.ConcatOffset is being created here upstream, but the op definition says the input for the dimension should be constant. Here it's the output of tf.FLoorMod and not const and hence the error.

Unfortunately I'm not very familiar with the behavior here. The documentation for ConcatOffset seems to mention that it is used for gradient computations: https://www.tensorflow.org/mlir/tf_ops#tfconcatoffset_tfconcatoffsetop
Tagging @ishark and @wangpengmit to see if they know more about the gradient computation / concat op.


Dark Theme Inconsistency between main page and mails

Checklist

[X] I have used the search function to see if someone else has already submitted the same bug report.
[X] I will describe the problem with as much detail as possible.

App version
6-400
Where did you get the app from?
Google Play
Android version
13
Device model
No response
Steps to reproduce
Chose dark theme.
Expected behavior
The same background colour everywhere.
Actual behavior
Main background is more grey, while mails view is dark black (Amoled). However, in the settings both settings are the same "dark mode".
Logs
No response

Hello louim-lbs
We have thoroughly tested and replicated the bug scenario, and it has occurred for us on the following device and software configuration,
device model: Samsung A32
Android Version: 13
K9 App Version: 6.702

Hello @cketti
My question is, which one of the colors should be the background on these two pages (or other pages)?
Dark black (Amoled) ?  or Grey?

I'm not @cketti, but personally I would definitely prefer Dark Black (Amoled) 😇

The goal is to use the theme's regular background color.
What needs to be done:

Remove the theme attribute messageViewBackgroundColor and all code associated with it.
Change DisplayHtml.cssStyleTheme() and MessageWebView.configure() to set the WebView's background color to the theme background color, not black.

The goal is to use the theme's regular background color.
What needs to be done:

Remove the theme attribute messageViewBackgroundColor and all code associated with it.
Change DisplayHtml.cssStyleTheme() and MessageWebView.configure() to set the WebView's background color to the theme background color, not black.

@cketti.
Hello Dear
Thank you.
I am fixing the bug.
Regarding the second change you mentioned, please tell me what attribute you mean by "theme background color" exactly?

Regarding the second change you mentioned, please tell me what attribute you mean by "theme background color" exactly?

android:windowBackground


Add VDOM diffing

Work by @omergulen! 🤩

Most of the data structures like diff and other stuff are MVP, I just tried to make it work first.
We can always come back and change them in a way it would make more sense :)

I assume this PR is ready to review now.
With the newest additions and refactors, it is way easier to understand, though it could be biased because I got too used to it 😅


Update the readme for initial terraform parameter example

Signed-off-by: Gang Chen<EMAIL_ADDRESS>Updated var file:
https://github.com/gangchen03/terraform-openshift4-gcp#minimal-tfvars-file

Looks good.  Merging


A token_count seed_type

[x] Make the estimate be accurate for the model type (update documentation)

Finished as of 8f0bfa541f1975a2934e98695e051c73cce02fcd


Fix crash of setNeedsUpdateOfHomeIndicatorAutoHidden

Checklist

[x] I've tested my changes.
[x] I've read the Contribution Guidelines.
[x] I've updated the documentation if necessary.

Motivation and Context

Description

Crashlytics showed some crashes:
-[BulletinBoard.BulletinViewController setNeedsUpdateOfHomeIndicatorAutoHidden]: unrecognized selector sent to instance 0x107149200
I've fixed it by adding additional check

@ilia3546: The #available check should be enough, Im pretty sure this happens when the user have some beta iOS installed which will pass the check, but dosen't actually have the API.

Thank you for your input. @MarvinNazari is correct, this happens because @available only checks for the iOS version number and not for build number.
AssetNeedsUpdateOfHomeIndicatorAutoHidden was introduced in the Xcode GM after the announcement of the iPhone X, it was not available in any beta.
As iOS 11.0 betas will eventually expire, this check should not be necessary.


Copy any found sysextensions into active+passive efi dir

What I see looks good but can this be merged as it is? I mean, I guess more things are missing to implement the signed extensions feature but this at least won't break anything, right?

Oh, also it will need testing but I guess we can go with and e2e test in kairos.

Oh, also it will need testing but I guess we can go with and e2e test in kairos.

I think it should be ok to test it here as part of the agent tests :D


DIRECTORY IS NOT WRITABLE BY WEB PROCESS !

I created an app with Yii2 Advanced template.
I have hosted it on a SHARED HOSTING SERVER.
It has been working fine, but recently it is down. it keeps displaying an error:
Invalid Configuration – yii\base\InvalidConfigException
'The directory is not writable by the Web process: /home/nicjccom/public_html/assets'
My webhost have been trying to fix it, no luck yet!
What could be causing this issue ?
What do I ask my WebHost to do, in order to fix it ?
Thanks for giving us Yii2.

chmod 777 /home/nicjccom/public_html/assets should fix the problem

chmod 777 /home/nicjccom/public_html/assets should fix the problem
Please, check out our installation guide in order to complete your setup correctly

This fixed my problem :) , thank you !!!


Block sync

[x] blocks passed to blockManager after gossiping
[x] aggregator renamed to blockManager
[x] DALC(BlockRetriever) used to fetch block data
[x] more refactoring (move blockManager out of node package)
[ ] more tests

[ ] block propagation specific tests
[x] more assertions in integration test

Can you resolve merge conflicts before review? ty


Reorganize frontend code structure

Reorganize frontend code structure.
add navigation to hufu.
support i18n.

Codecov Report
Base: 73.91% // Head: 73.90% // Decreases project coverage by -0.01% :warning:

Coverage data is based on head (fb2323c) compared to base (81536b1).
 Consider uploading reports for the commit 6287c52 to get more accurate results

Additional details and impacted files
@@             Coverage Diff              @@
##               main      #11      +/-   ##
============================================
- Coverage     73.91%   73.90%   -0.02%
+ Complexity     1433     1432       -1
============================================
  Files           154      154
  Lines          5889     5889
  Branches        670      670
============================================
- Hits           4353     4352       -1
  Misses         1257     1257
- Partials        279      280       +1

Flag
Coverage Δ

unittests
73.90% <ø> (-0.02%)
:arrow_down:

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

Impacted Files
Coverage Δ

...ain/java/com/hufudb/onedb/mpc/elgamal/Elgamal.java
88.31% <0.00%> (-1.30%)
:arrow_down:

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


File Formats

Does CCO have a best practice when it comes to tracking the same software file in different formats? For instance, the same report in .txt. or .pdf, or the same image in .png or .jpeg? I don't see this issue mentioned in the modeling information with cco document.

It's not in the Best Practices document, but I think Modeling Information with the Common Core Ontologies  offers guidance. See Section 2.1. The general idea is that you have:

A single Information Content Entity that denotes a report's information.
Multiple  Information Bearing Entities that all bear said ICE.

Ideally (getting on my soapbox for a moment), the IBEs are live URLs that, when fed into your web browser, don't yield a 404 error. That way, anyone who accesses them can verify the information content.

In CCO, we consider the file format, designated by extensions such as .jpg or .txt, as directive information that prescribes how ICE is encoded digitally. The term file format is not yet in the public release of CCO. If you have a need for it, we can discuss adding it.

Mark, you wrote "prescribes how ICE is encoded digitally".  To me, the word "how" implies the need to have a process entity, the output of which is an IBE. Am I being too literal? I guess the more concrete question I should ask is the set of individuals and property assertions you envision as necessary to relate an IBE, and ICE, and its format.

Thanks Mark. So 'file format' is a subclass of directive. Then .jpg is a particular, and it bears a 'prescribes' relation to what: a process of digital encoding, or the software file, or the IBE in which the software file inheres?

Thanks Alex. This issue can probably be closed. Just one last note (probably a second issue) is that the bearer vs. GDC distinction is a general headache on my end. I understand the CCO approach, but enforcing it is difficult. At times too, BFO could be clearer on this. For GDC, for instance, it gives the following example: "the pdf file on your laptop, the pdf file that is a copy thereof on my laptop {@en}"


license: change from GPL-2.0 to Apache-2.0

This PR changes Bao's license from GPLv2 to the more permissive Apache 2.

Thanks to everybody for accepting the license change!


Increase the AMQP idle timeout

Type of change

Bugfix

Description
#4040 added an idle timeout to the Agent's container when connecting to the Brokers and Routers. Testing showed the the the idle timeout was too short, and this resulted in spurious connection aborts (which triggered #4077)
Increased the idle timeout.
Corrects the use of Rhea API to pass the idle_time_out as an option.
Checklist

[ ] Update/write design documentation in ./documentation/design
[ ] Write tests and make sure they pass
[ ] Update documentation
[ ] Check RBAC rights for Kubernetes / OpenShift roles
[ ] Try your changes from Pod inside your Kubernetes and OpenShift cluster, not just locally
[ ] Reference relevant issue(s) and close them after merging
[ ] Update CHANGELOG.md

@enmasse-ci run tests profile=isolated

:x: Test Summary :x:
TEST_PROFILE: isolated
TEST_CASE:
TOTAL: 122
PASS: 117
FAIL: 2
SKIP: 3
BUILD_NUMBER: 99
:heavy_exclamation_mark: Test Failures :heavy_exclamation_mark:

testSelfSigned in io.enmasse.systemtest.isolated.certs.CertProviderTest
testAddressSpaceRules in io.enmasse.systemtest.isolated.monitoring.MonitoringTest


Run diamond generation at compile time

Context
Currently we compute selectors and form the diamond at runtime. It happens in two places:

Integration tests (for testing)
Deployment scripts (for fresh deployment)

This involves some mildly complicated machinery that happens to be flaky in CI and outside. The machinery consists of:

Foundry logic (tests and scripts above)...
... which calls TestUtils#generateSelectors...
... which calls vm.ffi, which calls...
the get_selectors.py Python script to enumerate function selectors within a given contract.

We then use those selectors to form the diamond at runtime. For example, in integration tests this happens here:

IntegrationTestBase#createSubnetActor
IntegrationTestBase#createGatewayDiamond
IntegrationTestBase#createSubnetRegistry

(I haven't had time to dig into how this work for contract deployment time.)
Proposal

Codegen the selectors and diamond skeleton at compile time.
Remove the diamond creation from tests, and use the generated skeleton.
Do the same for deployment scripts.
Figure out how this simplified approach would interact with the diamond upgrade tooling.

I think part of the problem is that we're passing in the argument that's just the contract name and that takes much longer than passing the filename in addition:
mikers@mikers-B560-DS3H-AC-Y1:~/dev/consensus-shipyard/ipc-solidity-actors$ time forge inspect src/gateway/GatewayManagerFacet.sol:GatewayManagerFacet methodIdentifiers
{
  "addStake()": "5a627dbc",
  "fund((uint64,address[]),(uint8,bytes))": "18f44b70",
  "fundWithToken((uint64,address[]),(uint8,bytes),uint256)": "0517e1aa",
  "kill()": "41c0e1b5",
  "register(uint256)": "f207564e",
  "release((uint8,bytes))": "6b2c1eef",
  "releaseRewardForRelayer(uint256)": "d8e25572",
  "releaseStake(uint256)": "45f54485"
}

real	0m0.357s
user	0m0.499s
sys	0m1.138s
mikers@mikers-B560-DS3H-AC-Y1:~/dev/consensus-shipyard/ipc-solidity-actors$ time forge inspect GatewayManagerFacet methodIdentifiers
{
  "addStake()": "5a627dbc",
  "fund((uint64,address[]),(uint8,bytes))": "18f44b70",
  "fundWithToken((uint64,address[]),(uint8,bytes),uint256)": "0517e1aa",
  "kill()": "41c0e1b5",
  "register(uint256)": "f207564e",
  "release((uint8,bytes))": "6b2c1eef",
  "releaseRewardForRelayer(uint256)": "d8e25572",
  "releaseStake(uint256)": "45f54485"
}

real	0m25.687s
user	0m25.145s
sys	0m0.653s

I am creating a script to precompile the selectors and will use the full path in order to speed thing sup

related to this ticket there is a PR with most of the work here and two follow on issues:

https://github.com/consensus-shipyard/ipc-solidity-actors/pull/407

https://github.com/consensus-shipyard/ipc-monorepo/issues/493

https://github.com/consensus-shipyard/ipc-monorepo/issues/494

this ticket was intended to be closed with my previous comment. closing with this comment


[Bug]: parseFrontMatter broke API and needs to be updated

Which Remix packages are impacted?

[ ] remix (Remix core)
[ ] create-remix
[ ] @remix-run/architect
[ ] @remix-run/cloudflare-workers
[ ] @remix-run/dev
[ ] @remix-run/express
[ ] @remix-run/netlify
[ ] @remix-run/node
[ ] @remix-run/react
[ ] @remix-run/serve
[ ] @remix-run/server-runtime
[ ] @remix-run/vercel

What version of Remix are you using?
latest
Steps to Reproduce
Hi!  Love remix so far!  Following the tutorial, something changed recently in the yaml parser, something about using parse instead of safeParse, or something like that... anyways the fix is to do this:
  const { attributes } = parseFrontMatter(
    file.toString(), {allowUnsafe: true}
  )

instead of
  const { attributes } = parseFrontMatter(
    file.toString()
  )

didn't take me too long to figure it out, but some other noob like myself might run into this problem and give up on remix, and that might be a bad thing!  Might want to update the tutorial https://remix.run/docs/en/v1/tutorials/blog#creating-the-project
💿 Update getPosts to read from the file system
in that section.  Thanks again for creating remix!!!
Expected Behavior
not to error out when loading /posts
Actual Behavior
errors out when loading /posts

@jacob-ebey can I take this issue up? Though I wanted to point out that I tried the remix tutorial and haven't faced this issue yet

Tracked in #2067


Get all the changes of a attribute for a record.

I had a use case where I needed to retrieve all the changes that occurred for a particular attribute for a record. I was thinking this was a pretty common use case that people might face.
Shall I go ahead and create a method "trail_for" which does the work or do you have any method which returns the required data?

Do you need it to be highly performant, or do you just want a convenience method for debugging?
I only need the latter, so I use this:
module Concerns::PaperTrail
  extend ActiveSupport::Concern

  def history_of(attr)
    versions.map(&:reify).compact.map(&attr)
  end
end

Here's an incomplete snippet of a spec for this:
    it '#history_of' do
      expect(answer.history_of(:text)).to eq []
      answer.update(text: 'my answer')
      expect(answer.history_of(:text)).to eq [nil]
      answer.update(text: '')
      expect(answer.history_of(:text)).to eq [nil, 'my answer']
    end

Unless you are storing the attribute data on your versions table as a metadata column you're not going to have a lot of options in the way of highly performant behavior other than eager loading all of the versions that you have in memory, due to the nature of the way PaperTrail serializes the data prior to inserting into the versions table. You may be able to get improved performance if you are using Postgres and storing your object column as the postgres native JSON type then you would have some options to improve the performance via querying most likely.


Horse Human Prediction

💥 Proposal
This model will predict whether a given image is a Horse or a Human. It will be based on Convolutional Neural Networks. I selected a basic project to explain How CNN will work to readers. Each step will be explained thoroughly.

@Anantashayana   - you can go ahead! We are assigning you 21 days for this project, after which it will be assigned to someone else if not completed. All the best!
Name the file as: algorithm_dataset.ipynb and link it in the readme of the labeled directory as algorithm - dataset.


Feature request: Limit page image width when viewing notes

First, thanks for making this plugin. It's great to be able to use my Supernote with Obsidian.
When viewing notes, I would like to limit the width of the page images so that they don't appear too large. (I have a Nomad, which is physically not very large.) At normal desktop window sizes, the page images tend to appear very zoomed in, requiring a lot of scrolling. My current workaround is to make my Obsidian window very narrow.
Not sure if there is an existing solution to this, or if this is already in your plans.
Thank you!

That is odd. Are you using a custom theme with Obsidian? I am using the default theme on macOS with version 1.5.12 and the images are scaled to the window size.

Hi, thanks for the quick response!
I am also using the default theme on macOS with Obsidian v1.5.12.
Let me try to clarify my question. When I make my Obsidian window narrow (screenshot below), my note images are small enough that I can see the whole page in my window, and the handwriting size is not much bigger than the text size in Obsidian. It is easy to scroll through multiple pages.

When I make the Obsidian window wider, then the note images scale to the window size as you described. I can see how this might be useful sometimes, but for my use it makes the notes harder to scan and scroll through because they are so large:

So I'm looking for a way to limit how big the page images can scale, so that I can scan and scroll through multiple pages more quickly.
Just a usability feature suggestion, feel free to ignore or deprioritize :)

I added an FAQ entry on this. I suggest you try the Mousewheel Image zoom plugin: https://github.com/philips/supernote-obsidian-plugin/tree/main?tab=readme-ov-file#faq

Hi, thanks for the suggestion and FAQ update!
I gave the plugin a try; it works great on images embedded in .md files, but it doesn't seem to have any effect on previews directly in .note files. My question is about .note files, not .md files with images embedded. Sorry if that context wasn't clear before!
I have some free time today so I might try forking your repo and tinkering a bit. Will share here if my efforts bear any fruit!

@james-xli I think the trick with the .note preview is that there isn't a natural spot to store the adjusted zoom level in the .note as I only have a .note parser not a .note generator. So, you would have this metadata, the zoom level, but no place to store it.
I guess I could have a max px setting in the settings pane and just let people specify a max. Would that accomplish your desire?

I think a max px width setting in the settings pane would be perfect! No need for it to be a per-note or per-image setting.


Is it possible less permission request?

Describe the desired feature
Hello.
I publised my app to play store.Its getting hits and users love my app.But there is a one star comments because my apps need WRITE_EXTERNAL_STORAGE .Its sensitive permission.Users think if i grant permission this app acces my private files/images.
Why we need request this permission? Can we use app folder? Is it possible?
Discussion link.
https://community.kodular.io/t/read-write-external-storage-permissions-app-specific-private-external-storage/20912

Give an example of how this feature would be used
We dont need ask user for this permiison and we get 5 star ratings with user trust

They dont need press grand permission notifier :)
Why doesn't the current App Inventor system address this use case?
Permission policy updated with new Android versions and AI2  is not handle this permission correctly.

I think its possible.
Why is this feature beneficial to App Inventor's educational mission?

I think the stundets or users do not think too much about this permission request.Because they made it.But when they made a usefull  app want share it with people on Google play or any other market its makes problem.Some users do not trust app.Like my app

I expect that we will probably move to App-private storage in the next API upgrade with legacy support for “external” storage as Google has removed global read write permissions in Android Q.

On Oct 13, 2019, at 17:04, GOTFire<EMAIL_ADDRESS>wrote:
Describe the desired feature
Hello.
I publised my app to play store.Its getting hits and users love my app.But there is a one star comments because my apps need WRITE_EXTERNAL_STORAGE .Its sensitive permission.Users think if i grant permission this app acces my private files/images.
Why we need request this permission? Can we use app folder? Is it possible?
Discussion link.
https://community.kodular.io/t/read-write-external-storage-permissions-app-specific-private-external-storage/20912
Give an example of how this feature would be used
We dont need ask user for this permiison and we get 5 star ratings with user trust
They dont need press grand permission notifier :)
Why doesn't the current App Inventor system address this use case?
Permission policy updated with new Android versions and AI2 is not handle this permission correctly.
I think its possible.
Why is this feature beneficial to App Inventor's educational mission?
I think the stundets or users do not think too much about this permission request.Because they made it.But when they made a usefull app want share it with people on Google play or any other market its makes problem.Some users do not trust app.Like my app
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


[Doc] Add work flow of checking broken links

@tuteng could you please help review? Thank you

run integration tests


Requests fail with too many requests reason

Hello,
I cam across this repo very recently and it worked fine when I did a POC for myself.
When I actually implemented my research project, I started getting too many failures.
Here's what I'm doing:
I have a list of say 5000 URLs which I need to scrape from a site.
I send requests to those URLs one after another (with a random sleep of 30 seconds to 60 seconds) between two consecutive requests.
FOr the first 3 to 5 requests, I get valid response. But after that, I start getting failures where in HTML says "too many requests... blah blah blah"
I believe CloudFlare did some changes few days back only, which could have started breaking the code in place.
Could you please look into this.
Thanks,

Please see error-screenshot

Hi @tarunteckedge this could be in relation to their recent 9th birthday... this will require some investigation and understanding as its... new
https://blog.cloudflare.com/cleaning-up-bad-bots/

Actually this is because the site you're hitting is using distil networks https://www.distilnetworks.com/ ..
have you got a full dump including heads etc... to analyze more rather than just a body, perhaps enable debug=True in your create_scraper()

I tried doing the same thing on actual Chrome Browser and was successfully able to reproduce similar behavior.
I opened 20 URLs back to back as fast as possible.
First 12 URLs were opened successfully and successive URLs were blocked showing me this error page (this is same which I was getting via code also).
But, new finding is - this is showing reCaptcha
As I saw your ReadMe file, can this Captcha also solved by your code?
Because in my POC, for captcha failures, I was shown some different error message (other than this).

it can via 3rd parties..
https://github.com/VeNoMouS/cloudscraper#3rd-party-recaptcha-solvers

If you want you can email me the list of URL's your attempting so i can look into it more for you in private

Thanks, just sent you list of urls by email

Refer my response to your email, and issue being outside of cloudscraper
As I pointed out in the email you need to construct that token correctly with the calculated hash.
I'm going to close this ticket and we can continue via email as its unrelated to the project


⚠ Bofrost.at has degraded performance

In d545b1c, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2861 ms

Resolved: Bofrost.at performance has improved in 5345c05.


display meta data test fail

Describe the Bug
Display meta data test failed:
<ElementTemplatesView>                                                                               basics                                                                                ✓ should render                                                                                ✓ should get element templates on mount                                                            ✓ should get element templates for selected element type                                                                                ✓ should get element templates sorted alphabetically                                                                                ✓ should list element templates                                                                    ✗ should display meta data                                                                           AssertionError: expected 'Walt\'s Catalog | 2001-09-08' to equal 'Walt\'s Catalog | 2001-09-09'                                                                                at Context.eval (webpack:///./src/plugins/element-templates-modal/components/__tests__/ElementTemplatesViewSpec.js?:91:30)
Here full log:
0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   '/usr/bin/node',
1 verbose cli   '/usr/share/npm/bin/npm-cli.js',
1 verbose cli   'run',
1 verbose cli   'client:test'
1 verbose cli ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'preclient:test', 'client:test', 'postclient:test' ]
5 info lifecycle camunda-modeler-builder@0.0.0~preclient:test<EMAIL_ADDRESS>6 info lifecycle camunda-modeler-builder@0.0.0~client:test<EMAIL_ADDRESS>7 verbose lifecycle camunda-modeler-builder@0.0.0~client:test: unsafe-perm in lifecycle true
8 verbose lifecycle camunda-modeler-builder@0.0.0~client:test: PATH: /usr/share/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/marciotex/devel/camunda-modeler/node_modules/.bin:/usr/share/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/marciotex/devel/camunda-modeler/node_modules/.bin:/home/marciotex/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
9 verbose lifecycle camunda-modeler-builder@0.0.0~client:test: CWD: /home/marciotex/devel/camunda-modeler
10 silly lifecycle camunda-modeler-builder@0.0.0~client:test: Args: [ '-c', '(cd client && npm run test)' ]
11 silly lifecycle camunda-modeler-builder@0.0.0~client:test: Returned: code: 1  signal: null
12 info lifecycle camunda-modeler-builder@0.0.0~client:test: Failed to exec client:test script
13 verbose stack Error<EMAIL_ADDRESS>client:test: (cd client && npm run test)
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter. (/usr/share/npm/node_modules/npm-lifecycle/index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:315:20)
13 verbose stack     at ChildProcess. (/usr/share/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:315:20)
13 verbose stack     at maybeClose (internal/child_process.js:1021:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
14 verbose pkgid<EMAIL_ADDRESS>15 verbose cwd /home/marciotex/devel/camunda-modeler
16 verbose Linux 5.8.0-2-amd64
17 verbose argv "/usr/bin/node" "/usr/share/npm/bin/npm-cli.js" "run" "client:test"
18 verbose node v12.18.4
19 verbose npm  v6.14.8
20 error code ELIFECYCLE
21 error errno 1
22 error<EMAIL_ADDRESS>client:test: (cd client && npm run test)
22 error Exit status 1
23 error Failed at the<EMAIL_ADDRESS>client:test script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
Sorry, I dont know formatting better.
Steps to Reproduce

git pull
npm install
npm test

And then the error above.
Expected Behavior
should display meta data test run sucessfull
Environment

OS: Debian GNU/Linux sid
node --version: v12.18.4

Regards,

I can't reproduce this in the current develop branch, on macOS. On which branch did you try that out?

Could this be related to timezones? expected 'Walt\'s Catalog | 2001-09-08' to equal 'Walt\'s Catalog | 2001-09-09' looks suspicious.

I can't reproduce this in the current develop branch, on macOS. On which branch did you try that out?

On develop branch.

Could this be related to timezones? expected 'Walt\'s Catalog | 2001-09-08' to equal 'Walt\'s Catalog | 2001-09-09' looks suspicious.

Hi.
Thank you for your interest. Now, I ran again, and same results.
$ date
qui 01 out 2020 12:48:44 -03
Is there something I can do for get more informations?

My proposal would be to debug that case and figure out where the miss-match is coming from.

The root of this issue IMO is here:
  const dateUpdated = new Date(metadata.updated);

  const year = dateUpdated.getFullYear();

  const month = leftPad(String(dateUpdated.getMonth() + 1), 2, '0');

  const date = leftPad(String(dateUpdated.getDate()), 2, '0');

See https://github.com/camunda/camunda-modeler/blob/develop/client/src/plugins/element-templates-modal/components/ElementTemplatesModalView.js#L424
We interpret the timestamp set in the element templates (e.g.,:
      "metadata": {
        "catalogOrganizationId": "b810760f-167f-4b54-bd30-37cafcfdd08e",
        "catalogTemplateId": "0002e7a7-1dfe-41da-a01d-4ad3efc66497",
        "created":<PHONE_NUMBER>305,
        "tags": [
          "MyTestRPACatalog"
        ],
        "updated":<PHONE_NUMBER>905
      },

using various methods on Date. This will return the values based on local timezone. [Read MDN: Note: It's important to keep in mind that while the time value at the heart of a Date object is UTC, the basic methods to fetch the date and time or its components all work in the local (i.e. host system) time zone and offset.] Depending on where you run the test (in particular with daylight saving time), the day will therefore differ +/- 1 and the test will fail.
I see two possible alternatives to resolve this
A) We can assume that we cannot know in advance based on which timezone the created and updated timestamp was set in the element template. Therefore the only chance we have to interpret it based on local timezone. Therefore we would not change the logic but the spec here and also create the comparison value based on local timezone (ie. use new Date("1000000000000").getDate() and so on).
B) The created and updated properties in the element template config metadata are not part of the public element template API (they are not documented here). The only system setting these values is Cawemo. I aligned with Cawemo team and they confirmed that they set the timestamp based on UTC timezone. Therefore we should change the logic here and rather use the UTC methods like Date.prototype.getUTCDate().
@philippfromme what do you think would be appropriate?

A) We can assume that we cannot know in advance based on which timezone the created and updated timestamp was set in the element template. Therefore the only chance we have to interpret it based on local timezone. Therefore we would not change the logic but the spec here and also create the comparison value based on local timezone (ie. use new Date("1000000000000").getDate() and so on).

Let's go for it. 👍

Closed via https://github.com/camunda/camunda-modeler/commit/b994463a0ab4b4f786f6e7418e7617ecd293f4f5


feat: allow to out-out of use:enhance for forms

fix #13180
I reused the data-sveltekit-reload attribute to opt-out of use:enhance. The attribute can be present either on the form element or the form button.
More details of the reasoning in the linked issue but tl;dr: I need to post to an endpoint in a new tab from the same form that is used for formactions and use:enhance.

Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

Edits

[x] Please ensure that 'Allow edits from maintainers' is checked. PRs without this option may be closed.

preview: https://svelte-dev-git-preview-kit-13250-svelte.vercel.app/
this is an automated message


#26: Image component with Zoom

-
-

Issue
#26

Dependencies
--

Decisions
Image component with support for zoom and pivot point. (Component with zoom on hover will be made in another PR).

Animated GIF

Check the prop forwarding and getting rid of the div we discussed

@gcandal Regarding the removal of the div and setting width and height, it does not work, an overflow happens (scroll bars in page).


Create single launcher application that can then run all the components

As user, I want to start the software in a simple way by just running one component, that then takes care to start the other required components.

// Since we've actually built something like that, I'll leave it a mention in this issue. 🤷
// We've built a JavaFX application that can do exactly that.
// Feel free to provide feedback if you have any 🙂


Add support for custom color palettes #51

Merged functionality for custom palettes in https://github.com/mapbox/mapboxgl-jupyter/pull/52
Thanks for the PR @ppessi


Prefix cluster-wide resource names

What this PR does / why we need it:
This PR is needed to facilitate installation of Flux in multpiple instances on the same cluster.
Which issue this PR fixes
N/A
Special notes for your reviewer:
N/A
Checklist

[x] DCO signed
[x] Chart Version bumped
[x] helm-docs are updated
[x] Helm chart is tested
[x] Update artifacthub.io/changes in Chart.yaml
[x] Run make reviewable

Why would one do this? Flux is designed to support multi-tenancy:
https://github.com/fluxcd/flux2-multi-tenancy

Thanks for your comment, @dmccaffery. The chart you pointing to is marked as "deprecated" so I thought that I will add the multi-tenancy support into this active chart.


fix(btp-utils): add cf instance types

Fix for https://github.com/SAP/open-ux-tools/issues/2699

@IainSAP wondering if enum should be changed to `const, to allow for better performance and more concise code.


Socket permission denied DragaonBoard820

I am not able to ping, error:socket: Permission denied

I believe this is related to this issue: https://bugs.96boards.org/show_bug.cgi?id=206
are you trying this command as root or standard user?

yes i am trying with root user, i connected USB Ethernet , got an ip address. while ping :socket permission denied error occur. But ssh connection working fine.
i checked the above link and try to do, following are error log:
root@linaro-developer:~# apt-get install --reinstall iputils-ping
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reinstallation of iputils-ping is not possible, it cannot be downloaded.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

hmm. this bug happens if you run with standard user, not root. are you sure you are running as root when running the ping command?

following is log while sudo user:
root@linaro-developer:~# sudo setcap cap_net_raw+ep /bin/ping
root@linaro-developer:~# sudo getcap /bin/ping
/bin/ping = cap_net_raw+ep
root@linaro-developer:~# ping ping www.google.com
ping: www.google.com: Temporary failure in name resolution

root@linaro-developer:~# sudo ping <IP_ADDRESS>
socket: Permission denied
Note: <IP_ADDRESS> is my local host machine

this is confusing.. 'sudo' is not a user. running sudo when you are already root is not needed.
based on the getcap output , the permissions are correct. so this is not the same issue as in the bugzilla i linked.

if ping without sudo i.e.
root@linaro-developer:~# ping <IP_ADDRESS>
same error is coming
socket: Permission denied
is there need of any modification in file sys or kernel???

by the way, which kernel version/branch are you running?  any chance you could be running an Android kernel? Android typically has CONFIG_ANDROID_PARANOID_NETWORK to better control who can access network.

Dragonboard820 machine is in meta-qcom, not meta-96boards, closing.


Haxe linter

Some (hopefully) helpful notes:

Haxe.org
Compile-time error format: {filename}.hx:{line num}: characters {from char}-{to char} : {message} : {specifier} (specifier is not always there; see examples)
Haxe compiler has several special compiler flags for linking, -lib and -cp. We might need to read those off build.hxml (doc)
When targeting C#, Java or C++, it might have linking errors in a different format.
You might want to also see how vaxe's make command works: this

Compiler error samples (targeting Neko VM):
File.hx:5: characters 8-9 : Missing ;
File.hx:10: characters 4-5 : Unexpected }
File.hx:5: characters 8-9 : Unknown identifier : a

I'll try to implement this when I have some spare time.

@w0rp I've been working on it, does ale support line/col number ranges? I know lnum and col exist, but I have no idea how to specify ranges, as haxe compiler provides those instead of per-line errors.

You can use end_col to set the end column number, and end_lnum if you want to set an end line number too.

I added those to the documentation now.


Microsoft Teams screen share gets completely white after some miliseconds

Version: 126.0.6478.254 R4
On Win7 and when using the Microsoft Teams online video-conference (screen sharing) feature, it works for the first milliseconds and then turns completely white. You can repeat this behaviour if you click on an other tab and then switch back to Microsoft teams.

I have no issues viewing screen sharing on Vista with the d3d9 renderer. Were any dumps created in %LOCALAPPDATA%\Supermium\User Data\Crashpad\reports during the period of the screen share?

@win32ss I can't say for sure, I have one DMP today, but I'm not 100% sure, because the DMP is about 30 minutes later as my screen session was.


It does not work in node.js. Do you consider adapting it ?

Hello.
Using cornerstone in node-js does not work. It seems to be dependent on document (to create element, canvas, ...).
My use case is : to display a list of .dcm image's thumbnails from a rest api. So loading a .dcm file on the client to show only the thumbnail is out of question. That operation : to fetch the thumbnail from a .dcm file, has to be server side. And cornerstone seems to be able to do that. At least with wado-image-loader, to load the "main" image.
Anyway, are you against using cornerstone server side ? Are there limitations ? Are you accepting pull requests ?
// nodejs
const cornerstone = require('cornerstone-core');

// stack
VM80 C:\Users\...\node_modules\cornerstone-core\dist\cornerstone.min.js:2 Uncaught ReferenceError: document is not defined
    at Object.defineProperty.value (VM80 C:\Users\...\node_modules\cornerstone-core\dist\cornerstone.min.js:2)
    at t (VM80 C:\Users\...\node_modules\cornerstone-core\dist\cornerstone.min.js:2)
    at Object.defineProperty.value (VM80 C:\Users\...\node_modules\cornerstone-core\dist\cornerstone.min.js:2)
    at t (VM80 C:\Users\...\node_modules\cornerstone-core\dist\cornerstone.min.js:2)
    at Object.defineProperty.value (VM80 C:\Users\...\node_modules\cornerstone-core\dist\cornerstone.min.js:2)
    at t (VM80 C:\Users\...\node_modules\cornerstone-core\dist\cornerstone.min.js:2)
    at Object.defineProperty.value (VM80 C:\Users\...\node_modules\cornerstone-core\dist\cornerstone.min.js:2)
    at t (VM80 C:\Users\...\node_modules\cornerstone-core\dist\cornerstone.min.js:2)
    at Object.defineProperty.value (VM80 C:\Users\...\node_modules\cornerstone-core\dist\cornerstone.min.js:2)
    at VM80 C:\Users\...\node_modules\cornerstone-core\dist\cornerstone.min.js:2

Thanks

@brunoalvesdefaria is working on something similar. I'll update this as soon as we have more info.

So @brunoalvesdefaria  what say you ? 🌮

We have a working node.js cornerstone rendering pipeline but it is very much in a prototype state.
We had to:

Use JSDOM for document / window
Polyfill XMLHttpRequest (ensure you're using version 2!), Promises, requestAnimationFrame, CustomEvent (ensure the version you use doesn't require document.createEventObject, since JSDom doesn't provide that)
Use perf_hooks for the browser performance API
Create a global 'navigator' object, since WADO Image Loader check it for hardwareConcurrency
Define properties on 'window.HTMLElement.prototype' for JSDOM so that it can return some hardcoded clientWidth / clientHeight values, since JSDOM doesn't actually do any layout
Change WADO Image Loader to add a useWebWorkers: false flag. I don't know when this will be pushed back upstream.

I don't know how we could alter Cornerstone Core to support server-side rendering more easily. There is one PR which could alleviate the requestAnimationFrame polyfill (https://github.com/cornerstonejs/cornerstone/pull/221). We could maybe switch from XMLHttpRequest to the Fetch API, but we'd still need a polyfill for Node, I guess.
Feel free to test it out and let us know what you think. As I've said, it's a prototype and we don't have time to support for it yet.
Hope that helps!
Erik

The repository I linked to above is still a mess, but the file I linked to does not require PhantomJS, just Node (and a bunch of NPM modules). What you're looking for may be coming (to some degree) in this PR (https://github.com/cornerstonejs/cornerstone/pull/261).
This library will take in 'Image' objects and render them to a canvas. You can write Image Loaders to provide whatever types of images you want.
To do what you propose, you could use the storedPixelDataToCanvasImageData type functions. One of them is here: https://github.com/cornerstonejs/cornerstone/blob/e380f7822f82ab319bd185867b50ca835da15ff9/src/internal/storedPixelDataToCanvasImageData.js
Generally they are in the 'internal' folder, because we don't really expect people to be using them. You could take the output RGBA pixel data array and write it to a PNG with something like pngjs.
I'll happily take PRs if you have some proposals for how the library could be reorganized for both server and client-side usage. Server-side rendering has not really been a focus of this library, but I would be happy to see it supported.

Indeed, I tried to make DicomViewer and it does not support compressed image. But it works for non compressed image, the code was a not hard to read.
I also came across Papaya and fo-dicom.
I will try integrating cornerstonejs after all, because the rendered canvas is the simpler. And finally, not render the images server side, but instead do them on the client side. Turns out we can do a lot with a <canvas>.


Support $STD_VERSION substitution in deno.land/std

fixes #1542

Currently you apply this to all pages in /x too. It should only apply when the module name is
std.


V2 - CLA Not Signed - UI hangs while configuring CLA Manager settings for a company that does not have company owner

Prerequisite

Create a CLA group with CCLA enabled
Add github repository for the CLA group

Steps to Follow

Login to Github as corporate contributor
Navigate to the repository used in prerequisite
Create PR
CLA check fails
Click on CLA NOT SIGNED
Contributor is redirected to Contributor Console
Click on Proceed as a Corporate Contributor
Search and select company that has not signed CLA for the project and that does not have company owner but has company admin
Click Proceed
Click Yes
Click Proceed
Login as company admin of the same company or as company admin of another company
UI hangs while configuring CLA Manager settings as API call to assign company owner fails.
However CLA Manager designee role is assigned as expected

@nirupamav .
Could you verify this use case. Tested company-admin role and was able to assign company-owner role

Verified that the issue mentioned in the ticket is fixed


Python 3.7 SSL Error

error in 'homepage.py'
And I import SSL & add some code as 'ssl._create_default_https_context = ssl._create_unverified_context'
then run again, the error was not found.
please ensure these code is good for work.
File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py”, line 222, in urlopen

    return opener.open(url, data, timeout)

  File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py”, line 525, in open

    response = self._open(req, data)

  File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py”, line 543, in _open

    ‘_open’, req)

  File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py”, line 503, in _call_chain

    result = func(*args)

  File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py”, line 1360, in https_open

    context=self._context, check_hostname=self._check_hostname)

  File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py”, line 1319, in do_open

    raise URLError(err)

urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)>

I have the same error when starting up the tasks. But then they appear to run fine afterwards. I've had problems Adding to Cart with Best Buy and Auto checkout with Walmart, but I'm unsure if they're related to this error. The item images have also never loaded for me.

I fix it, you can try this version
#1

That got rid of the error. Thanks!


Rebass.com redirected to ...

just went to Rebass.com and got lots of asian glyphs instead of your fabulous compnents.

Thanks! 😆 I've never tried registering rebass.com – the docs are located at http://jxnblk.com/rebass


The piece has no point on the board where you can move it

Description:
The_ last white chess piece on the board does not have the ability to move. There are no points on the board where the chess piece can move. A chess piece can be moved around the board, and it is impossible to place it in any cell. Returning the move back to black, then this problem appears again.
Steps to reproduce:

Open the link:  http://codepen.io/juliangarnier/full/BsIih.
View topics.
Choose the second topic (Stone).
Start of the game.
Play until one white chess piece (king) remains.
Make a move by the king. (The king does not walk).
Return one move.
Make a move black.
And move the white king again.

Actual result:
A chess piece cannot make a move. And starts to fail

Expected result:
Points will appear on the board where you can move the piece. and the King will move so that you can continue to play and finish the game.
Additional info:
Tested on Chrome.

It's good game


Np 2373/add confirmation modal to action

https://nanopay.atlassian.net/browse/NP-2373
An example for adding confirmation model -- https://github.com/nanoPayinc/NANOPAY/pull/10853

@jlhughes seems like the ConfirmationModal binds to an action and in particular destructive actions. Whereas the PropertyModal binds to a property so that a user can edit a property in a separate modal (i.e. when approving an approval request so that i don't have to hit edit on a  request in order to fill things out but see the entire model). If further information for approval is needed to be store on the request, I just bind that property to the PropertyModal.
Tl;dr ConfirmationModal != PropertyModal


Parse instruction returns a single time text but recognize all time inputs

In the text above, both the 30 minutes and the 2 hours wait time were calculated and added to the returnTimeInSeconds field. But there is only one return for text so clients won't be able to highlight all instances of time.

Implemented in #32


TiFlash COMPILE WORK is soooooo unfriendly

Enhancement

Sorry about that. Could please describe the problem you faced in detail? Also, a pr to enhance this is warmly welcome!

Sorry about that. Could please describe the problem you faced in detail? Also, a pr to enhance this is warmly welcome!

dependency download: without vpn, the dependencies in contrib downloaded would be difficult
compile: compile progress is not clear and slow. For example, progress is blocked on "Built target kv_client" for hundreds of minutes. Is it in downloading rust dependencies or compiling?

Suggestion

could offer some available repositories like gitee for mainland developer?
could depend on binary file when compiling tiflash?

could offer some available repositories like gitee for mainland developer?

Most of the dependencies have no repo in gitee, it can not help decrease the download time. However, we only need to download once, I think it is acceptable.

could depend on binary file when compiling tiflash?

"Built target kv_client" which may means link tiflash-proxy which can only run in single thread, so it is kind of slow. Depending on binary file may cause incompatible, so we do not do in this way. And tiflash support incremental compilation, so the later compile can be faster. Compile time is an issue for most c++ repo, warnly welcome to make a pr if you have better solution.

I closed this issue for now. Feel free to continue discussion.


Use capture

[x] Changes have been thoroughly tested to not break existing functionality.
[x] New functionality has been documented or existing documentation has been updated to reflect changes.
[x] Visual changes are explained in the PR description using a screenshot/recording of before and after.

https://github.com/Stillat/blade-parser-typescript/issues/53#issuecomment-1573236170

blade-capture dep needs moving from admin to support


How to deal with multiple PoProject in one single Android Project

I have one project, and a couple of POEditor projects.
(I need this, because I want some contributor get no access to some strings from POEditor)
How to deal with this in Gradle ?

@afaucogney  have a look at this PR
https://github.com/lukin0110/poeditor-gradle/pull/14
In our project we use flavors and so different projects for one android project;

I know it's an old topic, but in my case i didn't want to use flavours and needed to fetch texts from two separate PoEditor projects.
I browsed PoEditor plugin code and found out that acutally there are multiple configurations for every variant already stored, but i needed to find a way to execute proper variant by not using built in productFlavor support
I did it by creating poeditor configuration for multiple variants and adding some gradle tasks to invoke them.
Maybe it will be usefull for someone:
PoEditor configuration block:
poeditor {
    //Common configuration
    apikey '...'
    type 'android_strings'
    tagsNew '1.0'

    //Configuration for first PoEditor project
    variant 'Main'
    projectId 'first_project_id'

    terms "${resSrcRoot}/res/values/strings.xml"
    trans 'en', "${resSrcRoot}/res/values/strings.xml"
    filters 'en', ''

    //Configuration for second PoEditor project
    variant 'Merged'
    projectId 'second_project_id'

    terms "${resSrcRoot}/res/values/strings_merged.xml"
    trans 'en', "${resSrcRoot}/res/values/strings_merged.xml"
    filters 'en', ''
}

And gradle tasks:
tasks.register('fetchPoeditorMain', PullTaskGradle) {
    doFirst {
        project.poeditor {
            variant 'Main'
        }
    }
}

tasks.register('fetchPoeditorMerged', PullTaskGradle) {
    doFirst {
        project.poeditor {
            variant 'Merged'
        }
    }
}

tasks.register('fetchPoeditor') {
    dependsOn 'fetchPoeditorMain'
    dependsOn 'fetchPoeditorMerged'
}


[fix] sys apis temp_file edit

Coverage decreased (-10.9%) to 73.285% when pulling baf306c80c55503f2ed2c78ac870a644b4269989 on ShinjiTanimoto:file into 8ecb0ee3d6fade85488c98be27c8e4932648a316 on shirasagi:master.


Delegates signing structure should allow signing all chains

What is needed?
Currently, for adding delegates a EIP712 structure with the chainId must be signed. But if the chainId: 0, that signature should be valid for every network (currently 0 is taken as a valid chainId).
Background
Instead of the need to sign X signatures for X transaction services, only 1 signature would be valid for every tx service.
This was requested by @DmitryBespalov , and I think it makes a lot of sense so we can deprecate the old delegate endpoints

Tested and verified with the help of señor @falvaradorodriguez many thanks!

To add some clarification to this ticket: the implementation does not validate against chain id 0 since this is not according to the EIP-712 specification. More specifically on the Domain Separator ^1:

where the type of eip712Domain is a struct named EIP712Domain with one or more of the below fields. Protocol designers only need to include the fields that make sense for their signing domain. Unused fields are left out of the struct type.

where

uint256 chainId the EIP-155 chain id. The user-agent should refuse signing if it does not match the currently active chain.

Given the above, we have decided to support an optional chain id for cross-chain EIP712 payloads instead of chain id 0 for cross-chain compatibility.


Error in RColorBrewer: n too large, allowed maximum for palette BrBG is 11

Error found while refreshing model. We were plotting 12 bars on report_decomposition.png, but only 11 bars were finally plotted, both in init-mod and in the bar plot with the refreshed model. Console printed the following error:
Warning messages:
1: In RColorBrewer::brewer.pal(n, pal):
n too large, allowed maximum for palette BrBG is 11
Returning the palette you asked for with that many colors

This warning message appeared twice. It seems that once for every plot on report_decomposition.png

Best,
Joan

Hi, this should be solved now with this commit https://github.com/facebookexperimental/Robyn/commit/5cb972427b4579de875b0d336ff51c84c403a638. Let me know.

please reopen if necessary.


Function app failing when cloudflare logs blob are large

https://github.com/Azure/Azure-Sentinel/blob/e076a957cdda7af8365d7b8d22f8b0b7c0b2255d/Solutions/Cloudflare/Data Connectors/AzureFunctionCloudflare/main.py#L31
During an event where we were experiencing an influx of events on Cloudflare (DDoS) the function app responsible for processing these logs from the Storage account started failing. This resulted in days without logs as it kept attempting to process the same logs and failing repeatedly, effectively halting Cloudflare log ingestion.
The blob sizes in our storage container were reaching up to 83M in size (during the DDoS) vs 52K during normal circumstances.
I've tried to tune the parameters available to me, like MAX_BUCKET_SIZE and MAX_CONCURRENT_PROCESSING_FILES to no avail. This is the error we would receive when looking through application insights for the function app:
Exception: HttpResponseError: Download stream interrupted.
Stack:   File "/azure-functions-host/workers/python/3.8/LINUX/X64/azure_functions_worker/dispatcher.py", line 448, in _handle__invocation_request
    call_result = await self._run_async_func(
  File "/azure-functions-host/workers/python/3.8/LINUX/X64/azure_functions_worker/dispatcher.py", line 724, in _run_async_func
    return await ExtensionManager.get_async_invocation_wrapper(
  File "/azure-functions-host/workers/python/3.8/LINUX/X64/azure_functions_worker/extension.py", line 147, in get_async_invocation_wrapper
    result = await function(**args)
  File "/home/site/wwwroot/AzureFunctionCloudflare/main.py", line 59, in main
    await asyncio.gather(*cors)
  File "/home/site/wwwroot/AzureFunctionCloudflare/main.py", line 107, in process_blob
    async for chunk in blob_cor.chunks():
  File "/home/site/wwwroot/.python_packages/lib/site-packages/azure/storage/blob/aio/_download_async.py", line 151, in __anext__
    self._current_content = await self._iter_downloader.yield_chunk(chunk)
  File "/home/site/wwwroot/.python_packages/lib/site-packages/azure/storage/blob/aio/_download_async.py", line 62, in yield_chunk
    return await self._download_chunk(chunk_start, chunk_end - 1)
  File "/home/site/wwwroot/.python_packages/lib/site-packages/azure/storage/blob/aio/_download_async.py", line 105, in _download_chunk
    chunk_data = await process_content(response, offset[0], offset[1], self.encryption_options)
  File "/home/site/wwwroot/.python_packages/lib/site-packages/azure/storage/blob/aio/_download_async.py", line 27, in process_content
    raise HttpResponseError(message="Download stream interrupted.", response=data.response, error=error)

This is a critical issue as it affects us when we need it most, during a security incident. Could you please have a look at what improvements could be made to stop this from happening again.

I just want to add a few more details about the errors we were having. Here is a screenshot from app insights:

@beachfires Did you ever end up fixing this? I'm running into the same issue as well.
@v-amolpatil Has this been addressed yet?

Hi @beachfires, we already have a PR #7983 with the resolution of this issue, once the PR is merged the issue will be resolved, thanks!

Hi @beachfires we are discussing with the solution owners the code has been updated the latest version of package will be published shortly, thanks!

Hi @beachfires the issue has been resolved in the latest package of Cloudflare which was merged in this PR - #8217, we are closing this issue, if you need assistance with something else please feel free to reach out to us, thanks!


Midterm Exam Link expired

Delete text above this line before you submit your issue. Place your issue information in the appropriate sections below.
Description
Midterm link says it is expired even though on the syllabus, our midterm should not expire until 23:59 on March 23. I opened the link at 17:00 March 23.
Screenshots

Steps to resolve
Please let me know how I can access the link. I have attached a screenshot with the time in this issue.

I am also having this issue.

I had this problem too for a while before the midterm closed. I still have not been able to take the midterm.


[Discussion] Quick sketch for unified chunk id and size handling

In short, the concept is to make a generic struct that handles the shell of a chunk (the Type/Length/Value portion) so that all you have to worry about for each new chunk is "what's inside the chunk?" and not "what if the chunk is actually too small/large?"
Here's an implementation of that concept:
use core::fmt::Debug;

use binrw::{binrw, BinRead, BinWrite, PosValue, io::{TakeSeekExt, Cursor, Seek}};

#[binrw]
#[brw(little)]
#[derive(Debug, PartialEq)]
// const generics don't support array types yet, so let's just encode it into a u32
struct KnownChunk<const MAGIC: u32, T: for<'a> BinRead<Args<'a>=()> + for<'a> BinWrite<Args<'a>=()>> {
    #[br(temp, assert(id == MAGIC))]
    #[bw(calc = MAGIC)]
    id: u32,

    // TODO: calc by querying content + extra_bytes.len() when writing, or seeking back after you know
    size: u32,

    #[br(temp)]
    #[bw(ignore)]
    begin_pos: PosValue<()>,
    // ensure that we don't read outside the bounds for this chunk
    #[br(try, map_stream = |r| r.take_seek(size as u64))]
    content: Option<T>,
    #[br(temp)]
    #[bw(ignore)]
    end_pos: PosValue<()>,

    // calculate how much was read, and read any extra bytes that remain in the chunk
    #[br(count = size as u64 - (end_pos.pos - begin_pos.pos))]
    extra_bytes: Vec<u8>
}

// const fn fourcc(magic: &[u8; 4]) -> u32 {
//     u32::from_le_bytes(*magic)
// }

// type Md5Chunk = Chunk<{fourcc(b"MD5 ")}, u128>;

macro_rules! Chunk {
    ($magic:expr, $content:ty) => { KnownChunk<{ u32::from_le_bytes(*$magic)}, $content> }
}

type Md5Chunk = Chunk!(b"MD5 ", u128);

The main thing I consider to be missing in this implementation is automatically setting the size when writing the chunk. Unfortunately, binrw doesn't really provide an easy to do this right now. Something I remember considering doing in previous projects was manually creating a WriteLength/BinLength trait for the purpose, but there's no easy derive-driven tool as of yet.
Here's some tests to go with it:
fn roundtrip<T: for<'a> BinRead<Args<'a>=()> + for<'a> BinWrite<Args<'a>=()> + PartialEq + Debug>(test: &T) -> T {
    let mut buffer = Cursor::new(Vec::<u8>::new());
    test.write_le(&mut buffer).unwrap();
    buffer.seek(std::io::SeekFrom::Start(0)).unwrap();
    T::read_le(&mut buffer).unwrap()
}

fn roundtrip_assert<T: for<'a> BinRead<Args<'a>=()> + for<'a> BinWrite<Args<'a>=()> + PartialEq + Debug>(test: T) {
    assert_eq!(test, roundtrip(&test));
}

#[test]
fn chunk_test() {
    // undersized chunk results in entire content ending up in extra_bytes
    roundtrip_assert(Md5Chunk { size: 4, content: None, extra_bytes: vec![0; 4]});
    // oversized chunk results in extra bytes ending up in extra_bytes
    roundtrip_assert(Md5Chunk { size: 20, content: Some(64), extra_bytes: vec![1; 4]});
    // trivial case
    roundtrip_assert(Md5Chunk { size: 16, content: Some(128), extra_bytes: vec![] });

    // I was too lazy to create byte buffers for these tests, so I used the fact that size isn't automatically generated and the extra_bytes field to craft the buffers I wanted.

    // "extra bytes" become content
    assert!(roundtrip(&Md5Chunk { size: 16, content: None, extra_bytes: vec![0; 16]}).content.is_some());
    // undersized chunk does not pull later bytes, if available
    assert_eq!(roundtrip(&Md5Chunk { size: 4, content: None, extra_bytes: vec![0; 20]}).extra_bytes.len(), 4);
}

Apologies for the random code dump. Let me know if you have any questions, or have interest in taking this concept further.

Thank you so much for continuing to think about this and taking the time to post here! (or maybe apologies for accidentally nerd-sniping (https://xkcd.com/356/) you? :)
In short, the concept is to make a generic struct that handles the shell of a chunk
(the Type/Length/Value portion) so that all you have to worry about for each new chunk
is "what's inside the chunk?" and not "what if the chunk is actually too small/large?"

I really like this line of thinking. I'll spend some time this evening with your idea.

@kitlith I spent some time this evening integrating this pattern and it works!  Thanks again for posting it.
This pushed me into seriously considering not including the id and size in the various chunk structs at all, making them fully logical representations, rather than a mix of logical and serialized info (especially size).  And... since I'm already parsing chunks individually in a loop in metadata_chunks() (so that I can continue onward if parsing one chunk has an error)... I might as well just remove the id and size from all of the chunk structs and directly parse each of them with take_seek in the loop. That will work without generics on the chunks, making them a bit easier to debug (can see the chunk type directly instead of the u32 (due to const generic limitations)) and remove a layer of embedded structs. I think I'm going to give this approach a try next.
Apologies for not using your solution directly (for now at least). Thank you so much for taking the time to write it up and share it, though! It inspired me to think more clearly about the data and I think the end result will be much cleaner that it would have been otherwise.

Apologies for not using your solution directly (for now at least).

No worries! As long as you found it thought provoking and useful, I'm good. My goal in these types of things is to model things to be unable to represent invalid/inconsistent states. (But this may not always be the correct approach to take, if you want to be capable of generating/reading malformed files! So there's a trade-off there that I may not have made clear.)

And... since I'm already parsing chunks individually in a loop in metadata_chunks() (so that I can continue onward if parsing one chunk has an error)... I might as well just remove the id and size from all of the chunk structs and directly parse each of them with take_seek in the loop.

If you're making parsing of chunks rely on that loop, doesn't that reverse your earlier desire to be able to read just a single chunk of a specific type? Perhaps you don't want to use the generic struct I provided in your main logic, but you could still use it for reading a single chunk of a specific type.

Ah, very good point. When parsing a single chunk, it will probably (and should) come with the chunk id and size. It's very easy to get over focused. I think I'm probably overdue to create examples which use the API a few different ways.

Thank you so much for the continued feedback and ideas @kitlith ! I created a branch & PR to iterate on these ideas. Please don't feel any obligation at all! But if you're so inclined, hopefully this makes it a bit easier.
So far, I've tried to consolidate a bunch of your suggestions into one macro based implementation. And got that working for the MD5 chunk. Some things probably got a bit lost along the way. But the current state is at least does have a single point of truth for specifying each chunk id.

Closing this issue for now in favor of consolidating future discussion in #30


Discovery on all namespaces leads to NullPointerException on service

For a bit of backstory: I'm trying out the new spring.cloud.kubernetes.discovery.all-namespaces=true to retrieve service instances on all namespaces within a single instance of Spring Boot Admin. This seems to work fine if, and only if, all matching services are deployed to all namespaces. If any service is missing on any namespace, I get the following stacktrace:
java.lang.NullPointerException: null
	at org.springframework.cloud.kubernetes.discovery.KubernetesDiscoveryClient.getInstances(KubernetesDiscoveryClient.java:122)
	at org.springframework.cloud.client.discovery.composite.CompositeDiscoveryClient.getInstances(CompositeDiscoveryClient.java:53)
	at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drainSync(FluxFlattenIterable.java:519)
	at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.drain(FluxFlattenIterable.java:633)
	at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.request(FluxFlattenIterable.java:267)
	at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:184)
	at reactor.core.publisher.FluxFlatMap$FlatMapMain.onSubscribe(FluxFlatMap.java:332)
	at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:81)
	at reactor.core.publisher.FluxFlattenIterable$FlattenIterableSubscriber.onSubscribe(FluxFlattenIterable.java:209)
	at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:81)
	at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:135)
	at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:63)
	at reactor.core.publisher.Mono.subscribe(Mono.java:3920)
	at reactor.core.publisher.Mono.subscribeWith(Mono.java:4030)
	at reactor.core.publisher.Mono.subscribe(Mono.java:3899)
	at reactor.core.publisher.Mono.subscribe(Mono.java:3835)
	at reactor.core.publisher.Mono.subscribe(Mono.java:3807)
	at de.codecentric.boot.admin.server.cloud.discovery.InstanceDiscoveryListener.discover(InstanceDiscoveryListener.java:124)
	at de.codecentric.boot.admin.server.cloud.discovery.InstanceDiscoveryListener.onApplicationReady(InstanceDiscoveryListener.java:91)

Tracing through the code this happens when service is null in this line: https://github.com/spring-cloud/spring-cloud-kubernetes/blob/702c7b2ee83291b71ede94a4862d364cfa6284b6/spring-cloud-kubernetes-discovery/src/main/java/org/springframework/cloud/kubernetes/discovery/KubernetesDiscoveryClient.java#L122
So while that service might be available on other namespaces, it's not on the particular namespace queried, leading to null & NPE. Can this be fixed somehow?
My application is pretty minimal; just the most recent snapshots of SBA & SCK8S with the following configuration:
spring.boot.admin.discovery.converter.management-context-path: /
spring.cloud.kubernetes.discovery.all-namespaces: true
spring.cloud.kubernetes.discovery.filter: metadata.name.startsWith('some-prefix')
spring.cloud.kubernetes.discovery.primaryPortName: management

did you try to set KUBERNETES_NAMESPACE=default (or whatever the default ns) as env variable, or set spring.cloud.kubenetes.client.namespace=default as a property?

Thanks for the suggestion; while that helps a bit for applications that are deployed to the configured default namespace, I still get the NPE for applications not deployed to the default namespace, but only to another namespace.

you can set KUBERNETES_NAMESPACE or spring.cloud.kubenetes.client.namespace whatever that other namespace.

yes, this is the same issue I encountered with #465.

@michaelmcfadyen thanks for confirming and exploring I'm more depth in your ticket.. guess that makes this a duplicate that we can close while we wait for the other ticket to be resolved.


Change my bio

📝 Changed routes:

/blog/[slug]
/projects/[slug]

(view full size)
(view full size)

And 1 other route:

/api/og

Commit 401136aad5844d6bd34d9cedc3bd6972aa164e0c (https://kalwabed-m42b4zpfn-kalwabed.vercel.app).


AttributePart.setValue() should also update properties in some case

Minimal reproduction
Could you hava a look at this example on jsbin? The <input> field doesn't update after editing.
http://jsbin.com/jicuhel/edit?html,output
Background
According to MDN, value attribute of <input> represents the initial value. It's not the current one. So, even if lit-html changes this attribute, it has no effect after any editing.

value: The initial value of the control.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-value

Unfortunately, there's no attribute for the current value, so changing the property seems the only reasonable way for me.
Possible solution
We can change this behavior at this line:
// inside AttributePart.setValue()
this.element.setAttribute(this.name, value);
if (this.name === 'value') this.element.value = value; // add this line

I know that lit-html is designed to handle only attributes, and  lib/lit-extended solves this issue. But this issue could make lit-html a little bit inpractical, I think. cf. #71
If there're positive feedbacks, I'd like to send PR about it. Thanks!

I think this falls squarely in the realm on lit-extended. There's no standard syntax for setting properties, so lit-core shouldn't take an opinion there. Closing as "use lit-extended".

@justinfagnani thank you for your response!

There's no standard syntax for setting properties

Exactly that's the point. Pls let me ask one more question: what is the use case of lit-html? Still unclear for me.


Login button in top corner, and link in info not working.

Running on Lubuntu 18.04. The login button to sync settings, as well as the link in the info panel isn't working. However, clicking the link for "Open an issue on GitHub!" works and open up my default browser, Chrome.

May be related to #2603

Duplicate of #2603


Nif import - Python command syntax error

Plugin version: v0.11
Blender version: 3.6.4
Operating System: Windows 10 Pro 22H2
Example script:
import bpy
import os
bpy.ops.import.custom_nif(filepath="D:/StarfieldExtract/meshes/weapons/tombstone/tombstone.nif")
Resulting error:
Error: Python:   File "\Text", line 3
    bpy.ops.import.custom_nif(filepath="D:/StarfieldExtract/meshes/weapons/tombstone/tombstone.nif")
            ^^^^^^
SyntaxError: invalid syntax
According to Blender and from what I can see in the init.py, the python command is bpy.ops.import.custom_nif()
This same script works with the Blender FBX importer and I have used methods like this in batch operations with other plugins.
So this is presumably a issue with the plugin.
import bpy
import os
bpy.ops.import_scene.fbx(filepath="D:/New folder (3)/wep_sniperrifle__vss_vintorez/art/skins/wskin0165/ob_wep_sniperrifle__vss_vintorez_01_base_01_cosmetics_1p_wskin0165_mesh.fbx")

Can confirm the issue. Apparently bpy now uses import_scene instead of import or export to hold the operators. I'll fix that in the next few commits.

It should be fixed in the latest commit. Download the latest hotfix to access this feature.

I have the same problem with 0.11-pre-release-h2.
Error: Python:   File "\Text", line 3
    bpy.ops.import.custom_nif(filepath="D:/StarfieldExtract/meshes/weapons/tombstone/tombstone.nif")
^^^^^^
SyntaxError: invalid syntax

So now you should call bpy.ops.import_scene.custom_nif(). Sorry that I didn't tell you.

That works, but the asset folder needs to be specified in the command.
bpy.ops.import_scene.custom_nif(filepath="D:/StarfieldExtract/meshes/weapons/ak47/ak_47.nif", assets_folder="D:/StarfieldExtract")
You may want to include script usage in the readme, as I incorrectly assumed that it would use the existing asset folder variable.


How to get the start time of each service and the startup status from the consul?

I want to get the service running status and startup time and running time from springcloud-consul. I can get it when I use springcloud-eureka. how should I do it?

Please don't cross post.
Closing in favor of https://stackoverflow.com/q/57601425/2730527


Record events for AppRTC and other demos

https://github.com/GoogleChrome/webrtc/issues/265
samdutton commented on Dec 4, 2014
For example, to record numbers for those who, having navigated to apprtc.appspot.com:
• call gUM
• request a connection
• get a connection
• get errors
...
Could also add events for icon/button clicks on AppRTC and other demos.
Justin Ubertijuberti added the apprtc label on Dec 4, 2014
Philipp Hancke
fippo commented on Dec 5, 2014
FWIW, here is the list of events we use for talky with a short description.
videoConnected (calls) in remotestreamadded; type (video/screen)
videoDisconnected in remotestreamremoved I think. Called only about 50% of the time since browser is closed
iceConnected (calls, really connected) candidatePair, whether ipv6 is used, whether a local/remote IPv6 candidate is available, setup time (measured from checking->connected)
iceFailed cause (called with a 30s timeout sometimes), local/remote turn/ipv6 candidate availability
localMedia (GUM success)
localMediaError (GUM failure) name (error code)
shareScreen
mute / unmute with media type (audio/video)
Philipp Hanckefippo referenced this issue on Dec 6, 2014
Open
figure out the local type preference of the active candidate #281
Sam Dutton
Owner
samdutton commented on Dec 8, 2014
Thanks Philipp – that's really useful.
…
Varun Singh
vr000m commented 25 days ago
In addition to those listed above we have:
iceDisconnected: if the interface disappears. If iceConnected again on the same or a different candidate pair, then we can pair disconnections and connections to calculate connectivity disruptions.

@juberti do we still want to do this?

Closing due to age.


How to set spline/accuracy parameters - failing

If I try to change the CCL accuracy parameters according to this recipe:
https://ccl.readthedocs.io/en/v2.0.0/source/notation_and_other_cosmological_conventions.html?highlight=parameters#cosmological-parameters
I get a warning that this will be deprecated in the next version:
 CCLDeprecationWarning: Direct assignment of gsl_params is deprecated and an error will be raised in the next CCL release. Set via pyccl.gsl_params.K_MAX_SPLINE before instantiation.
So I tried the way that is suggested in the warning. But this fails with the following error:
KeyError: Parameter K_MAX_SPLINE does not exist.
So we need to: (1) fix this before the next version and (2) make sure to update the docs.

Can you check if this should instead be ccl.spline_params.K_MAX_SPLINE? If so, I can fix the error message quickly.

The spline parameters now live in pyccl.spline_params. When I try it the old way, it correctly points me to the new way of changing the parameters:
>>> cosmo = ccl.CosmologyVanillaLCDM()
>>> cosmo.cosmo.spline_params.K_MAX_SPLINE = 100
CCLDeprecationWarning: Direct assignment of spline_params is deprecated and an error will be raised in the next CCL release. Set via `pyccl.spline_params.K_MAX_SPLINE` before instantiation.
>>> ccl.spline_params.K_MAX_SPLINE = 30

The docs do need updating however. This is similar to #1007 .
But unless I misunderstood the issue, I don't think this is a bug.

The error message is wrong, right?

Why is it wrong?

Elisa's warning message read Set via pyccl.gsl_params.K_MAX_SPLINE before instantiation. Is that an old version?

I think so, I have the latest version and it shows ok. Can you try with yours?

I can't reproduce this - is this still an issue? If not we can close it.

Closing this in prep for v3 as couldn't repro, but feel free to reopen if still an issue.


Uptake APKAM feature [atWavi]

Is your feature request related to a problem? Please describe.
APKAM feature enables to authenticate an atSign specific to a mobile app. The .atKeys file generated is specific to the app and also enables access (read/write) based on the apps namespace.
For more details refer: https://github.com/atsign-foundation/at_protocol/blob/trunk/decisions/2023-01-pkam-per-app-and-device.md
Describe the solution you'd like
A sample demo enrollment app is available in https://github.com/atsign-foundation/at_widgets/tree/at_enrollment_app

moving to next sprint


brew version broken?

First thing I see when launching the version installed by homebrew today is:
TypeError: Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body.
    at TypeError (native)
    at Object.graphQLFetcher [as fetcher] (file:///opt/homebrew-cask/Caskroom/graphiql/0.3.1/GraphiQL.app/Contents/Resources/app/dist/bundle.js:18:1115)
    at t._fetchQuery (file:///opt/homebrew-cask/Caskroom/graphiql/0.3.1/GraphiQL.app/Contents/Resources/app/dist/bundle.js:20:17540)
    at t.componentDidMount (file:///opt/homebrew-cask/Caskroom/graphiql/0.3.1/GraphiQL.app/Contents/Resources/app/dist/bundle.js:20:14765)
    at r.o.notifyAll (file:///opt/homebrew-cask/Caskroom/graphiql/0.3.1/GraphiQL.app/Contents/Resources/app/dist/bundle.js:1:21680)
    at r.d.close (file:///opt/homebrew-cask/Caskroom/graphiql/0.3.1/GraphiQL.app/Contents/Resources/app/dist/bundle.js:17:15585)
    at r.i.closeAll (file:///opt/homebrew-cask/Caskroom/graphiql/0.3.1/GraphiQL.app/Contents/Resources/app/dist/bundle.js:1:27910)
    at r.i.perform (file:///opt/homebrew-cask/Caskroom/graphiql/0.3.1/GraphiQL.app/Contents/Resources/app/dist/bundle.js:1:27366)
    at v (file:///opt/homebrew-cask/Caskroom/graphiql/0.3.1/GraphiQL.app/Contents/Resources/app/dist/bundle.js:2:16420)
    at r.i.perform (file:///opt/homebrew-cask/Caskroom/graphiql/0.3.1/GraphiQL.app/Contents/Resources/app/dist/bundle.js:1:27283)

Ah I think this refers to an invalid endpoint.


[PE-D][Tester E] Typo in UG

The following are spotted:

Under "Find Videos in a Lecture By Tag",
mysterious backslash ending the line

Under "Mark or Unmark Video",

Labels: type.DocumentationBug severity.VeryLow
original: lhy-hoyin/ped#8

Noted. These will be handled when cleaning up the user guide.


Dashboards - Lighthouse not working

Today I  made update to LH 1.4 && latest eth-docker v1.3.3.
Noticed that grafana LH dashboards are not working for me.
I'm using following env config:
COMPOSE_FILE=lh-base.yml:lh-grafana.yml:grafana-insecure.yml:lh-stats.yml
===
I tried to troubleshoot a bit, but not an expert.
Found out that prometheus config file is refering to "beacon"
$ docker exec -it bc335197963b /bin/sh
/prometheus $ vi /etc/prometheus/prometheus.yml
...
scrape_configs:

job_name: 'nodes'
static_configs:

targets: ['beacon:5054']
....

beacon is not reachable from container.
I think this needs to be changed to new naming consensus

Thank you for the PR to fix this!


Enable WhiteSource Integration on Hadouken related projects

Description
Integrate WhiteSource vulnerability scanning on Hadouken following the announcement of WhiteSource being available for all FINOS projects.
Tasks and Activities

[ ] Schedule integration of WhiteSouce with @chuckdoerr and Hadouken PMC.

[ ] Integrate and test WhiteSouce integration with the following Hadouken projects ...

[ ] https://github.com/HadoukenIO/core
[ ] https://github.com/HadoukenIO/js-adapter
[ ] https://github.com/HadoukenIO/symphony-of
[ ] https://github.com/HadoukenIO/app-template
[ ] https://github.com/HadoukenIO/notifications-service
[ ] https://github.com/HadoukenIO/layouts-service
[ ] https://github.com/HadoukenIO/service-utils
[ ] https://github.com/HadoukenIO/zero-downtime-trading-web-ux
[ ] https://github.com/HadoukenIO/fdc3-service
[ ] https://github.com/HadoukenIO/layouts-tabstrip
[ ] https://github.com/HadoukenIO/fdc3-sender
[ ] https://github.com/HadoukenIO/service-tooling
[ ] https://github.com/HadoukenIO/python-adapter
[ ] https://github.com/HadoukenIO/dotnet-fdc3-client
[ ] https://github.com/HadoukenIO/service-config

We won't enable WhiteSource on Hadouken for now, closing issue.