Plate Heat Exchanger

1. friction_plate_Martin_1999(Re, plate_enlargement_factor)
The second parameter of this function should be named chevron_angle (in radians) and not plate_enlargement_factor.
In Martin's equations an uppercase phi, $\Phi$, denotes the plate enlargement factor whereas a lowercase phi, $\phi$, denotes the chevron angle. The equations in the source code are correct, it's just the name of the parameter which is wrong or misleading.
Note, that chevron_angle must be given in radians here, whereas in friction_plate_Kumar() it is given in degree.
2. friction_plate_Martin_VDI(Re, plate_enlargement_factor)

Same as for friction_plate_Martin_VDI(). Second parameter should be named chevron_angle.

The equations for friction_plate_Martin_1999() and friction_plate_Martin_VDI() are almost the same. friction_plate_Martin_1999() calculates the Fanning friction factor and multiplies the result by 4 to return the Darcy friction factor, whereas  friction_plate_Martin_VDI() calculates the Darcy friction factor directly. But there's one small discrepancy:
In Martin 1999 the term 0.045⋅tanφ (in Fanning notation) would be 0.18⋅tanφ in Darcy notation, but in friction_plate_Martin_VDI() it is 0.28⋅tanφ. Is this a typo? According to the Heat Atlas, 2010, 2nd edition, the term 0.18⋅tanφ is correct. (But then friction_plate_Martin_1999() and friction_plate_Martin_VDI() calculate exactly the same.)

3. friction_plate_Kumar(Re, chevron_angle)
I believe chevron_angle in Kumar's equation is an angle with respect to the horizontal axis and not the vertical axis, as stated in the documentation. This is in contrast to Martin's equations where chevron_angle is an angle with respect to the vertical axis.

Hello @AndreasMatthias,
Thank you for reporting. I have encountered the same problem as you.
I have made a PR #57 that might fix some of the concerns you mentioned.

I am not an expert of Plate Heat Exchanger.
For your point 2.2 in your issue: I have checked indeed that if you replace 0.28⋅tanφ with 0.18⋅tanφ in friction_plate_Martin_VDI() then friction_plate_Martin_VDI() and friction_plate_Martin_1999() return very close values.
So why would we keep both functions ?

In Heat Atlas 0.18⋅tanφ is used.
I haven't found any reference that uses 0.28⋅tanφ. That's why I suppose it could be a copy&paste error. If it is an error than the equations used in friction_plate_Martin_1999() and friction_plate_Martin_VDI()  are mathematically equal, disregarding numerical differences.

I'll keep friction_plate_Martin_1999() for my code. Thank you very much.

Hello,
Thank you both for looking into it. I agree the equations are suspiciously close. The same author seems to have developed both, one in 1996 and the other in 1999. Maybe they are the same and there is a typo in the VDI heat atlas. I think I might be OK removing friction_plate_Martin_VDI if we knew for sure it had a typo in it (or redirecting calls in it to friction_plate_Martin_1999), but I don't think this is enough evidence. It is natural for authors to improve their models.
Caleb

It's really confusing. But as far as I can see, the equations are the same in VDI Heat Atlas and Martin's paper from 1996. And neither friction_plate_Martin_VDI() nor friction_plate_Martin_1999() seem to implement these equations.
I really don't want to nitpick about this. I was just interested and so stepped through the equations once again. Just for the records, here is a summary starting with the equations from VDI Heat Atlas and listing the differences in the python code:
VDI Heat Atlas, Second Edition, 2010
(VDI Heat Atlas, Second Edition, 2010, Part N6, Section §3.2.1)
Darcy coefficient $\xi$:
VDI Heat Atlas defines the Darcy friction coefficient, $\xi$, like this:
$$
\frac{1}{\sqrt{\xi}}
= \frac{\cos\varphi}{\sqrt{b\tan\varphi + c\sin\varphi + \frac{\xi_0}{\cos\varphi}}} +
\frac{1 - \cos\varphi}{\sqrt{a\cdot\xi_1}}
$$
$$
\frac{1}{\sqrt{\xi}}
= \frac{\cos\varphi}{\sqrt{0.18\tan\varphi + 0.36\sin\varphi + \frac{\xi_0}{\cos\varphi}}} +
\frac{1 - \cos\varphi}{\sqrt{3.8\cdot\xi_1}}
$$
$$
\xi_0 = \frac{64}{Re} \text{,\qquad} Re < 2000
$$
$$
\xi_0 = \frac{1}{(1.8\log Re - 1.5)^2} \text{,\qquad} Re ≥ 2000
$$
$$
\xi_{1} = \frac{597}{Re} + 3.85  \text{,\qquad} Re < 2000
$$
$$
\xi_{1} = \frac{39}{Re^{0.289}}  \text{,\qquad} Re ≥ 2000
$$
Fanning coefficient, $f_f$:
Converting the above equations in terms of the Fanning friction coefficient, $f_f$, yields:
$$
f_f = \frac{\xi}{4}
$$
$$
\frac{1}{\sqrt{f_f}}
= \frac{\cos\varphi}{\sqrt{\frac{b}{4}\tan\varphi + \frac{c}{4}\sin\varphi + \frac{\xi_0}{4}\frac{1}{\cos\varphi}}} +
\frac{1 - \cos\varphi}{\sqrt{a\cdot\frac{\xi_1}{4}}}
$$
$$
\frac{1}{\sqrt{f_f}}
=\frac{\cos\varphi}{\sqrt{0.045\tan\varphi + 0.09\sin\varphi + \frac{\xi_0}{4}\frac{1}{\cos\varphi}}} +
\frac{1 - \cos\varphi}{\sqrt{3.8\cdot\frac{\xi_1}{4}}}
$$
$$
\frac{\xi_0}{4} = \frac{16}{Re} \text{,\qquad} Re < 2000
$$
$$
\frac{\xi_0}{4} = \frac{1}{(3.6\log Re - 3.0)^2} \text{,\qquad} Re ≥ 2000
$$
$$
\frac{\xi_1}{4} = \frac{149.25}{Re} + 0.9625 \text{,\qquad} Re < 2000
$$
$$
\frac{\xi_1}{4} = \frac{9.75}{Re^{0.289}} \text{,\qquad} Re ≥ 2000
$$
friction_plate_Martin_VDI()
Definition in fluids/friction.py:
def friction_plate_Martin_VDI(Re, plate_enlargement_factor):
   if Re < 2000.:
        f0 = 64./Re
        f1 = 597./Re + 3.85
    else:
        f0 = (1.8*log10(Re) - 1.5)**-2
        f1 = 39.*Re**-0.289

    a, b, c = 3.8, 0.28, 0.36

    rhs = cos(phi)*1.0/sqrt(b*tan(phi) + c*sin(phi) + f0/cos(phi))
    rhs += (1. - cos(phi))*1.0/sqrt(a*f1)
    return rhs**-2.0

Differences relating to VDI Heat Atlas

VDI Heat Atlas
friction_plate_Martin_VDI()

b = 0.18
b = 0.28

friction_plate_Martin_1999()
Definition in fluids/friction.py:
def friction_plate_Martin_1999(Re, plate_enlargement_factor):
   if Re < 2000.:
        f0 = 16./Re
        f1 = 149./Re + 0.9625
    else:
        f0 = (1.56*log(Re) - 3.0)**-2
        f1 = 9.75*Re**-0.289

    rhs = cos(phi)*1.0/sqrt(0.045*tan(phi) + 0.09*sin(phi) + f0/cos(phi))
    rhs += (1. - cos(phi))*1.0/sqrt(3.8*f1)
    ff = rhs**-2.
    return ff*4.0

Differences relating to VDI Heat Atlas

VDI Heat Atlas
friction_plate_Martin_1999()

$\frac{\xi_0}{4} = (3.6\log Re$ ...
f0 = (1.56 * log(Re) ...

$\frac{\xi_1}{4} = 149.25 / Re$  ...
f1 = 149 / Re ...

Note
The same equation (and coefficients) as in VDI Heat Atlas are used in Martin's paper from 1996:
A theoretical approach to predict the performance of chevron-type plate heat exchangers, Holger Martin, Chemical Engineering and Processing 35 (1996)

I gave this issue another review.
The 0.28 coefficient must have been a typo, I have corrected it to 0.18 in friction_plate_Martin_VDI. Thank you Andreas for the discovery.
friction_plate_Martin_1999 is intended to implement the 1999 publication cited of the equation for friction factor. I have double checked that equations A, B, and C in the appendix of https://publikationen.bibliothek.kit.edu/1000034866/2579146 which is the 1999 Martin method, are those currently implemented.
Pierre, Andreas: Thank you very much for the corrections. The changes will be in the next fluids release. I am resolving the issue.
Caleb


Schlerp patch fix sqlite string sub

I was getting grief from this method complaining about improper string substitution... I realised its basically a hack to string sub the params into the SQL that would normally happen outside of python (in cursor.c mentioned in the very helpful comment). Long story short the hack doesn't work any more and I cannot understand how it ever did?!?
This is a simplified version showing the issue/fix:
# issue:
    print('?, ?' % "derp", "herp")
# proposed fix:
    print('?, ?'.replace("?", "{}").format("derp", "herp"))

propose changing the substitution to use proper str.format() like this:
    def last_executed_query(self, cursor, sql, params):
        # Python substitutes parameters in Modules/_sqlite/cursor.c with:
        # pysqlite_statement_bind_parameters(self->statement, parameters, allow_8bit_chars);
        # Unfortunately there is no way to reach self->statement from Python,
        # so we quote and substitute parameters manually.
        if params:
            if isinstance(params, (list, tuple)):
                params = self._quote_params_for_last_executed_query(params)
            else:
                keys = params.keys()
                values = tuple(params.values())
                values = self._quote_params_for_last_executed_query(values)
                params = dict(zip(keys, values))
            # this is the error commented out below and replaced with fix - schlerp
            #return sql % params
            return sql.replace("?", "{}").format(*params)
        # For consistency with SQLiteCursorWrapper.execute(), just return sql
        # when there are no parameters. See #13648 and #17158.
        else:
            return sql

Please report a ticket on https://code.djangoproject.com and provide a patch against the master branch if you're up for it. Thank you.

I cannot understand how it ever did?

SQLiteCursorWrapper.convert_query should help.


Troubleshooting guide for GKE has a typo in IAP

In the Troubleshooting GKE page section called Changing the OAuth client used by IAP
kubectl -n kubeflow create secret generic kubeflow-oauth \
       --from-literal=CLIENT_ID=${CLIENT_ID} \
       --from-literal=CLIENT_SECRET=${CLIENT_SECRET}

should be
kubectl -n kubeflow create secret generic kubeflow-oauth \
       --from-literal=client_id=${CLIENT_ID} \
       --from-literal=client_secret=${CLIENT_SECRET}

Describing the ingress shows this error
  Warning  Translate  5m6s (x16 over 7m53s)  loadbalancer-controller  error while evaluating the ingress spec: BackendConfig istio
-system/iap-backendconfig is not valid: secret kubeflow-oauth missing client_id data

It would also be useful to have a note to restart the cloud-endpoints-controller pod to force the controller to check new credentials.
Finally, a very frustrating issue is giving users IAP access using service accounts. They need to have the IAP-secured Web App User assigned via IAM

This is the page: https://www.kubeflow.org/docs/gke/troubleshooting-gke/#changing-the-oauth-client-used-by-iap


README must clearly reflect actual limitations comparing to Restic to avoid misunderstanding

Hi!
I looked at can therefore be used as a complete replacement for restic. and decided to give Rustic a try.
And immediately got Error: backend s3 is not supported! 😢
Let's face it - the above description is deliberately misleading, deliberately hides important details, and will only make users disappointed and unhappy, not attract them to this project as one might expect. ¯\_(ツ)_/¯
Anyway Rustic looks very promising, I wish you all the best, hope someday we will meet again 🤗

@zoulja Thanks for submitting this issue.
S3 is actually supported using the rclone backend. For native support, see #546.
I'm sorry if you got the feeling that the description is misleading - this is for sure note deliberately, maybe by accident or mistake. Feel free to open a PR to suggest a better README - Thanks in advance!

Hi @aawsome, thanks for checking this!
Frankly speaking now I'm confused even more, since README doesn't contain any mention of backend
Also I couldn't find any link to extended documentation, which could explain that ☹

@zoulja: To use S3 via the rclone backend, you have to setup rclone to be able to access your S3 storage, see https://rclone.org/s3/
Then, you can use rustic with --repository rclone:<RCLONE_CONFIG_NAME>:path/to/repo. This can also be set in the config file or using the env variable RUSTIC_REPOSITORY.
I know that documentation is an issue, see #302.


entries containing data

Since quite some time I use evernote to write down text and snippets. basically for what I now use jrnl for. But what I mainly used it for is organization of pictures, pdf, etc. some documents that I needed to tag and organize, maybe annotate. basic simple things which still cannot be done by the normal file system. I would like to use jrnl also for this. Here my ideas of how to achieve this..

When you want to include a file, just paste its URL (local or on the web) in the entry you currently write. When finished writing and before the entry is added, jrnl will search the entered text for valid urls.
jrnl will then ask you whether you want to included the referenced file in your jrnl, when answered with yes, copies of the files will be created (downloaded from the web or just locally copied) in a data folder next to the jrnl textfile (also in the dropbox)
the urls could be kept in the text or written in the end of the jrnl entry.
content could be nicely rendered in markdown export

@dedan Can you share the draft you published?
What is the plan for behavior here?  Still the original post?

jrnl will then ask you whether you want to included the referenced file in your jrnl, when answered with yes, copies of the files will be created (downloaded from the web or just locally copied) in a data folder next to the jrnl textfile (also in the dropbox) the urls could be kept in the text or written in the end of the jrnl entry.

Hey @flight16,
I can't find this draft anymore and it was really only very preliminary
work. Not something that could not be re-written in an hour. I'm also not
convinced of this feature anymore, at least not for the jrnl core. Could
make sense as a plugin though
On Mon, Apr 13, 2015 at 4:23 PM flight16<EMAIL_ADDRESS>wrote:

@dedan https://github.com/dedan Can you share the draft you published?
What is the plan for behavior here? Still the original post?
jrnl will then ask you whether you want to included the referenced file in
your jrnl, when answered with yes, copies of the files will be created
(downloaded from the web or just locally copied) in a data folder next to
the jrnl textfile (also in the dropbox) the urls could be kept in the text
or written in the end of the jrnl entry.
—
Reply to this email directly or view it on GitHub
https://github.com/maebert/jrnl/issues/37#issuecomment-92532036.


Removed stop words 'loading' text for cleaner output

Commented out the 'loading' line - when running normalizer row-wise on a pandas data frame it was very noisy with all of the recurring 'loading' output

I'm closing this pull request as commenting a line is not the right thing to fix this. But you are totally right. This needed a fix, so I added a logger and set the default level to INFO so now you should see no messages.

Sounds great, thanks!


Unignore tests

Build all exercises in the Travis build.
Note that the build failed in Zipper using the with sexp syntax - so I moved to the newer [@@deriving sexp] and updated the hints markdown.

That is great.


Typo in CLI command in README when listing peers

Minor thing, but when running through the doc I get an error error parsing secret: encoding/hex: invalid byte: U+002D '-' and it wasn't obvious.
Under List all IPFS peers you have:
export SECRET=221813dc706c2d1baaf0a15a8710e3c5e2072783c49d214243540044f21a7315
and it should be
export CLUSTER_SECRET=221813dc706c2d1baaf0a15a8710e3c5e2072783c49d214243540044f21a7315

Thanks for reporting the typo and it has been fixed.


Avoided suggestion of plain-text database password in docs

The example code as written suggests that we are storing password directly in the database, instead of hashed etc. Although this is example code for sessions documentation, not auth, and is labelled as "simplistic", people have a habit of copying any code they see. We can avoid the suggestion by using a made up check_password(password) method instead of member.password == password.

I think changing this may make sense, but in isolation it doesn't work because the "simplistic" example doesn't expound on what the "member" object shape is. For the proposed change to work it'd need to be subclassing AbstractBaseUser I think? If we can re-word the preceding sentence to actively describe what the "member" object is (e.g. describing it as a custom user model, or simply pointing out that it supposedly inherits from AbstractBaseUser) then it's a more cohesive thing to copy.
What do you think?

I think changing this may make sense, but in isolation it maybe doesn't work because the "simplistic" example doesn't expound on what the "member" object shape is. For the proposed change to work it'd need to be subclassing AbstractBaseUser I think? If we can re-word the preceding sentence to actively describe what the "member" object is (e.g. describing it as a custom user model, or simply pointing out that it supposedly inherits from AbstractBaseUser) then it's a more cohesive thing to copy.
What do you think?

I wasn't thinking specifically of AbstractBaseUser (although it helps that if someone searches for check_password they will get to an implementation that doesn't include storing the password). The code here invents both Member and its password attribute (a field or other property) without defining either at all, because it's not relevant to the example. In that case, we're free to invent anything, and inventing a model that has a check_password() method is less problematic than one that has a password attribute.

I agree with Luke here, I don't feel like inventing a check_password method complexifies the example given little context is given around the same of member.
FWIW the previous example that relied on = was also wrong with regards to not using a constant time string comparison function.

@spookylukey Thanks :+1:
I agree with Luke and Simon, this is an example in topics not an instruction in how-to, so we don't need to describe the Member class in detail.


When will the model and code be released?

I wonder when will the model and code be released?

Hello!
Thanks for your interest in our project!
We hope to release our models in September!
I'll re-open this issue when we do!

We just updated Canary! Thanks!


Create a draft Secret Management Policy

This is the first draft for Secret Management
This document describes a proposed policy about secret management.
Please flag any part that it is not clear or if you get a better wording please provide it on your comment.
Notes:
To review this PR you might want to click on the preview button so you can see the file as how it will be displayed
image

Overall this looks great @jcalcines , well done - readable, easy to understand and guidance like a policy should be.  @AndyLewis1971 @BrianGibbVS if you can sign off this week we can get this published.
Thanks


Add argument for highly variable genes to integration function

In working on adding the steps for integration to the workflow in scpca-nf, I noticed that we don't explicitly have an option to indicate using highly variable genes for integration with fastMNN. Considering that we pretty much exclusively are running fastMNN with only highly variable genes, I think it makes sense to add that in. We do pass additional arguments through using ..., but the problem is here we are using one function for integration that will either perform fastMNN or harmony, so any options that are being passed to the function that are not compatible with one of the methods will cause an error.
This is mostly problematic when writing the script to perform both types of integration in scpca-nf, because we only want to provide the highly variable genes with fastMNN and not for harmony. One way around this would be to call the function differently depending on the integration method being used as input, but that seemed like overkill for one argument that is different. We also have already accounted for dealing with harmony covariates and ignoring them for fastMNN, so I decided to take the same approach with the highly variable genes. I set them to be NULL by default, but if they are used they will only be passed through to fastMNN, otherwise they are ignored and a warning is printed.
Another thought I had when working on this was getting rid of the wrapper function entirely... so that all of the things that happen in the wrapper function to distinguish harmony vs. fastMNN would happen in scpca-nf instead, but given we are also planning to use integration in other places (like downstream analyses), I talked myself out of that.

Another thought I had when working on this was getting rid of the wrapper function entirely... so that all of the things that happen in the wrapper function to distinguish harmony vs. fastMNN would happen in scpca-nf instead, but given we are also planning to use integration in other places (like downstream analyses), I talked myself out of that.

I think the value of the wrapper function is that you always get an SCE out, so keeping it seems reasonable to me.

I had a thought that there might be other reasons to call the function differently in the script... if we want to add parallel processing, which I think we do, then we have to do that specifically for fastMNN, but I don't think harmony supports it.

I also was thinking about this and I think if we want to do that then we probably want to break up how we call it in scpca-nf.


Move the shared Via 3 logic into a separate component

Currently we have a lot of logic shared between Via, Via 3, Via HTML and LMS. This stuff should be moved into a shared component.
This mostly comes in two flavours:

Re-usable logic for adding, removing and interpreting options on a URL (both for Via and the client)
The general process of routing

Both LMS and Via 3 have very similar routing logic for deciding what to do with a document. Broadly:

If we don't know what type it is determine this (either by going to Via 3 routing, or by looking up the doc)
If the type is HTML:

Route to Via 1
Or if the flag is present, Via HTML

If it's a PDF route to Via 3 PDF handling

For Via HTML, we technically only need to (1), but doing (2) might make it more convenient to change that logic. On the other hand, that can probably wait

TODO

[x] Create a separate library with the configuration code - https://github.com/hypothesis/h-vialib/pull/1
[x] Integrate the code with Via 3 - https://github.com/hypothesis/via3/pull/255
~[ ] Integrate the code with LMS~ - This isn't required now we've scoped this down a bit
~[ ] Integrate the code with Via (optional?)~ We're letting Via rot for now

This is deployed out now


is this a screensaver? where is the file after building? lol

hi,
so apparently i've built the screensaver (this is a screensaver, right)?
i ran a cargo build in both the flux-desktop, flux and web directories (separately) and i see nuffin.
i also did the recommended pnpm build etc in the web dir, still nothing.
i was hoping to have something i could use as a screensaver for mac.

my bad i found it, it's an executable in the target/debug directly
but isn't there a way to package this into a nice .saver form so that we can use it on mac?

so apparently i've built the screensaver (this is a screensaver, right)?

This is the source code for the library and the web version. The primary goal is to facilitate learning and showcase what you can build with rust.

but isn't there a way to package this into a nice .saver form so that we can use it on mac?

I've decided to make the native screensavers private because nobody is interested in helping maintain them. What everyone wants is a pre-built binary and dedicated support when something doesn't work. This is not sustainable for me.
I sell the Windows version to offset the development, hardware, and support costs. I may offer a macOS version once the feature set exceeds what is already available in Drift.

i run 10.14 though, which is why i am asking for a mac version.
is it even possible to create a macos screensaver with a binary? it doesn’t seem straightforward but i could be wrong.
Thanks,
Gagan

On Jun 10, 2024, at 7:01 AM, sander @.***> wrote:
so apparently i've built the screensaver (this is a screensaver, right)?
This is the source code for the library and the web version. The primary goal is to facilitate learning and showcase what you can build with rust.
but isn't there a way to package this into a nice .saver form so that we can use it on mac?
I've decided to make the native screensavers private because nobody is interested in helping maintain them. What everyone wants is a pre-built binary and dedicated support when something doesn't work. This is not sustainable for me.
I sell the Windows version to offset the development, hardware, and support costs. I may offer a macOS version once the feature set exceeds what is already available in Drift.
—
Reply to this email directly, view it on GitHub https://github.com/sandydoo/flux/issues/25#issuecomment-2158289878, or unsubscribe https://github.com/notifications/unsubscribe-auth/AITLEG3P22OF7PKEXKATNT3ZGWPT5AVCNFSM6AAAAABJAQTX22VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNJYGI4DSOBXHA.
You are receiving this because you authored the thread.

You would need to write an FFI library, compile it, link it in Xcode, initialise the appropriate graphics library, and then wire up ScreensaverView.

                                                                                yeah I thought it wasn't trivial.  a little too much work for me lol. Thanks for your efforts. Do let me know if you create a mac version, but I doubt it's worth it since you'd be catering to pre 10.15 machines. Looking forward to coming back with each day. Only thing I don't like is the line endings discrepancy. Here's to hoping microsoft actually leverages its posix compliance and gives us a true posix compliance shell, instead of wsl. That'd be so dope                                                                                Sent from my BlackBerry 10 smartphone on the Rogers network.                                                                                From: sanderSent: Monday, 10 June 2024 8:49 AMTo: sandydoo/fluxReply To: sandydoo/fluxCc: gagan sidhu; AuthorSubject: Re: [sandydoo/flux] is this a screensaver? where is the file after building? lol (Issue #25)

You would need to write an FFI library, compile it, link it in Xcode, initialise the appropriate graphics library, and then wire up ScreensaverView.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.>
[
{
@.": "http://schema.org",
@.": "EmailMessage",
"potentialAction": {
@.": "ViewAction",
"target": "https://github.com/sandydoo/flux/issues/25#issuecomment-2158573093",
"url": "https://github.com/sandydoo/flux/issues/25#issuecomment-2158573093",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
@.***": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]


[pulsar-client-tools] Ability to send a message with null body

Motivation
Now it's not possible use pulsar-client produce send a message with null body, but it's needed in some scenes, e.g. delete topic policy manually or test topic compaction.
Modifications
Add an explicit option --null to pulsar-client produce subcommand.
Verifying this change

[x] Make sure that the change passes the CI checks.

This change added tests and can be verified as follows:

Added unit test PulsarClientToolTest#testNullBody

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API: (no)
The schema: (no)
The default values of configurations: (no)
The wire protocol: (no)
The rest endpoints: (no)
The admin cli options: (no)
Anything that affects deployment: (no)

Documentation

[x] doc-required
(Your PR needs to update docs and you will update later)

/pulsarbot rerun-failure-checks

but it's needed in some scenes

Can you descript on that

Hi @Shawyeok, will you update the docs in a follow-up PR?

Hi @Shawyeok, will you update the docs in a follow-up PR?

I'm not sure this doc reference-cli-tools is auto generated or not.

LGTM. Please make sure CmdConsume can handle null values.

Confirmed.

Hi @Shawyeok, will you update the docs in a follow-up PR?

@momo-jun I'm not sure this doc reference-cli-tools is auto generated or not.

Currently, this page is for frequently used commands and is manually maintained at site2/docs/reference-cli-tools.md.
As shown below, the comprehensive list is auto-generated at https://pulsar.apache.org/tools/.

Hi @Shawyeok, will you update the docs in a follow-up PR?

@momo-jun I'm not sure this doc reference-cli-tools is auto generated or not.

Currently, this page is for frequently used commands and is manually maintained at site2/docs/reference-cli-tools.md. As shown below, the comprehensive list is auto-generated at https://pulsar.apache.org/tools/.

Thanks for your detailed answer, now I've committed the doc update.

Closed as stale and conflict. Feel free to rebase and resubmit the patch.


Script to update README in place

I've modified the generate_readme_table.py script to update the file in place. I've also added code to update the summary line at the very top of the readme. For now I have named it update_readme.py and haven't removed the old script in the PR. Happy to make any changes or not progress any further with this... let me know! :smile:

LGTM - please replace the original script with this.

Done!


FIX: Check for key for mpu key routes

Fixes #538

@ironman-machine go

Hello @LaurenSpiegel
Starting end to end procedure using the following payload:
{"REPO_NAME": "S3", "SCALITY_S3_BRANCH": "fix/uploadObjectKeyCheck", "DEFAULT_BRANCH": "rel/6.2.5"}
Please follow http://ci.ironmann.io/gh/scality/Integration/8870 for CI status.

end to end passed http://ci.ironmann.io/gh/scality/Integration/8870


In ASP.Net core 2.0, the route for this controller should be api/[con…

…troller] rather than api/[todo]

@thegrims The text is simply explaining what ASP.NET Core is doing with that [Route] attribute. It's not an instruction to the reader to replace anything.

@scottaddie My bad, thanks for the clarification.


Re write the code baes

Rewrite the entire codebase

Added event handler
Implemented command handler
Integrated context menu handler
Included button handler

if  your in windows you might get file protocol error

I'm closing this because of there are many issues in windows after fixing I will reopen it


Tool not loading results

Hi IAB team,
It seems like the tool is not loading results when I submit a new tag. I'm assuming it's temporarily down. Let me know when you have a moment. Thanks!
Christian

Thanks for the report. We are looking into this now

The issue is fixed. Please try now.


AnimateCSS integration in tests suite

Hi,
Just because, i never try to code a test
I purpose to supervise this work
After, perhaps it is not necessary to integrate it in develop branch.
It's up to you to decide

Codecov Report

Merging #3206 (5b1765c) into develop (95ec309) will decrease coverage by 0.26%.
The diff coverage is n/a.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@             Coverage Diff             @@
##           develop    #3206      +/-   ##
===========================================
- Coverage    25.21%   24.95%   -0.26%
===========================================
  Files           54       54
  Lines        11925    11925
===========================================
- Hits          3007     2976      -31
- Misses        8918     8949      +31

see 1 file with indirect coverage changes

On the other hand I don't know how to do the test with an animation that doesn't exist.
ie: must NOT contain .compliments.animate__animated.animate___${animationName}
@rejas: This can be useful too, in case you want to push this PR into develop

I think we should have these tests.
First of all sorry for missing test documentation, maybe I do an extra PR for this ...
We have 3 test projects

unit: only logical tests without running mm instance
e2e: with running mm instance
electron: should only used for electron tests and some testcases where we have to mock special date/times

So I moved your test to tests/e2e/animateCSS_spec.js (I think it's not really module related) and did some changes:
/* AnimateCSS integration Test with compliments module
 *
 * By bugsounet https://github.com/bugsounet
 * 09/2023
 * MIT Licensed.
 */
const helpers = require("./helpers/global-setup.js");

describe("AnimateCSS integration Test", () => {
	// define config file for testing
	let testConfigFile = "tests/configs/modules/compliments/compliments_animateCSS.js";

	/**
	 * move similar tests in function doTest
	 * @param {string} [animationIn] animation in name of AnimateCSS to test.
	 * @param {string} [animationOut] animation out name of AnimateCSS to test.
	 */
	const doTest = async (animationIn, animationOut) => {
		await helpers.getDocument();
		let elem = await helpers.waitForElement(`.compliments`);
		expect(elem).not.toBe(null);
		let styles = window.getComputedStyle(elem);

		if (animationIn && animationIn !== "") {
			expect(styles._values["animation-name"]).toBe(animationIn);
		} else {
			expect(styles._values["animation-name"]).toBe(undefined);
		}

		if (animationOut && animationOut !== "") {
			elem = await helpers.waitForElement(`.compliments.animate__animated.animate__${animationOut}`);
			expect(elem).not.toBe(null);
			styles = window.getComputedStyle(elem);
			expect(styles._values["animation-name"]).toBe(animationOut);
		} else {
			expect(styles._values["animation-name"]).toBe(undefined);
		}
	};

	afterEach(async () => {
		await helpers.stopApplication();
	});

	describe("AnimatedIn Test", () => {
		it("with flipInX and flipOutX animation", async () => {
			await helpers.startApplication(testConfigFile);
			await doTest("flipInX", "flipOutX");
		});
	});

	describe("no AnimatedOut in test", () => {
		it("without animation", async () => {
			await helpers.startApplication("tests/configs/modules/compliments/compliments_anytime.js");
			await doTest();
		});
	});
});

We need an additional line in tests/e2e/helpers/global-setup at position 33
			global.window = dom.window;

to get window.getComputedStyle working which is used in above test.
Feel free to use/improve ...

Thanks for explain what's this 3 projects ;)
Sure maybe a doc is welcome
I will take a look for getComputedStyle()  tomorrow because... I don't know what is this (no one is perfect!)
In all case, I will check your code tomorrow
A simple copy and paste without understanding anything is useless (for me)
In my case, this is how we can move forward!

It's better like this ?
I added some tests which should not return any animation

Codecov Report

Merging #3206 (5b1765c) into develop (95ec309) will decrease coverage by 0.26%.
The diff coverage is n/a.

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.
@@             Coverage Diff             @@
##           develop    #3206      +/-   ##
===========================================
- Coverage    25.21%   24.95%   -0.26%
===========================================
  Files           54       54
  Lines        11925    11925
===========================================
- Hits          3007     2976      -31
- Misses        8918     8949      +31

see 1 file with indirect coverage changes

Someone can explain me, I really don't understand what's coverage / hits / misses
Thanks again and sorry for my (bad) knowledge

Someone can explain me, I really don't understand what's coverage / hits / misses

Coverage is the percentage of code lines that are covered by tests, hits are the lines in absolute numbers, misses the lines that are not covered.

may I don't understand these reports but I would expect an increase of coverage as this PR only adds tests ...

Not sure if its configured correctly and checks against the master branch to compare the numbers

don't know anything about codecov setup but I ignore those reports because the content is always garbage. From my side we can remove codecov ...


Adding perturbation to change source bus voltage

Adding a custom perturbation to change the source bus voltage. Added test 27 to test new perturbation.

Implemented all request changes and changed the structure of the perturbation. Also added a perturbation on the angle.


Address Rails 7 Enumerable#sum deprecation

For https://intellum.atlassian.net/browse/PA-3536
Addresses this deprecation warning in Rails 7:
DEPRECATION WARNING: Rails 7.0 has deprecated Enumerable.sum
in favor of Ruby's native implementation available since 2.4.
Sum of non-numeric elements requires an initial argument.
(called from block in error_messages_for at /opt/exceed/vendor/bundle/ruby/3.2.0/bundler/gems/dynamic_form-357a22185cbd/lib/action_view/helpers/dynamic_form.rb:224)

@graimon gem update to address use of Enumerable#sum.  I'll open a PR against the Exceed Rails 7 feature branch to specify this branch in the gem file.

Hmm, merging this to master and specifying master in the Exceed Gemfile will also work.  The current main line of Exceed will remain on the danb/rails-6-1-validation-errors-as-objects-array branch as specified here.


Global onBeforeAction is not run for routes where waitOn publications are denied by server

I have the following function to render the login form on all routes when user is not logged in:
Router.onBeforeAction(mustBeSignedIn);
function mustBeSignedIn() {
	console.log("mustBeSignedIn running");
	if (Meteor.loggingIn()) {
		console.log("currently logging in");
		this.render('loading');
	} else {
		user = Meteor.user();
		if (!user) {
			console.log("need to log in");
			this.render("loginPage");
		} else {
			this.next();
		}
	}
}

It runs fine on most routes, but routes where the server calls .stop() in the publication requested by waitOn due to the unauthorized user, the client simply sits on the loading screen forever and never runs onBeforeAction() to rectify the situation.
If this is intended behaviour, I'd be happy to write up a pull request to add it to the guide. Obviously the fix is a simple if (Meteor.user()){return getPubs();}.

I had this issue in an app where almost every page requires login to get data. My fix was also adding the login check as an onRun, like so:
loginHook = ->
  unless Meteor.userId()
    @layout false
    @render 'Login'
  else
    @next()

Router.onRun loginHook
Router.onBeforeAction loginHook

A real fix would be lovely. When a client gets stuck on loading... there isn't even anything printed to the web console, so I guess nothing really cares right now.

+1. It's very confusing that the beforeAction doesn't work, but the afterAction is fine.


Support manually setting contentVersion

could be a CLI argument
could be a keyword in the source code

Would definitely be handy as we use this to detect if resources need to be deployed in the pipeline so we aren't wasting cycles on waiting for changes when no changes are needed.

Our team is also very much interested in this feature, as we need to fall back to using another template based on the content version.

Out of curiosity, have you considered using a bicep registry (which supports versions) instead of using the contentVersion property?

@alex-frankel what good would that do? The contentVersion shows up in the deployment, but the tag from the bicep registry shows up only in my source code, and is never even available to be logged by bicep.

@alex-frankel - I've just come across a use case for setting ContentVersion too as part of an effort to progress from an ARM deployment system to include Bicep.
ContentVersion is leveraged in post build steps in the existing ARM system.
ContentVersion is described in the ARM docs as;

Version of the template (such as <IP_ADDRESS>). You can provide any value for this element. Use this value to document significant changes in your template. When deploying resources using the template, this value can be used to make sure that the right template is being used.

We really should have a way to set it, either from within the bicep file or as an argument to the bicep build command.

Just revisiting this issue again.
Quite a smaller and likely under utilised feature of ARM - but would still be good to support even from a basic perspective in bicep.

I think this is an interesting idea, but I also feel like the contentVersion field as of today isn't flexible enough to support other interesting use cases - for example, I think it would be really useful to embed metadata such as "source commit" or "source repo"
 {
  "parameters": {},
  "languageVersion": "2.0",
  "resources": {},
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "<IP_ADDRESS>827",
      "templateHash": "4713413752423414014"
    },
    "_source": {
      // this would give enough information for an editor to link to an exact point-in-time copy of the original source file - e.g.
      // https://github.com/Azure/bicep-registry-modules/blob/02050197700fb3abe82deb91e487898a1f92a0f1/modules/azure-gaming/game-dev-vm/main.bicep
      "repositoryUrl": "https://github.com/Azure/bicep-registry-modules",
      "ref": "02050197700fb3abe82deb91e487898a1f92a0f1",
      "filePath": "modules/azure-gaming/game-dev-vm/main.bicep"
    }
  }
}

This could light up some interesting scenarios similar to SourceLink


Don't eprintln in AsyncPgConnection

Summary
I'm using this library from a CLI and I'd rather avoid these prints. Sadly there isn't much downstream folks can do about prints inside a library. If the library used tracing I'd switch this eprintln to use that instead, but since it doesn't, I just remove it. Let me know what you think!
Test Plan
cargo build --features postgres

Thanks for opening this PR. I'm open to consider removing that eprintln in favor of better error handling. As of now the PR does not improve the error handling there, on contrary it makes things worse as there is now no indication that something went wrong. This means this PR cannot be accepted in the current state.

Would you accept a PR to add tracing to this crate?

The alternative would be to make a breaking change in which we return a JoinHandle from the spawned tokio task and make the user responsible for it.

Would you accept a PR to add tracing to this crate?

No, that's not something I would accept as of now. At least not for handling these errors.

The alternative would be to make a breaking change in which we return a JoinHandle from the spawned tokio task and make the user responsible for it.

I'm open to consider a breaking change there as long as it does not introduce changes that are specific to this connection impl (i.e which are also reasonable for the other connection implementations). You might want to provide an overview of said changes first, to prevent working on something that will not be accepted.

Out of curiosity, why would you not accept a PR to use tracing? At least until now, just printing the error was considered acceptable. I think tracing is quite common throughout library crates in the Rust ecosystem, whereas printing in libraries is discouraged.

As for returning the JoinHandle, my plan would just to add a new field to AsyncPgConnection like connection_task_handle: JoinHandle and when a connection is established, set the handle.I'd update the TryFrom impl accordingly.

Out of curiosity, why would you not accept a PR to use tracing? At least until now, just printing the error was considered acceptable. I think tracing is quite common throughout library crates in the Rust ecosystem, whereas printing in libraries is discouraged.

I have two reasons for not just using tracing for this:

There are people that don't use tracing, so that adds an unneeded dependency for them.
Just adding tracing for this single error message might imply to people that use tracing that there is full tracing integration for "everything" which wouldn't be the case.

As for returning the JoinHandle, my plan would just to add a new field to AsyncPgConnection like connection_task_handle: JoinHandle and when a connection is established, set the handle. I'd update the TryFrom impl accordingly.

I honestly do not see how that would improve the error handling as most user likely would ignore that field. Can you elaborate on how that would make things better, instead of just different? Also there is valid reasoning for the TryFrom impl to only need the Client, which in the end enables users to provide custom error handling on their own.

As it is now, user code has no way to handle when the connection fails, all that happens is a print. If they get access to the handle they can check to see whether the task is still running, for example some kind of select_all on the handle and whatever else the user's code is doing. This is very standard with how you normally use tokio, it's expected that each thing you care about is a task and you check on their status. See the tokio tutorial: https://tokio.rs/tokio/tutorial/select. Just spawning tasks and dropping their handles is discouraged.

You can do exactly that by using the provided TryFrom impl. The AsyncConnection::establish impl is only there for use cases where users do not really care about these results.

We could add a function on AsyncPgConnection like get_connection_handle and mark it #[must_use] if we really want to do this properly. That way users will get a lint warning if they don't deal with the handle.

By marking a function with #[must_use] you only get a warning if you call that function and you don't use the result. You don't get any warnings if you don't call the function.
That all written: I think better way to improve the situation would be to have some sort of error one-shot channel between the background task and the connection and select from that error channel on each async call on the connection type. So we would propagate these errors as normal errors to our users. Basically something like:
struct AsyncPgConnection {
    error_state: tokio::sync::oneshot::Receiver<diesel::result::Error>,
    /// … other fields
}

impl AsyncConnection for AsyncPgConnection {
    async fn establish(database_url: &str) -> ConnectionResult<Self> {
        let (client, connection) = tokio_postgres::connect(database_url, tokio_postgres::NoTls)
            .await
            .map_err(ErrorHelper)?;
        let (tx, rx) = tokio::sync::oneshot::channel();
        tokio::spawn(async move {
            if let Err(e) = connection.await {
                rx.send(e.into());
                eprintln!("connection error: {e}");
            }
        });
        // normal connection setup here
        Ok(Self {error_state: rx, // other fields})
    }

    fn load<'conn, 'query, T>(&'conn mut self, source: T) -> Self::LoadFuture<'conn, 'query>
    where
        T: AsQuery + 'query,
        T::Query: QueryFragment<Self::Backend> + QueryId + 'query,
    {
        let query = source.as_query();
        let f = self.with_prepared_statement(query, |conn, stmt, binds| async move {
            let res = conn.query_raw(&stmt, binds).await.map_err(ErrorHelper)?;

            Ok(res
                .map_err(|e| diesel::result::Error::from(ErrorHelper(e)))
                .map_ok(PgRow::new)
                .boxed())
        });

        tokio::select! {
             error = self.error_state => return Err(error),
              res = f => res,
        }
    }
   // similar changes to other methods as well.
}

I'm happy to accept a PR that implements such a change, as long as it contains some documentation and ideally some test to show that it works.

Alright I see the advantage to this approach since the user doesn't need to handle connection errors themselves.
This would necessitate a change to the error, the error returned by functions like load could be either the load from the inner function (QueryResult) or from the connection (tokio_postgres::error::Error). So we'd have to use thiserror, coerce one error into the other, or erase the error type entirely with something like anyhow.
Would you be happy with thiserror?

Thats not needed. There is existing code for this conversion here: https://github.com/weiznich/diesel_async/blob/main/src/pg/error_helper.rs

Awesome, in that case I'll try implement this!

Hey I've got a PR here: https://github.com/weiznich/diesel_async/pull/121.

Let's close this one in favor of #121 then


Plugin not found

I have installed the dialog-plugin with 'jspm install aurelia-dialog'. After installing i use aurelia.use.plugin('aurelia-dialog') but get this error in my browsers console. Any ideas?
When i browse trough my jspm_packages/npm folder i clearly can see all the files.
GET<EMAIL_ADDRESS>404 (Not Found)

I've obviously done that, but stil get the error and my app would'nt run


Supabase + Vercel Deploy Button loading forever

I attempted to deploy this project using the Vercel Deploy Button, and after following the instructions to click on adding Supabase, I got stuck on this page. I've been trying for several days, but the result is the same.

Any updates on this? I'm experiencing the same issue. I've tried with multiple apps that are using the Supabase integration and am experiencing this problem for all of them.

Yup, had the same problem. I just gave up and did the integration manually. Somehow it worked.

https://github.com/orgs/vercel/discussions/5589


aix: ignore ENOTCONN error on shutdown in uv__drain

On AIX we were seing failures in the Node test:
simple/test-child-process-execsync.js
where the error was ENOTCONN. We identified that the
ENOTCONN a result of the call to uv_spawn in libuv.
When uv_spawn is called the child is fork/exec'd and the
parent waits for the child to terminate.  Once the child
terminates it gathers the child's execution result. As
part of this process shutdown is called on the streams
which connect it to the child. At the time the parent
calls shutdown() the child will have already closed
its side of the streams.  The call to shutdown is in
uv__drain() within src/unix/stream.c
Based on c test cases we ran, when run on AIX calling
shutdown on a stream for which the other side has been
closed results in the error ENOTCONN being returned.
When running the same test case on linux no error
is returned.
It appears that in uv_drain within src/unix/stream.c
the intention is to ensure we can no longer write to
the stream.  If the other side is already closed this
will be the case so we believe the best course of
action is to simply ignore the ENOTCONN error in
uv__drain. And hence this pull request.
This change does not introduce any new failures when
running the tests on AIX. It also does not fix any
existing failures, but it does allow the node test
simple/test-child-process-execsync.js to pass.

I believe Gireesh meat to say in the last paragraph that it lets the simple/test-child-process-execsync.js pass.

Yes! added a wrong test case name by mistake. Corrected now.

I'm willing to believe that Linux is a bit more forgiving than AIX but what I don't understand is why the test isn't failing on BSD-like platforms.
From your description of the issue it sounds like AIX has the same shutdown semantics as the BSDs and OS X: shutdown() on one half of a socket pair when the other end is closed fails with ENOTCONN.
I don't want to be difficult but I have a feeling the real issue may be something else.  Maybe a timing issue in the test?

@bnoordhuis, thanks for your comments. In OS X as well I am able to observe the
ENOTCONN issue for this test case, though with less frequency than in AIX case.
Here are the version details:
Darwin Kernel Version 12.5.0
node version: v0.12.0
uv version: 1.0.2
However, I see the failure pattern changes over time - probably due to the load pattern
change in the system.   The libuv that ships with node.js v0.12 is pretty old by now and I wouldn't rule out that v0.12 itself has a couple of bugs that have been fixed in io.js.

@bnoordhuis , I ran the test on the latest io.js (v1.5.2) on OS X, and found that the issue is present there too.

@gireeshpunathil Thanks, I've been able to confirm the issue.  I'll take a look.

Continues in iojs/io.js#1214.  I don't think handling it in libuv is the right approach because it can mask genuine errors but it's regrettable that platform differences leak through to libuv users.  I'm going to tentatively close this.


Not compiling under VS 2013 IDE

Project generated by CMake: cmake -G "Visual Studio 12 2013" ..\ do not compile in VS2013 giving errors:

error C2039: 'max' : is not a member of 'std'
error C3861: 'max': identifier not found

Compilation in VS2012 IDE as well as by nmake (for VC2012 and VC2013) runs fine. I am not sure if it is problem with my config or cmake (tested with 3.1.x) or maybe something changed in IDE.
Can be fixed by adding #include <algorithm> in sources.

This is a common change with vs12, include algorithm is the way to go:
http://blogs.msdn.com/b/vcblog/archive/2013/06/28/c-11-14-stl-features-fixes-and-breaking-changes-in-vs-2013.aspx
--> You must #include  when calling std::min() or std::max()

Thank you for clarification, I am wondering why cmake -G "Visual Studio 12 2013" ..\ && nmake runs without problems.

I found some errors when using Visual Studio 2015, where you'd get the errors identified in this Stack Overflow page:
http://stackoverflow.com/questions/31808256/multi-file-iostream-error-lnk2005-in-vs2015-with-za
Following the advice on the page fixes it, setting Disable Language Extension back to No. (no /Za flag in CMakeLists.txt)


Add Tesseract project and example.

Please make a hunter-packages/tesseract so I can use that instead :)

https://github.com/hunter-packages/tesseract

Changed to hunter-packages.

Testing:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.1853
https://travis-ci.org/ingenue/hunter/builds/243145777?utm_source=github_status&utm_medium=notification

some toolchains failed

A lot of the failures look related to OpenCL, which isn't actually used. If it does get used, however, what is the best way of adding it so it does not stop platforms from working?

A lot of the failures look related to OpenCL, which isn't actually used

If it's not used then it should be removed, no? If it's optional then it should be protected by if(FOO_WITH_OPENCL).

what is the best way of adding it so it does not stop platforms from working?

Toolchains supported by OpenCL can be found in CI, see pkg.opencl:

https://github.com/ingenue/hunter/branches/all?utf8=✓&query=pkg.opencl

Investigate fixes, apply, update OpenCL, back to this pull request.

but some other platforms potentially have it inbuilt

Is a part of compiler or installed in system? If in system then it should be duplicated by Hunter, see details:

https://docs.hunter.sh/en/latest/faq/interaction-with-other-package-managers.html

There is just a define that needs to be enabled to use OpenCL that isn't being used right now.
On some platforms (macOS and Android), the OpenCL headers and libraries come with th development tools so they can be expected to always exist.
I think I should be able to do find_package without a hunter_add_package in that situation?

come with the development tools so they can be expected to always exist

"Comes with development tools" and "always exist" is a kind of different I think :)

I think I should be able to do find_package without a hunter_add_package in that situation?

Such approach can be used as a workarund if it's not clear what to do.

Can test this please? I think I need to remove some MSVC versions but not sure which ones.

Testing:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.1864
https://travis-ci.org/ingenue/hunter/builds/246195798?utm_source=github_status&utm_medium=notification

Testing

Everything failed. We need find_dependency(OpenCL CONFIG)/find_package(OpenCL CONFIG REQUIRED) in TesseractConfig.cmake module.

Ah :( Alright.

Now the only build with issues should be some old MSVC versions hopefully!

Testing:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.1866
https://travis-ci.org/ingenue/hunter/builds/246996381?utm_source=github_status&utm_medium=notification

Testing

Some tests failed

Testing:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.1871
https://travis-ci.org/ingenue/hunter/builds/247416686?utm_source=github_status&utm_medium=notification

Uploading:

https://ci.appveyor.com/project/ingenue/hunter/build/1.0.1877
https://travis-ci.org/ingenue/hunter/builds/247492098?utm_source=github_status&utm_medium=notification

Released: https://github.com/ruslo/hunter/releases/tag/v0.19.20


XX. Possible future experiments

In this issue, I will outline experiments that may be useful in the future to further investigate the inner-workings of the model, but for which I currently do not have the time (or have low priority).

Noise-scaling experiment
As outlined by Mehrtash:

With regards to the noise scaling -- here's what I had in mind. It's not a super formal idea, and probably not a super useful idea haha.  Consider an aggregation model which operates as follows: it ignores low-saliency cells, and it averages the representation of high-saliency cells. Let's say the representation of i'th high-saliency cell, zi, is concentrated around a single point z0 in the repr. space along with a bit of Gaussian noise to account for cell-to-cell variation, i.e. zi = z0 + εi, where ϵi ∼ N(0, σ). If you feed this aggregation model n high siliency cells and any number of low-saliency cells, it will ignore the latter and return the average of the former, i.e. zaggr = z0 + (1/n) ∑i=1n εi = z0 + εaggr, where ϵaggr ∼ N(0, σ/√n). So if you plot the aggregated representation (or its PCs) vs.the number of high-saliency cells n, you would expect to get a local "jitter" that goes down like . Now, consider a smarter aggregation model -- it identifies your high-saliency cells, "snaps" them to z0 and returns that, like k-means. Powerful enough neural networks can learn to do such things. Max pooling layers and ReLU activation help achieve this type of behavior faster, but there's no theoretical guarantee whatsoever. In any event -- such a smart aggregation model will output z0 if you feed it any n > 0 high-saliency cells, and shrink the noise all the way to zero. The output is constant z0. I don't believe that's how your model is working at all given that the network output is not stationary. I don't believe your model is filtering bad cells and averaging over high-saliency cells either, again, because the output is not stationary -- it is doing something else :-) If you wish to take a deeper look at noise scaling of your model output out of curiosity, you could do that by windowing the admixing fractions around each point, regressing out the linear trend, and calculating the standard deviation of the residual. You could then make a log-log plot of the noise std vs. admixing fraction and assess whether it looks like any power law. Curiously, the noise seems to be constant all the way up to 0.6 and then it rapidly shrinks. Not sure what to make of it :-)


[BEAM-14233] Merge requirements from expanded response for Java Exter…

…nal transform
Please add a meaningful description for your change here

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @chamikaramj

Thanks.
Can we add a unit test that confirms that external expansion includes necessary components including requirements ?


SQL Dependency logs with empty

net5.0
Microsoft.ApplicationInsights.AspNetCore Version="2.20.0"
We noticed that dependencies logs for our backend application contains entries with two different names for Azure SQL Server calls (Entity Framework):

"SQL: {serverName} | {databaseName}"
"SQL: {serverName} | {databaseName} " - space at end of the string

These entries with space at the end have always property "Data" as "Commit". it causes that we always see two nodes in the application map.

We do not have much ofcustom configuration for Application Insights. All that we do is setting up RoleName.
        public class TelemetryInitializer : ITelemetryInitializer         {             public void Initialize(ITelemetry telemetry)             {                 telemetry.Context.Cloud.RoleName = "xxxx";             }         }
            services.AddSingleton<ITelemetryInitializer, TelemetryInitializer>();             services.AddApplicationInsightsTelemetry(Configuration.GetAppInsightsInstrumentationKey());

Hey, sorry for late answer. I was able to reproduce it by this sample code:
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.ApplicationInsights" Version="2.20.0" />
    <PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.20.0" />
    <PackageReference Include="System.Data.SqlClient" Version="4.8.3" />
  </ItemGroup>

</Project>

// See https://aka.ms/new-console-template for more information
using Microsoft.ApplicationInsights.Channel;
using Microsoft.ApplicationInsights.DependencyCollector;
using Microsoft.ApplicationInsights.Extensibility;
using System.Diagnostics;
using System.Data.SqlClient;

Console.WriteLine("Hello, World!");
var config = TelemetryConfiguration.CreateDefault();
var channel = new InMemoryChannel();
config.TelemetryChannel = channel;
config.InstrumentationKey = "<my-instrumentation-key";
var depModule = new DependencyTrackingTelemetryModule();
depModule.Initialize(config);
var act = new Activity("test").Start();

try
{
    SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
    builder.DataSource = "<my-server-name>";
    builder.UserID = "<my-user-name>";
    builder.Password = "<my-password>";
    builder.InitialCatalog = "<my-database>";

    using (SqlConnection connection = new SqlConnection(builder.ConnectionString))
    {
        Console.WriteLine("\nQuery data example:");
        Console.WriteLine("=========================================\n");

        connection.Open();

        String sql = "UPDATE machine.context SET Created_on=Created_on";

        SqlTransaction transaction;

        // Start a local transaction.
        transaction = connection.BeginTransaction("SampleTransaction");

        SqlCommand command = new SqlCommand(sql, connection, transaction);
        transaction.Commit();

    }
}
catch (SqlException e)
{
    Console.WriteLine(e.ToString());
}

act.Stop();
channel.Flush();

What I noticed:

Entries with null "Data" column have right name (without space at the end)
Entries with "Commit" or "Open" (I had a few bad requests) have these additional spaces


Incorrect mandatory requirement for the qualifier in EnumDeclarationNode

Description:
The qualifier is specified as a mandatory attribute in the parser's EnumDeclarationNode. But according to the specification [1], it should be made optional.
[1] https://ballerina.io/ballerina-spec/spec.html#module-enum-decl
Steps to reproduce:
Affected Versions:
Ballerina Swan Lake Preview 3
OS, DB, other environment details and versions:
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

Need to make the qualifiers a list, similar to other places where qualifiers are allowed


Display First Names First

I have been trying to figure out how to display paper authors first name first instead of "lastname, firstname", but I am unable to do this.  It would be great if there were a simple way to do this.

Thanks for the suggestion. Currently, the logic of how publications are displayed is specified in _layouts/bib.html. Should be possible to switch from "last, first" to "first last" either by editing _layouts/bib.html or adding a flag to _config.yml and some additional if-then-else logic. If you end up doing the latter, would be great if you could send a PR with the change!

Thanks for your help.  I changed mine the hacky way, since it's easy enough.


ui: edit modals should use YAML option from API get endpoints

Edit modals like the one for Stages should use the YAML option from the respective get endpoint. Without it, the update they will issue will lack GVK information about the object. Which causes the operation to fail with an error like:

parse manifest: error unmarshaling manifest: error unmarshaling JSON: while decoding JSON: Object 'Kind' is missing in ''

An example of where this is being done correctly is https://github.com/akuity/kargo/blob/595e4d052e620adb8d6fc7aae351df17d57f1fc1/ui/src/features/stage/analysis-run-modal.tsx#L17-L21

Already addressed by #1898.


Multiple websites not loading correctly

Several websites like;

Gmail
GitHub
Strava

Are broken because they load content off third party domains. The current url-filter blocks these domains if a partial match is found.

Fixed with commit https://github.com/Erulezz/Ultimate-AdBlock/commit/dc44037731c845227ab251b8c3c2eb789423a5f8

Fixed: https://github.com/Erulezz/Ultimate-AdBlock/commit/dc44037731c845227ab251b8c3c2eb789423a5f8


Lecture 7 Slide 7 Overlapping Image

I believe the slide is static without animations, so some text is currently covered by the image.

This doesn't seem to occur when downloading the presentation as a PDF, though was visible on the Google Sheets online version, so will leave this up in case others experience it.

How weird. I don't see this. Out of interest, what browser do you see this in?

I am using Safari on a MacBook, attached is a full screen image of what I see. I presume this is only affecting me for some reason, but still quite odd. It appears to display correctly on Chrome, so is indeed a Safari specific issue, even more weird...

Well, it's good to make sure it works for other people too. Thanks for reporting. I've resized one of the images so hopefully it won't happen again. Let's say 1 point as it was fairly minor


Persistence session, so don't need to login everytime

the problem is can't autologin, not session


Short AppSwitch names

Hi.
Is it possible to have short names for an appSwitch?
The present ones are too long and in the Apple Home app is impossible to read the long name.

You can rename the devices in the Apple Home app to whatever you wish...


Animated screensaver added issue #3044

Title and Issue number
Animated screensaver/background added made using HTML, CSS, and Javascript.
Close #3044
Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x] I have commented on my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy-to-understand README.md

@MohitGupta121 please merge this pr


Remove White Spaces From String.

if string is Bo-Yi Wu    <<EMAIL_ADDRESS> >
Author: Bo-Yi Wu
Email<EMAIL_ADDRESS>

ping @jayphelps

ping @jayphelps


z-index imitation for D3 tree layout node

Hi,
I'm actually working with some 3D visualization using D3 tree (which is not a common usage of it, I know :)) and I have an issue of showing one node to be 'behind' another one (kind of z-index imitation).
So I'm wondering if there is any native way to accomplish this, because my workarounds of changing positions of svg elements in the childNodes array of the parent were leading to swapping of nodes content in the tree.
Thanks

Please use Stack Overflow tag d3.js to ask for help. Stack Overflow provides a better collaborative forum: thousands of D3-related questions have been asked there, and some answers may be relevant to you.
When asking for help, please include a link to demonstrate the issue, preferably as an Observable notebook. It is often impossible to debug from code snippets alone. Isolate the issue and reduce your code as much as possible before asking for help. The less code you post, the easier it is for someone to debug, and the more likely you are to get a helpful response.
If you have a question about D3’s behavior and want to discuss it with other users, also consider the d3-js Google Group or joining the d3-js Slack.
Thank you! 🤗


Apply Sass stylesheets to Cosmos webpack config

Apply Sass stylesheets to Cosmos webpack config.
sass/_dependencies.scss
Used to import all of our style dependencies, including:

patternfly (which in turn imports bootstrap and font-awesome)
patternfly-react (no transitive imports, builds on top of patternfly)

This stylesheet is used by the local Cosmos web server (yarn cosmos) as well as exported Cosmos application (yarn cosmos:export).
sass/_components.scss
Used to import KubeVirt UI component specific styles only.
This stylesheet should be imported by the target application.
:heavy_check_mark: kubevirt/web-ui is already adapted:
@import '~kubevirt-web-ui-components/dist/sass/components';

Technical details
Q: What's up with the ~ prefix in Sass imports?
A: webpack sass-loader tweaks Sass compiler to resolve ~ to node_modules location (details).
Q: What's up with e.g. $font-path in Sass stylesheets?
A: those are Sass variables, we need to tweak some of them in order to use the right assets.
Q: Why not use webpack url-loader when handling images and fonts?
A: url-loader is used to inline smaller files into the resulting code as base64-encoded URLs (delegate to file-loader for files above the limit). This kind of optimization is normally used when building the target application bundle. Cosmos is a developer tool, webpack-generated bundle optimization is not our concern.

cc @jelkosz
@priley86 for some reason, I wasn't able to add you to PR reviewers :thinking: anyway, can you please review this and see if there's anything missing or out of normal?

Pull Request Test Coverage Report for Build 120

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 55.598%

Totals

Change from base Build 90:
0.0%

Covered Lines:
95

Relevant Lines:
176

💛  - Coveralls

This PR fixes
(gap) update Cosmos configuration to load our .scss files

action item outlined in #26

Thanks @priley86 and @rawagner for your review! I'll go ahead and merge this.


CommandInvokationFailure: Gradle build failed.

What is your question?

Unity 2022.3.37f1
Min API - 24
Max API - 34
Firebase 12.1.1 [Analytics, Auth, Remote Config, Database, Firestore, Storage]
Admob 9.1.1
Play Games 0.11.01
In app review 1.8.2
Gradle [Unity Default, 6.7.1, 6.9.4, 8.9]

Error
CommandInvokationFailure: Gradle build failed.
C:\Program Files\Unity\Hub\Editor\2022.3.37f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK\bin\java.exe -classpath "C:\Program Files\Unity\Hub\Editor\2022.3.37f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-7.2.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"
Please help.
Firebase Unity SDK Version
12.1.0
Unity editor version
2022.3.37f1
Installation Method
.unitypackage
Problematic Firebase Component(s)
No response
Other Firebase Component(s) in use
No response
Additional SDKs you are using
Admob, Play Games, In app review, OneSignal
Targeted Platform(s)
Android
Unity editor platform
Windows
Scripting Runtime
IL2CPP
Release Distribution Type
Pre-built SDK from https://firebase.google.com/download/unity

Hi @SanketAIT, this is most likely an issue with the Android Gradle Plugin. The most recent versions of Firebase SDK for Android have breaking changes:

Breaking change: Changed the required minimum compileSdkVersion to be 34 or higher.
Breaking change: Updated minSdkVersion to API level 21 or higher.

It might be a compatibility issue. Could you try using Unity editor version 2022.3.38f1 and up. You may check out the Version compatibility chart in the official Unity documentations and use the specific Unity Editor version accordingly:

Unity version
Gradle version
Android Gradle Plug-in version

2022.3 (starting from 2022.3.38f1)
7.5.1
7.4.2

2022.3 (up and including 2022.3.37f1)
7.2
7.1.2

2021.32020.3 (starting from 2020.3.15f1)
6.1.1
4.0.1

2020.3 (up to and including 2020.3.14f1)
5.6.4
4.0.1

Let me know if this works, thanks!

@argzdev Downloaded Unity 2023.2.20f1.
getting this error now. can you please check?
MY SETTINGS

ERROR

Hey @SanketAIT, I'm not sure. Could you reach out to community forum in Unity, they will likely be able to assist you better in setting up your Unity editor. This issue does not indicate any problem that's related to the Firebase SDK.

Hello @argzdev, I was previously using Firebase version 11.8.1, but after upgrading to version 12.1.0, I am encountering issues with building the .APK file. It seems that the upgrade may have introduced compatibility issues or conflicts affecting the build process. I will also be reaching out to the Unity community for further assistance with this issue.
Thank you very much for your help. :)

Yeah, that does sound like the upgrade issue is due to the breaking change. I'll go ahead and close this thread for now. Feel free to let me know if there's other underlying issues that come up after fixing the compatibility issue. We can always reopen the thread if we identify that Firebase SDK is causing the problem.


rake db:create with pg_enum extension

I'm trying to run rake db:create and it will not work with the pg_enum extension on.
config.sequel.after_connect = proc do
  Sequel::Database.extension :pg_enum
end

rake aborted!
Sequel::DatabaseConnectionError: PG::ConnectionBad: FATAL:  database "four_one_five_dev" does not exist

When the Sequel connection is set up the pg_enum extension activates. It will check for the enum values in the database upon connection. However, the database does not exist yet, because the rake db:create task is trying to create the database in the first place. SequelRails connects to the db on boot and then the error in thrown.
Is there a way to check if the database exists in SequelRails before activating the extension?
if SequelRails.database_exists?
  Sequel::Database.extension :pg_enum
end

It doesn't seem possible because we're connecting through Sequel which connects to a database. Instead it would have to be done the same way as the create and drop commands: shelling out to a process to do the check for us.
For now I've worked around it with this:
config.sequel.after_connect = proc do
  begin
    Sequel::Model.db.extension :pg_enum
  rescue => e
    puts "ERROR: #{e}"
  end
end

but that's not a pretty solution. An alternative is setting skip_connect = true, but then only for rake tasks (how would I detect that?)
Does anyone know any better solutions?

Hi @tombruijn,
it's not pretty, but you can usually check if you're running out of a rake using $0 =~ /rake/ .

Have same problem and do this hack in config/initializers/sequel.rb:
DB = Sequel::Model.db
DB.extension :pg_array

begin
  DB.extension :pg_enum if DB.test_connection
rescue
  ''
end

@tombruijn, almost two year anniversary for the issue. :) Did you find a fix?
The solution with begin-rescue would not work if chained rake tasks are run. I am experiencing problems when running rake db:create db:migrate since code in some migrations is dependent on the sequel extensions.
I have tried creating db using createdb from postgres before loading Rails env in a Rakefile, but that just feels too hackish.
For now in our CI we are running createdb db_test || echo 'db already exists' just to make sure that db exists before running any rake tasks. This is super shitty as well, but at least it is not hidden and will always remind us that it needs changing.
Does anyone have any ideas how this could be fixed properly? Is it smth that could be done on sequel_rails side?

@bunufi I did not find a really good fix for this. I'm no longer working on a project using sequel and sequel-rails either.
Last I remember the project is still using the workaround described in my original post.


Nuxt.js running error！！！

Version
v1.4.0
Reproduction link
https://github.com/nuxt/nuxt.js
Steps to reproduce
I can't run after I installed my dependencies

What is expected ?
He should run normally
What is actually happening?
No parser and no filepath given, using 'babylon' the parser now but this will throw an error in the future. Please specify a parser or a filepath so one can be inferred.

Additional comments?
Please provide solutions in a timely manner. At present, this situation has occurred in all projects, leading to the failure of all online businesses to function properly.

This bug report is available on Nuxt.js community (#c7183)

It is warning, not a error

@aldarund  no , I simply can't run this initialized nuxt framework. This is an error !!!

@clarkdo I can't run the project extension at all. I wonder if I can get back to normal. I have been waiting for anxiety because I am doing projects for the company.

This is really bad, we can not see the output now. Try updating vue-loader they have been patched allready:
https://github.com/prettier/prettier/issues/4567

Can you try manually install<EMAIL_ADDRESS>in you project ?

Tested with vue-loader v14.2.2 and it seems to work. vue-loader v15 would be better because of its improved design, but it requires modifications to Nuxt code.

Nuxt has upgraded vue-loader to 15, 2.0 will be released soon.

a similar problem
when will version 2 release?

I also encountered the same problem, but the above reply is not very intuitive. What should I do exactly?

@Maple13
npm install<EMAIL_ADDRESS>--save-dev

Can temporarily solve this problem

thanks @warriorBrian. the warning is gone.

@warriorBrian
Very good! I solved the problem, thank you very much

#3385

Thank you @warriorBrian
But, could someone explain to me why this is even happening in the first place? I'm working on a project with Nuxt, and earlier today everything was working as it should, but suddenly after installing a package: mailgun.js everything went sideways. I'm trying to understand why this happened.
Could someone help?

@sebastianks  I guess that because when you install mailgun package , you break locked dependency package in node_modules .


Add matchmyip.com tracking site

matchmyip.com tracks visitors across websites to collect as much information as it can.
Quote from website:
What can we tell you about your website visitors?
First Name - Last Name - Address - City - State - Zip - Email Address - Cell Phone
Landline Phone - Age - Income - Marital Status - Buying Habits
Lifestyle Preferences - Vehicle Year
Vehicle Make - Vehicle Model, and 400+ more.

Thank you Alexander! @alexbel


WiFi promiscuous mode crash / apparent heap corruption (IDFGH-6527)

I believe there is a bug in the WiFi promiscuous mode packet receiving code in IDF v4.3.2.  I get random crashes with the example code below, which does not itself directly use the heap. The crash can be triggered almost immediately or may take a few minutes to occur.  It is possible that a specific WiFi packet is triggering this crash. (This is actually likely, in my opinion, given the random times at which it happens.)
Console output and then code at the end.
Console output:
rst:0x1 (POWERON_RESET),boot:0x1b (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:7412
load:0x40078000,len:14912
ho 0 tail 12 room 4
load:0x40080400,len:3688
0x40080400: _init at ??:?

entry 0x4008067c
[[[[...snip...]]]]
I (463) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (473) MAIN: Initializing WiFi
I (503) MAIN: drop 0, free heap 260460
I (513) wifi:wifi driver task: 3ffbf5c0, prio:23, stack:6656, core=0
I (513) system_api: Base MAC address is not set
I (513) system_api: read default base MAC address from EFUSE
I (533) wifi:wifi firmware version: eb52264
I (533) wifi:wifi certification version: v7.0
I (533) wifi:config NVS flash: enabled
I (533) wifi:config nano formating: disabled
I (533) wifi:Init data frame dynamic rx buffer num: 32
I (543) wifi:Init management frame dynamic rx buffer num: 32
I (543) wifi:Init management short buffer num: 32
I (553) wifi:Init dynamic tx buffer num: 32
I (553) wifi:Init static rx buffer size: 1600
I (553) wifi:Init static rx buffer num: 10
I (563) wifi:Init dynamic rx buffer num: 32
I (563) wifi_init: rx ba win: 6
I (573) wifi_init: tcpip mbox: 32
I (573) wifi_init: udp mbox: 6
I (573) wifi_init: tcp mbox: 6
I (583) wifi_init: tcp tx win: 5744
I (583) wifi_init: tcp rx win: 5744
I (593) wifi_init: tcp mss: 1440
I (593) wifi_init: WiFi IRAM OP enabled
I (593) wifi_init: WiFi RX IRAM OP enabled
I (603) phy_init: phy_version 4670,719f9f6,Feb 18 2021,17:07:07
I (703) wifi:mode : sta (1c:9d:c2:c3:8b:b4)
I (703) wifi:enable tsf
I (703) wifi:ic_enable_sniffer
I (703) MAIN: Waiting for packets...
I (1503) MAIN: drop 135, free heap 239148
I (2503) MAIN: drop 308, free heap 239148
I (3503) MAIN: drop 470, free heap 239148
[[[[...snip...]]]]
I (63503) MAIN: drop 12919, free heap 239148
I (64503) MAIN: drop 13071, free heap 239148
Guru Meditation Error: Core  0 panic'ed (StoreProhibited). Exception was unhandled.

Core  0 register dump:
PC      : 0x4008d478  PS      : 0x00060c33  A0      : 0x8008df22  A1      : 0x3ffbf380
0x4008d478: remove_free_block at /home/esp4/esp/esp-idf-v4.3.2/components/heap/heap_tlsf.c:214
 (inlined by) block_locate_free at /home/esp4/esp/esp-idf-v4.3.2/components/heap/heap_tlsf.c:448
 (inlined by) tlsf_malloc at /home/esp4/esp/esp-idf-v4.3.2/components/heap/heap_tlsf.c:757

A2      : 0x3ffb7374  A3      : 0x0000003c  A4      : 0x3ffb2224  A5      : 0x3ffb4d94
A6      : 0x3ffb2220  A7      : 0x3ffb8e94  A8      : 0x3ffc4758  A9      : 0x00000017
A10     : 0xebdc8346  A11     : 0x0000000a  A12     : 0x40edea84  A13     : 0x00060c23
A14     : 0x00000001  A15     : 0x00000000  SAR     : 0x0000001f  EXCCAUSE: 0x0000001d
EXCVADDR: 0xebdc834e  LBEG    : 0x4000c2e0  LEND    : 0x4000c2f6  LCOUNT  : 0xffffffff

Backtrace:0x4008d475:0x3ffbf380 0x4008df1f:0x3ffbf3a0 0x40081771:0x3ffbf3c0 0x400817a5:0x3ffbf3e0 0x4008f6c9:0x3ffbf400 0x400849c9:0x3ffbf420 0x400fe8e9:0x3ffbf440 0x40093657:0x3ffbf480 0x400938e3:0x3ffbf4c0 0x400910de:0x3ffbf500 0x4008beb9:0x3ffbf530
0x4008d475: remove_free_block at /home/esp4/esp/esp-idf-v4.3.2/components/heap/heap_tlsf.c:212
 (inlined by) block_locate_free at /home/esp4/esp/esp-idf-v4.3.2/components/heap/heap_tlsf.c:448
 (inlined by) tlsf_malloc at /home/esp4/esp/esp-idf-v4.3.2/components/heap/heap_tlsf.c:757

0x4008df1f: multi_heap_malloc_impl at /home/esp4/esp/esp-idf-v4.3.2/components/heap/multi_heap.c:197

0x40081771: heap_caps_malloc at /home/esp4/esp/esp-idf-v4.3.2/components/heap/heap_caps.c:145

0x400817a5: heap_caps_malloc_default at /home/esp4/esp/esp-idf-v4.3.2/components/heap/heap_caps.c:177

0x4008f6c9: malloc at /home/esp4/esp/esp-idf-v4.3.2/components/newlib/heap.c:31

0x400849c9: wifi_malloc at /home/esp4/esp/esp-idf-v4.3.2/components/esp_wifi/esp32/esp_adapter.c:79

0x400fe8e9: wDev_SnifferRxData at ??:?

0x40093657: wDev_ProcessRxSucData at ??:?

0x400938e3: wdevProcessRxSucDataAll at ??:?

0x400910de: ppTask at ??:?

0x4008beb9: vPortTaskWrapper at /home/esp4/esp/esp-idf-v4.3.2/components/freertos/port/xtensa/port.c:168

ELF file SHA256: ccb2d1f1ecbef3b4

Rebooting...

With comprehensive heap poisoning on, the crash looks like this:
I (14504) MAIN: drop 2443, free heap 237356
I (15504) MAIN: drop 2622, free heap 237356
I (16504) MAIN: drop 2801, free heap 237356
CORRUPT HEAP: Bad tail at 0x3ffc4fea. Expected 0xbaad5678 got 0x2dc84124

assert failed: multi_heap_free multi_heap_poisoning.c:253 (head != NULL)

Backtrace:0x400815af:0x3ffbf800 0x40088a89:0x3ffbf820 0x4008f57d:0x3ffbf840 0x4008ddeb:0x3ffbf960 0x40081832:0x3ffbf980 0x4008f5ad:0x3ffbf9a0 0x40091d23:0x3ffbf9c0 0x40090f73:0x3ffbf9e0 0x4008bee1:0x3ffbfa10
0x400815af: panic_abort at /home/esp4/esp/esp-idf-v4.3.2/components/esp_system/panic.c:393

0x40088a89: esp_system_abort at /home/esp4/esp/esp-idf-v4.3.2/components/esp_system/system_api.c:112

0x4008f57d: __assert_func at /home/esp4/esp/esp-idf-v4.3.2/components/newlib/assert.c:85

0x4008ddeb: multi_heap_free at /home/esp4/esp/esp-idf-v4.3.2/components/heap/multi_heap_poisoning.c:253 (discriminator 1)

0x40081832: heap_caps_free at /home/esp4/esp/esp-idf-v4.3.2/components/heap/heap_caps.c:305

0x4008f5ad: free at /home/esp4/esp/esp-idf-v4.3.2/components/newlib/heap.c:46

0x40091d23: ppProcessRxPktHdr at ??:?

0x40090f73: ppTask at ??:?

0x4008bee1: vPortTaskWrapper at /home/esp4/esp/esp-idf-v4.3.2/components/freertos/port/xtensa/port.c:168

Example code:
#include <sys/cdefs.h>
#include "freertos/FreeRTOS.h"
#include "esp_wifi.h"
#include "nvs_flash.h"
#include "string.h"
#include "freertos/ringbuf.h"
#include "esp_err.h"
#include "esp_now.h"
#define LOG_LOCAL_LEVEL ESP_LOG_VERBOSE
#include "esp_log.h"

#define TAG "MAIN"

int p_drop=0;

void wifi_raw_recv_cb(void *buf,wifi_promiscuous_pkt_type_t type) {
    p_drop++;
}

_Noreturn void wifi_raw_print_stats(void *unused)
{
    while (1) {
        ESP_LOGI(TAG,"drop %i, free heap %i",p_drop,esp_get_free_heap_size());
        vTaskDelay(1000/portTICK_PERIOD_MS);
    }
}

void app_main() {
    const wifi_promiscuous_filter_t filt = {
            .filter_mask=WIFI_PROMIS_FILTER_MASK_ALL
    };
    ESP_LOGI(TAG,"Initializing WiFi");

    nvs_flash_init();

    xTaskCreate(wifi_raw_print_stats,"wifi_p_stats",3000,NULL,0,NULL);

    esp_log_level_set(TAG,ESP_LOG_INFO);

    wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
    ESP_ERROR_CHECK(esp_wifi_init(&cfg));
    ESP_ERROR_CHECK(esp_wifi_set_storage(WIFI_STORAGE_FLASH));

    ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
    wifi_config_t sta_config = {
            .sta = {
                    .channel = 11,
            }
    };

    ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &sta_config));
    ESP_ERROR_CHECK(esp_wifi_start());
    ESP_ERROR_CHECK(esp_wifi_set_promiscuous(true));
    ESP_ERROR_CHECK(esp_wifi_set_promiscuous_filter(&filt));
    ESP_ERROR_CHECK(esp_wifi_set_promiscuous_rx_cb(&wifi_raw_recv_cb));
    ESP_ERROR_CHECK(esp_wifi_set_channel(11,WIFI_SECOND_CHAN_NONE));

    ESP_LOGI(TAG,"Waiting for packets...");

    vTaskDelay(portMAX_DELAY);

}

Just a follow-on that this can be triggered by high packet loads, so it may be a race condition or resource exhaustion rather than a 'special' packet.

I'm wondering if this commit helps 09db8845c692ee5002810744fd1ce889d4d69c9d ?

Thanks for the idea.  I just applied that patch -- Unfortunately, it does not resolve this issue.  I still see the same crash with the patch applied.

A little more information -- while the crash still does occur, the patch has changed it.  Now, I can't make it crash with heap poisoning turned on.  The fix I was using to mitigate this was adding:
    busywait=0;
    while (busywait++<5000) {}

inside of a tight loop of request/reply transactions, providing some additional delay between the processing of the last reply and sending out a packet with the next request.  Without this busy wait, the crash is pretty reliable.  I suspect that heap poisoning is providing a similar delay which mitigates the problem.
My production code is basically sending a packet, receiving a reply packet (via a promiscuous listen) repeatedly in a tight loop (about a 5-10ms transaction).  This causes a panic pretty reliably  (note that it can occur almost immediately or downstream a bit -- my longest runs on this loop are about 90 seconds and it makes it through that about 25% of the time without the busy wait).

hi @cmsedore
This problem has been fixed in master and version 4.4, but it has not been backport to version 4.3, so you can test it based on this point, and then this problem will be fixed in version 4.3.
e104dd7f27d2e73ab0e9b614dd7b9295099069bf

@xueyunfei998
How is the fix status for v4.3 now? (The fix in 4.4 was committed 2 months ago, I think it should not take such long time to fix v4.3)
I cannot understand how the changes in e104dd7, it's a merge commit and I think most of the changes are not related to this issue. Could you point out the real fix commit for this issue?

@cmsedore
Can you verify this issue with v4.4 release?

Crash reason: sniffer received some packets with check errors, and the actual length of received packets was inconsistent with the length of wifi hardware feedback, so there was an error in memcopy, which was solved in 4.4.

@xueyunfei998
I'm aware it's fixed in v4.4.
My question is if v4.3 needs  fix? (As I said in https://github.com/espressif/esp-idf/issues/8178#issuecomment-1039793902, I don't know if it's fixed in v4.3 or not)

hi  @cmsedore
v4.3 commit :
4b95b8a5c4b3c9d138642c97e7f68e7e0d392a24

hi @cmsedore v4.3 commit : 4b95b8a

Are you sure it's correct commit?
In v4.4, the fix is https://github.com/espressif/esp32-wifi-lib/commit/657dd399cff195341fd536d503ce99f0d46876a6
The commit log is different from the one you mentioned in v4.3.

@AxelLin This issue seems to be resolved in v4.4.  Thanks!

hi @cmsedore v4.3 commit : 4b95b8a

Are you sure it's correct commit? In v4.4, the fix is espressif/esp32-wifi-lib@657dd39 The commit log is different from the one you mentioned in v4.3.

I agree. It looks to be the wrong commit. Could it be confirmed that there is a fix in 4.3, and in that case what commit?

hi  @ToveRumar
I'll check ，If there is no backPort, it will be backported to 4.3 as soon as possible.

hi @ToveRumar
I'll check ，If there is no backPort, it will be backported to 4.3 as soon as possible.

Thank you!

The code is backport to IDFv4.3, a20b6c4d95d1029b93b465d4512649b5db65e21c include this fix.

Thanks for reporting, feel free to reopen.


how can i use sqlite3 in this project

Found an issue or bug with electron-vue? Tell me all about it!
Questions regarding how to use electron or vue are likely to be closed as they are not direct issues with this boilerplate. Please seek solutions from official documentation or their respective communities.
Describe the issue / bug.
# how can i use sqlite3 in this project
How can I reproduce this problem?
# normal
If visual, provide a screenshot.
#
Tell me about your development environment.

Node version: v7.11.0
NPM version: v4.1.2
vue-cli version: (if necessary) 2.8,2
Operating System: win10x64

If you are looking to suggest an enhancement or feature, then feel free to remove everything above.

@alwaysloseall
This is not a direct issue with electron-vue, and I will be closing. Please know that the presence of electron doesn't change how Vue.js is used. This is a question better suited for official documentation or respective communities.
When creating your db instance with new sqlite3.Database(filename, [mode], [callback]), simply point to a filename using app.getPath(). See https://simulatedgreg.gitbooks.io/electron-vue/content/en/savingreading-local-files.html for an example.


Microsoft 365 Chat vs. Graph-grounded chat?

What is Microsoft 365 Chat? It seems like it was just rebranded again to Graph-grounded chat. https://support.microsoft.com/en-us/topic/get-started-with-microsoft-365-chat-5b00a52d-7296-48ee-b938-b95b7209f737

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

ID: b4deeffc-697b-86c8-8a7c-7dcda93c7cd6
Version Independent ID: b4deeffc-697b-86c8-8a7c-7dcda93c7cd6
Content: Create conversational plugins for Microsoft Copilot (preview) - Microsoft Copilot Studio
Content Source: power-virtual-agents/copilot-conversational-plugins.md
Service: copilot-studio
GitHub Login: @iaanw
Microsoft Alias: iawilt

Thanks for your comment, @jxu. This issue has been assigned to the doc author for review.


certificate broken when using CNAME to github.io

Hello @jpawlowski  and thank you for your work! Forgive me if I misread the docs but I'm facing an issue after creating the CNAME record as the certificate of github.io does not match the domain.tld , any  advice on how you solved this ?
Regards

Hey there,
You are missing the last step after the CNAME setup which is configuring the domain name as described here
https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site

Thank you very much, that worked 😊
De : Julian Pawlowski @.>
Envoyé : vendredi 19 août 2022 18:14
À : jpawlowski/mta-sts.template @.>
Cc : MICHEL, Loic (COLAS DIGITAL SOLUTIONS) @.>; Author @.>
Objet : Re: [jpawlowski/mta-sts.template] certificate broken when using CNAME to github.io (Issue #2)
Message sent from Internet with<EMAIL_ADDRESS>email address
Security warning : Do not click on the links or attachments contained in this message unless you are sure of the sender’s address.

Hey there,
You are missing the last step after the CNAME setup which is configuring the domain name as described here
https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-sitehttps://urldefense.com/v3/__https:/docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site__;!!AixUwHL60NA!qT6N3GWnuURqj-fTj81TY9dUG0mbP1vMjtILrKzFbmCS9tqKGgVFkdw89hbtUuYettaICIhr7Y5SyrSQ1cqx3kemBS0$
—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https:/github.com/jpawlowski/mta-sts.template/issues/2*issuecomment-1220854763__;Iw!!AixUwHL60NA!qT6N3GWnuURqj-fTj81TY9dUG0mbP1vMjtILrKzFbmCS9tqKGgVFkdw89hbtUuYettaICIhr7Y5SyrSQ1cqxbQ0pK3E$, or unsubscribehttps://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/ANLEUWPCBBNSPE4R7EAZJCLVZ6XFPANCNFSM57A4DHOA__;!!AixUwHL60NA!qT6N3GWnuURqj-fTj81TY9dUG0mbP1vMjtILrKzFbmCS9tqKGgVFkdw89hbtUuYettaICIhr7Y5SyrSQ1cqxrp97KZo$.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

Maybe the bit about setting the repo up with a custom domain should be in the instructions?
Injected as a new step 4, pushing the next steps up a notch.

@NoSubstitute, it is actually mentioned in step no.3 like this:
"... and enable GitHub Pages."


glob pattern doesn't work correctly in the exclude section in analysis_options.yaml

When specifying exclude files in the analysis_options.yaml file, we've noticed that glob pattern doesn't work but specifying individual files works.
[This works]
analyzer:
  exclude:
    - 'testdata/directives_test/after.dart'
    - 'testdata/directives_test/before.dart'
    - 'testdata/double_quotes_test/after.dart'
    - 'testdata/double_quotes_test/before.dart'

[This doesn't work]
analyzer:
  exclude:
    - 'testdata/**'

This was happening in a fuchsia dart package, in case it matters.
cc: @pylaligand @zanderso @bwilkerson

I think this used to work, but I'm seeing the same problem.
Has there been a change in analyzer?

The documentation suggests that it should work: https://www.dartlang.org/guides/language/analysis-options#excluding-files

Could this get looked at?
/cc @bwilkerson

I ran into this issue yesterday.

I reproed this just now...looks like there's a discrepancy between what the cli analyzer expects vs server. Server handles this correctly, and cli doesn't.
Will begin digging in further!

Figured out the issue -- if the included analysis_options.yaml also has an exclude list, then we merge the two YamlLists into one List, while the options data is still a Map<dynamic, dynamic>. Later, we check if excludes is YamlList, but the merge result is not, and so the excludes are skipped.
Thanks for filing! This affected a lot of types of options.

exclude doesn't work


Reply to RPC call from the C++ SDK is missing data

When an RPC request is submitted via the C++ SDK the received reply is supposed to have payload, id and httpKey fields. Only the payload seems to contain what it should, the other two are empty. The RPC call itself is executed successfully and the reply payload is correct.
See more complete description here: https://forum.heroiclabs.com/t/c-rpc-callback-contains-no-id/1939

@jan-ekholm Thanks for the report! This data is not missing, it's just not expected as part of an RPC response. Client SDKs just use the same Rpc entity for both requests and responses for convenience.
We'll look into changing this if it creates confusion, but this is not currently a bug. 👍


Provide a Suggestion now points to Developer Community

Summary
I have changed the link for the Visual Studio for Mac Provide a Suggestion to point to Developer Community instead of UserVoice.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: bzeren sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Windows 11

Microsoft removed Deskbands. Need to convert it to a "widget" whatever that is... Need to search docs.

Works on win11 with the use of the popular startallback which brings back the better taskbar. I absolutely hate the new taskbar/startmenu/contextmenus anyway so its a win for me.

@Doosty that's terrific!! I might just try upgrading again to 11 just for this! Though I would also like to make it work natively with the widgets in 11, but I can't find any docs from MS about that feature...
Even though the widgets is technically inferior since it's not visible as a glance and needs to opened to be viewed.