HDDS-10103. Simplified snapshotCache with just one ConcurrentHashMap.

What changes were proposed in this pull request?
Currently we use two different Concurrent collections, ConcurrentMap to keep entries in the cache and ConcurrentSet to keep track for the entries which can be closed. Usage of these two are causing deadlock and race condition problem.
In this change, usage of ConcurrentSet to keep track of closable entries is removed. Now we are iteration over the ConcurrentMap itself and checking if entry's reference size has reached zero and can be closed. If it has, we close the RocksDB object and remove the entry from the SnapshotCache.
What is the link to the Apache JIRA
HDDS-10103
How was this patch tested?
Existing unit and integration tests.

Thanks for the patch @hemantk-12. The changes overal looks very simple everything working under compute method of ConcurrentHashMap. We can look into optimizing the cleanup method to fetch the instances only with 0 references. This would be critical if the cache size is set to be high.

Similar point was raised by Siyao in #5968. It could be a follow up task.

Thanks @aswinshakil, @swamirishi and @smengcl for the review.

Follow up task HDDS-10156 to optimize the clean up.


Limit defaults-aws to security groups only

In the case of default VPCs that are still in use, a user should still be able to remediate for CIS by blanking the default security groups. An option on defaults-aws to exclude VPC destruction would allow this.  Currently I do not see any AWS CIS requirements for removing all default VPCs. Only that the default security group restricts all traffic and others do not openly allow RDP or SSH.

Added this in v0.1.13. 🎉


A list of item codes for adding items to your inventory

I was unable to get your unpack/repack functionality to work for me, so I rolled my own using some shell scripting. While I was doing this I also took the time to get a list of (possible) item codes. I thought you might find the list useful:
https://github.com/swichers/for-the-king-save-utils/blob/main/ITEM-CODES.md

This is known to me but I have no intention to expand on the functionality of the editor but thanks!


Update peserta.md

https://panggihsamudra.github.io/ = HTTP 404

Done
Pada tanggal 15 Jul 2016 18.08, "John Vandenberg"<EMAIL_ADDRESS>menulis:

https://panggihsamudra.github.io/ = HTTP 404
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/BesutKode/BesutKode.github.io/pull/17#issuecomment-232924394,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATQ7VDLy8VnVj1mJ9LDopUDV_hKEtd4Rks5qV2pFgaJpZM4JNSeA
.

please check https://panggihsamudra.github.io/panggihsamudra/

That site is automatically generated.  Please customise/alter it a little.

done customise :)

OK. Ready to go except ...
Another participant has been added after you started this pull request, so now Github says "This branch has conflicts that must be resolved".
You can fix this by doing a git rebase on this patch, or by closing the pull request and starting a new one.


Phantomjs 2.x renders PDF with huge file size as compare to 1.x

When I try to create pdf using phantomjs 2.x, it increases file size almost ten times more than old versions i.e. 1.x.
Are there any parameters to control file size or pdf quality?
Thanks in advance.

Unfortunately, no, there is no way to control this.

Is it known issue? And are you going to fix this in the upcoming release?

No, we will not fix issue. I don't see problems with it (unless the result fie is really huge in comparison with the file created with 1.x).
We can eventually fix it, if there is a problem with Qt itself. You probably should search their bug tracker for similar issues.

@roshan-lrn also, could you please attach your PDF files?

I have to say that I wouldn't have closed this summarily - a 10x file size increase from 1.x to 2.x for the same website does, in my book, qualify as a regression worth at least digging into a little.  However, we really do need to see the PDFs you got, and you should be aware that we may not be able to do anything about it.  PDF generation happens deep inside Qt, not in our code.

@zackw yes, it's hard to do anything without examples and additional info (OS for example). Because I don't see the regression on Windows. I believe it happens on other platforms.

UPD
I quickly checked the Qt bug tracker. I didn't found anything related to the PDF file size. So, it might be a new issue.

On Windows platform, it's working fine.
I am using CentOS 6, 64 bit, PhantomJS 2.1.1, and qt 4.6.2.
Kindly find attached PDFs.
phantomjs-2.1.1.pdf
phantomjs-1.9.8.pdf
phantomjs-1.9.8 (update html zoom).pdf

OK, this is definitely a real regression.  The size change is a symptom -- the real problem is that nearly all of the text is being emitted as graphics.

The problem is in embedded fonts.
PhantomJS 2.1.1:

PhantomJS 1.9.8:

DejaVu Sans is obviously large than other 3 fonts.

I am using 'ProximaNova-Regular', 'ProximaNova-SemiBold', and 'ProximaNova-RegularBold' as primary fonts and 'Arial' as secondary font. I have added 'eot', 'woff2', 'woff', 'ttf', and 'svg' files for fonts.
I am NOT using 'NimbusSanL-Regular' and 'DejaVuSans' fonts.
On landing page, I am using background image, otherwise all images are in  tag. Footer is added through paperSize api.
One more thing, I would like to mention here, I have generated above PDF files on same machine using same files with two different phantomjs versions.

This is a recurring issue reported by users.
As mentioned in astefanutti/decktape#3,  installing the TTF or OTF font on the local file system seems to overcome the issue, though that's not a solution obviously.
It used to be a similar problem on Mac OS X, until QTBUG-10094 got fixed and integrated into PhantomJS. So maybe, something equivalent is needed on Unix.
Anyway, +1 to let that issue opened.

Is there a trick to making installed ubuntu fonts work with a consumed phantomjs pdf?  I assume disable webfonts as well?

@astefanutti We need a minimized test case as I said above.

It would be nice to have an example HTML file -- rendering as just one page, and without the huge background images, please! -- that shows the effect.

It sounds like this test case needs to use webfonts, but ideally there should be just one of them, and we need the actual font file, not a reference to a service.

@miganga Please take questions about how to work around this bug to a support forum, such as

our experimental Discourse forum
the official PhantomJS users mailing-list
Stack Overflow (with phantomjs tag)

@zackw agreed. I'll try to produce such a minimal test case ASAP.

@zackw, @Vitallium, here is a minimal test case for that issue:
<html>
<style>
    @font-face {
        font-family: 'Ubuntu Mono';
        font-style: normal;
        font-weight: 400;
        src: url(http://astefanutti.io/further-cdi/fonts/UbuntuMono-Regular.woff) format('woff');
    }
    body {
        font-family: 'Ubuntu Mono', monospace;
    }
</style>
<body>
    <div>
        Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
        tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
        quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
        consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
        cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat
        non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
    </div>
</body>

</html>

When executing phantomjs rasterize.js test.html test.pdf, the output PDF is 6 KB on Mac OS X and Windows while it's 122 KB on Debian 7. Besides, the text is not selectable in the latter.

@astefanutti great!

@astefanutti's example is correct. v2.1.x on debian and ubuntu at least, handles local fonts correctly, i.e, they are embedded in the pdf and therefore rendered on screen in high quality, text is searchable and selectable and the file size is kept low. For remote webfonts, as in the example above, the text is converted to outlines, fonts are not embedded and text isn't search and selectable, and makes the file size huge for longer docs.
Probably QT related but it works as intended in wkhtmltopdf's latest alpha versions.

@martent thanks a lot. Good to know that it works in wkhtmltopdf as it may help identify proper fix for this. I'll try to dig into that direction ASAP.

Yes, I have the same issue @astefanutti has demonstrated with .ttf fonts.  FYI.

@martent I've tried exporting the above example using wkhtmltopdf's latest alpha on Debian 7 (wkhtmltox-0.13.0-alpha-7b36694_linux-wheezy-amd64.deb from http://wkhtmltopdf.org/downloads.html) and faced the issue as well.
What version / OS have you been using to produce a correct PDF? That may help identifying the fix...

@astefanutti Unfortunately, I get the same results as you when I test it now. Might be that I had the 0.12 version on the system level in a test box with the patched QT/WK. v0.13 will have those patches, including the one for selectable text, applied in a later stage according to the docs https://github.com/wkhtmltopdf/wkhtmltopdf/blob/0.13/README.md#013-rc

@martent I've tried with the latest stable version of wkhtmltopdf (wkhtmltox-0.12.3_osx-cocoa-x86-64.pkg) and it works. So it's either the patches yet to be applied in v0.13 or it's a regression in Qt introduced between Qt 4.8 and 5.x. I would favour the later assumption as most of the WOFF support patches are already in PhantomJS 2.x and there has been a major refactoring of QFontEngine platform implementations in Qt 5.0. I'll try to test the above sample in Qt directly to validate that assumption.

I've isolated a minimal Qt application that demonstrates this is a regression from Qt 4.8 to Qt 5.x. I've created QTBUG-52417 and I'll try to dig into Qt to eventually have a fix.

@astefanutti Great isolation of the problem.
I might add to the earlier discussion above that this is not just a problem with resulting file sizes but also that there are no real text in the pdf, just vector images of glyphs, meaning that you can't search the file or select and copy text. The reason why the fonts are not embedded is simple because they are not used in the final pdf, just in the conversion stage where the glyphs are converted to vector images.

Has anyone found a workaround to this issue? I tried base64 encoding out fonts, to no avail.

I pinpointed the code that's causing this issue, but don't quite know how to solve it..
https://github.com/qtproject/qtbase/blob/f34e73a16a3d757057e007874cb5008f16e20f02/src/gui/painting/qpdf.cpp#L2601 indicates that remote WebFonts do not have a filename (no surprise here)
The code that disables font embedding is https://github.com/qtproject/qtbase/blob/fb6000a74f57bd3c096f6a10142477bf2faf0ff2/src/gui/text/qfontengine.cpp#L2284.
A hack I came up with that is woefully horrible is:
diff --git a/src/gui/painting/qpdf.cpp b/src/gui/painting/qpdf.cpp
index 7e90d81..6318313 100644
--- a/src/gui/painting/qpdf.cpp
+++ b/src/gui/painting/qpdf.cpp
@@ -2576,6 +2576,19 @@ void QPdfEnginePrivate::drawTextItem(const QPointF &p, const QTextItemInt &ti)
QFontEngine *fe = ti.fontEngine;
 QFontEngine::FaceId face_id = fe->faceId();

QByteArray filename = face_id.filename;

if (filename.isEmpty()) {

   // HACKHACK (miller): Since webfonts don't have a file name, they can't be embedded on Linux.

   // To allow for embedding web fonts, concatenate the family and styleName.

   // This is probably not "strictly" legal (see https://github.com/qtproject/qtbase/blob/fb6000a74f57bd3c096f6a10142477bf2faf0ff2/src/gui/text/qfontengine.cpp#L2284),

   // but it gets the job done for our purpose.

  QFontDef fontDef = fe->fontDef;

  QString fakeFilenameString = fontDef.family + fontDef.styleName;

  face_id.filename = fakeFilenameString.toUtf8();

}
bool noEmbed = false;
if (!embedFonts
|| face_id.filename.isEmpty()

@michaelgmiller your fix works fine

@zowers yup, I'm using it ;) but it's (probably) not something that can be committed to QT. Would be interested to know if a QT person has a better idea for a fix.

probably should be reported to qt bug tracker at https://bugreports.qt.io/issues

For those with limited use cases looking for a temporary workaround, adding font files to the PhantomJs server's ~/.fonts folder and referencing them in CSS with the src: local('Font Name') syntax seems to work.

Any progress on getting a fix for this? This is not in my skill set but any help toward fixing this in Qt and then in Phantomjs would be greatly appreciated.

@toddhickerson if you want to get a fix, comment at https://bugreports.qt.io/browse/QTBUG-52417 and post in the QT forums / IRC chat room. The fix lies entirely in the QT project.

@michaelgmiller I've tested the following change (basically removing the checks on the filename existence) and been able to produce correct results for all my test samples:
diff --git a/src/gui/painting/qpdf.cpp b/src/gui/painting/qpdf.cpp
index d746ab9..e3cfa6c 100644
--- a/src/gui/painting/qpdf.cpp
+++ b/src/gui/painting/qpdf.cpp
@@ -2581,16 +2581,29 @@ void QPdfEnginePrivate::drawTextItem(const QPointF &p, const QTextItemInt &ti)
     QFontEngine *fe = ti.fontEngine;

     QFontEngine::FaceId face_id = fe->faceId();
     bool noEmbed = false;
     if (!embedFonts
-        || face_id.filename.isEmpty()
+        /*|| face_id.filename.isEmpty()*/
         || fe->fsType & 0x200 /* bitmap embedding only */
         || fe->fsType == 2 /* no embedding allowed */) {
         *currentPage << "Q\n";
         q->QPaintEngine::drawTextItem(p, ti);
         *currentPage << "q\n";
-        if (face_id.filename.isEmpty())
-            return;
+        /*if (face_id.filename.isEmpty())
+            return;*/
         noEmbed = true;
     }

I've tried to search the qpdf.cpp source history to understand the rational for this check though it's been there since the available history.
This leads to the following points / questions:

This is a regression from Qt4 to Qt5 and the related qpdf.cpp source part hasn't changed, so it must be the filename was set before?
As the related qpdf.cpp source part isn't platform specific, what's the filename value for the other platforms and what was the value set in Qt4?
Are these checks actually needed?

Before it gets integrated, a statically linked Linux binary (Centos 6, 7, Debian 7, 8, Ubuntu 14.04, 16.04 and ArchLinux 2015.06.01) that contains the fix above is available here: https://github.com/astefanutti/decktape/releases/download/v1.0.0/phantomjs-linux-x86-64.

Any idea on when this will get integrated?

@astefanutti  - The library you built works great for fonts, but only produces the first page of the PDF.  I'm on Ubuntu 16.04.  Are you able to produce multi-page PDFs with your library?

@johnjarrard I haven't tried producing multi-page PDFs. I suspect this is caused by #14268.

Wanted to post my solution to this problem.  It turns out that loading a web font from a remote URL will cause PhantomJS to rasterize the font in the PDF.  This creates a PDF where the text cannot be highlighted, since it is an image.  This causes the PDF file size to grow 10 times.
We were using Proxima Nova, and our CSS file looked like this:
@font-face
    font-family ProximaNovaReg
    font-style normal
    font-weight 100
    src url("/assets/fonts/ProximaNova-ThinWeb.woff") format("woff")

body
   font-family ProximaNovaReg

To fix the issue, we installed the Proxima Nova TTF files directly onto our Ubuntu box.  This means copying the TTF files to /usr/share/fonts/truetype, and running fc-cache -fv.
Now we can change our CSS to just the following:
body
   font-family "Proxima Nova"

PhantomJS now treats Proxima Nova as a natively installed font, and renders a smaller sized PDF with selectable text.  This is the right solution.

@robinfhu Thanks, excellent fix!

@robinfhu Amazing!

Does anybody could solve this?


Upgrading tzk

I have an older version of (node.js) tzk running on my home server.
How to upgrade it to the current (0.5.0) version, without losing the content and configuration?

Unfortunately, there is no documented or straightforward upgrade path, as explained in the WARNING AND DISCLAIMER when you initialize a new version of tzk.

If I were going about this, I think I would start by setting up a new version of tzk, then export all of my content from the old wiki into the new wiki. If you've added significant changes to system tiddlers, those will be the hardest part; you'll probably have to make some manual modifications.


Failed to execute 'appendBuffer' on 'SourceBuffer'

given that I'm really very satisfied with this integration and that I don't have serious problems, I have often noticed errors related to the buffer in my log.  tonight more than 3,000 were counted in a few minutes.  what can it depend on?  what suggestions can you give me?
this is my log:
Logger: frontend.js.latest.202108090
Source: components/system_log/init.py:190
First occurred: 8:30:36 PM (3179 occurrences)
Last logged: 8:48:15 PM
https://yyyyyyy.xxxxxxx.org/webrtc/webrtc-camera.js?v2.0.2:88:34 Uncaught InvalidStateError: Failed to execute 'appendBuffer' on 'SourceBuffer': The HTMLMediaElement.error attribute is not null.
Thanks

Having a similar issue:
https://github.com/AlexxIT/WebRTC/issues/164
Did you resolve this?

I'm also getting this error (16 times in the space of 3 seconds).

@redpizza69 do you use latest version?

Thanks - just seen 2.2.0 is out with a fix for it. Instralling now.

Did this resolve for anyone else? Updated still having the same issue.

I updated and it is no longer complaining and works fine

WebRTC failed to load after upgrading to 2.2.0 in HA 2021.11. Upgraded to HA 2021.12.2 and all good.

@bobloadmire cache

what?

Should be fixed in v3


numeric basis issues

This issue is sort of a placeholder, but it is hard for a plugin like this to operate in an environment where the numeric basis itself is rife with unnecessary loss of precision. Below are two examples of extremely poor and unnecessary truncation, of small values to zero, in atanh on Double and in asin and atan on Complex Double. It would be great if someone would let this tool run wild on the prelude!
$ ghci
GHCi, version 7.8.4: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude> tan 5e-17
5.0e-17
Prelude> atan 5e-17
5.0e-17
Prelude> tanh 5e-17
5.0e-17
Prelude> atanh 5e-17
0.0
Prelude> :m + Data.Complex
Prelude Data.Complex> sin (0 :+ 5e-17)
0.0 :+ 5.0e-17
Prelude Data.Complex> asin (0 :+ 5e-17)
0.0 :+ (-0.0)
Prelude Data.Complex> tan (0 :+ 5e-17)
0.0 :+ 5.0e-17
Prelude Data.Complex> atan (0 :+ 5e-17)
0.0 :+ (-0.0)

FWIW, the standard prelude calculates
atanh x = 0.5 * (log ((1 + x) / (1 - x)))

and herbie uses a taylor expansion to improve it to
atanh x =  0.5 * (((2 / 5) * x * x * x * x * x) + ((2 / 3) * x * x * x) + (2 * x))

It reports the original expression has 58 bits of loss, and the improved has only 8e-2 bits of loss.  This is probably worth reporting as a GHC bug.
I imagine these functions are used often enough there are pretty standard implementations for them.  I'm actually surprised they aren't implemented as primops within GHC.

Agreed. These should all use standard numerically safe expressions. And Double etc should call out to the math library.
Even functional language implementations that allegedly cater to numeric accuracy, like MIT Scheme, often get dramatic loss of precision on atan of a small imaginary number. I guess people are getting a bit tired of filling in all these formulas by the time they get to atan of a complex number.
PS Shouldn't
atanh x =  0.5 * (((2 / 5) * x * x * x * x * x) + ((2 / 3) * x * x * x) + (2 * x))

be
atanh x =  ((1 / 5) * x * x * x * x * x) + ((1 / 3) * x * x * x) + x

or am I missing something?

I think you're version is better.  It's just not what Herbie reports.

Not to belabor this too much, but there is a reason numeric libraries include log1p and friends, and the definition of atanh is a perfect example. If we have that primitive, more precise definitions practically writes themselves:
atanh x = 0.5 * log ((1 + x) / (1 - x))
        = 0.5 * (log(1+x) - log(1-x))
        = 0.5 * (log1p(x) - log1p(-x))

or if we'd like to avoid two invocations of a special function,
atanh x = 0.5 * log ((1 + x) / (1 - x))
        = 0.5 * log ((1-x)/(1-x) + 2*x/(1-x))
        = 0.5 * log1p(2*x/(1-x))

or just for fun,
        = - log1p(-x) + 0.5*log1p(-x^2)

Of course!  I would very much like to get these functions supported because
they are very important.
On Wed, Sep 30, 2015 at 3:02 PM, Barak A. Pearlmutter <
<EMAIL_ADDRESS>wrote:

Not to belabor this too much, but there is a reason numeric libraries
include log1p and friends, and the definition of atanh is a perfect
example. If we have that primitive, more precise definitions practically
writes themselves:
atanh x = 0.5 * log ((1 + x) / (1 - x))
= 0.5 * (log(1+x) - log(1-x))
= 0.5 * (log1p(x) - log1p(-x))
or if we'd like to avoid two invocations of a special function,
atanh x = 0.5 * log ((1 + x) / (1 - x))
= 0.5 * log ((1-x)/(1-x) + 2x/(1-x))
= 0.5 * log1p(2x/(1-x))
or just for fun,
    = - log1p(-x) + 0.5*log1p(-x^2)

—
Reply to this email directly or view it on GitHub
https://github.com/mikeizbicki/HerbiePlugin/issues/15#issuecomment-144554632
.


Logo in README?

Originally posted by @chalin in https://github.com/open-telemetry/opentelemetry-demo/issues/730#issuecomment-1419299765

We should keep the otel image for the main readme but maybe just create another folder. Otherwise lgtm

@cartersocha - would it be ok to address this separately? (We have at least two options, the details of which I'd rather discuss in the context of a followup PR or issue.)

❤

@cartersocha - given the points made below the main question is: how important is it for repo maintainers to have the OTel logo in the repo's README file?

The simplest option is to go without a logo in the README title (level 1 heading). Some of the repos in the OTel org have opted for this.

Another option is to get the official logo from the website. This is what is done in the READMEs of, for example, the:

Website repo

Spec repo, and

community repo
E.g., https://github.com/open-telemetry/community/blob/main/README.md?plain=1
# <img src="https://opentelemetry.io/img/logos/opentelemetry-logo-nav.png" alt="OpenTelemetry Icon" width="45" height=""> OpenTelemetry community content

If y'all want a logo, this would be my preferred solution so that we don't end up having multiple copies of the logo file across repos.
The problem here is that markdownlint, with it's current settings, won't allow it:
$ make markdownlint
opentelemetry-demo@ /Users/chalin/git/lf/open-telemetry/opentelemetry-demo
└─┬<EMAIL_ADDRESS>  └──<EMAIL_ADDRESS>
./CHANGELOG.md
./CONTRIBUTING.md
./README.md
./README.md:1:81 MD013/line-length Line length [Expected: 80; Actual: 140]
./README.md:1:3 MD033/no-inline-html Inline HTML [Element: img]
make: *** [markdownlint] Error 1

In the website repo we use Prettifier to enforce formatting (including constraints on line length, which sometimes needs to be more than 80 char), and we don't prevent embedded HTML, for obvious reasons.

WDYT? Any preferences, or other suggestions?

I can think of other options, such as having Hugo automatically generate a logo of reduced file size that other repos could then refer to. I know it's possible, but I haven't used that feature yet. Other work is more pressing at the moment, so I might not get time to explore such an option until later. (FYI)

I'd personally be okay with option 2

@austinlparker I'm not familiar with our markdownlint checker - can we configure it to ignore html / where?

A file that could be used across repos would be quite nice. I originally added an image here because I saw another repo with it and liked the vibe. I know it's a small addition but I do feel like small details like this improve the perception of the project / repo.

I'd personally be okay with option 2

Done. It occurred to me that we should be able to disable the lint checker for that one line. See #744.


Spend to Taproot

Includes a few fixes:

don't polyfill process env for trezor environment variables in @caravan/wallets
cleanup some dependencies in @caravan/wallets
remove unexported PSBTv0 modules from @caravan/psbt
work to support bitcoinjs-lib v6 in @caravan/psbt
Adding support to @caravan/psbt for taproot address outputs

TODO:

[x] use new tx creation from @caravan/psbt to support paying tr addresses
[x] new tooling for validateMultisigSignature which extracts the matching public key (?)
[x] Fix failing tests
[ ] More changesets documenting the changes
[x] Coordinator should have regtest support
[x] Might need more robust address validation

NOTE: the diff looks a little bigger than it is because the tiny-secp256k1 library was vendor-ized. See updated readme in @caravan/psbt for more details

I'm still concerned with the major version increment I commented about on my previous review.

@Shadouts version change to caravan/bitcoin converted to minor: 37d46d6


Future integration

Hello,
I really like your job, I use this crate really a lot, and I found the lack of a Future integration quite sad, because I often write future-based software and using locks inside them isn't a good choice.
So I spent a bit of my free time and I came up with this really simple (and quite incomplete) implementation: https://github.com/nappa85/future-rwlock/
I don't know if you had other plans about this topic, maybe you'll find my work horrible, but I wanted to share my two cents.
Best regards

Unfortunately Futures integration requires a completely different and incompatible API for locks, at which point it may as well just be a completely separate crate.
My position is that this is outside the scope of parking_lot. See #24 and #86.

Yes, I already read those issues, my implementation (I made some more edits since I opened this issue, maybe you missed it) is some kind different, it works on anything that implements AsRef<RwLock> (e.g. Arc, Rc and Box) with obvious limitations about Send and Sync.
This way, core RwLock remains untouched.
The same approach could be applied also to Mutex.

I read through your code, and overall it seems pretty good. One significant issue is that task::current().notify() should only be called once the mutex is unlocked by a thread, rather than every time the future is polled. This results in 100% CPU usage as tokio will keep polling the mutex (with try_lock) in a loop.
Unfortunately this is not possible to solve without deeper integration in the internals of the mutex.

Yes, I understand your point, I was aware of the problem (it was described in one of the previous issues).
I used the crate in some real implementations, the CPU usage doesn't rise because futures solve so quickly that a good percent never task::notify once and the remaining task::notify only once.
I think it's better than having futures with blocking code inside, but it can be done better, no dubts on it.

If you are happy with a solution that is basically just a busy spin loop, then you don't need parking_lot at all. You don't get any of the benefits of parking_lot if I understand your usage correctly.

If you are happy with a solution that is basically just a busy spin loop, then you don't need parking_lot at all. You don't get any of the benefits of parking_lot if I understand your usage correctly.

Sorry, so a "busy spin loop" that 90% of the times turns only once is worst than blocking code inside futures?

A spin loop based lock that never have to actually spin, that can proceed through the lock on the first or second try every time is indeed very efficient. But that's in theory. If you write a generic library you don't know what programmers will do while they hold the lock, right? So if they do anything that hold the lock for some time all other futures will completely clog up the CPU. I would personally not implement such a library unless the documentation made it very clear locks must only be held for an extremely short period of time. And probably not then either since your current design breaks the intended usage of futures:
task::current().notify();
return Ok(Async::NotReady)

^ You first notify the waker that your task has more data/can proceed, but then you at the same time return that you ran out of work (NotReady). This is a contradiction.
And no, you should probably not block inside futures neither. That will block all futures running on that thread inside that runtime/reactor. It goes against the fundamental intended usage of futures.
In conclusion, you can't do what you want to do in a good way using the existing lock design. As @Amanieu points out, you need locks with a completely different design made for an async future use case.
You need locks that upon polling a locked lock registers an interest in that lock with the task currently holding it. And then the task holding the lock must notify() those interested in it when it's unlocked.

Yes, thank you, it was the "can be done better" part, but, as far I can see, it's not quick and easy, or someone else would have already done it.
As you pointed out, I don't know what users will do inside the lock, but it's in the basis of futures themselves not doing long and heavy operations, because it would block the runtime/reactor thread, exactly like using blocking software.
About the portion of code you cited, how can I continue the loop (aka returning NotReady) and notify the task he has to poll again?

About the portion of code you cited, how can I continue the loop (aka returning NotReady) and notify the task he has to poll again?

The point is you should not. By returning NotReady and at the same time telling the runtime to poll you again you basically say "I return now, please call me again asap", and you are not supposed to do that. This is by definition creating a CPU eating busy loop.

You likely want to look at something like this: https://crates.io/crates/qutex
The point is that future aware locks are incompatible to system thread parking/parking_lot. You likely never want thread parking synchronization primitives in any async context at all. The fundamental difference between parking_lot waiting for a lock and waiting for something (foo) in an async context is:

parking_lot tells the OS to park the thread, pausing execution until foo happens.
an async task tells the runtime "Please don't schedule/poll me again until foo happens".

Basically both "pauses" a thread. The difference is that one is telling the OS scheduler to pause the OS thread and the other is telling the user space runtime to pause a green thread/task. In the latter case the OS thread executing the user space runtime can continue executing other green threads/tasks until foo happens.
The problem you have here is that you have no way of telling the runtime to poll you when foo happens (the lock is unlocked), because parking_lot does not expose any way for you to get this information.

Using the new async/await syntax I've been able to do something like you were talking about.
The approach has changed, now the system revolves around a wrapper on the RawLock (RawMutex and RawRwLock) and retains an internal list of wakers.
When a Future asks for a lock and can't obtain it, the Future's Waker is added to the list.
As soon as the lock is unlocked, the wakers are waked up.

I'm studing if there are corner cases where waking up only the first waker has some negative behaviour, to light up the process.

I still don't think you want to use thread locking in an async program/algorithm at all. Why do you want to do this? If you block a thread you will prohibit other async tasks on that thread from running.

Where do you see thread locking in my code?
It's the purpose of it having Mutex and RwLock non-threadlocking

There are multiple things here, maybe my comment can help to clarify this:

If you stay on a single threaded system reactor you normally don't ever have to use locks. Because you (hopefully) "drop" your mutex the moment you enter the next async awaiting code (and thus returning execution to tokio). Thus you can use a Rc if required at all.
If you do reach a point of a mutex not being available and you're using a multi-threaded reactor (and not simply having an actor-based approach where you have message passing for single-instance Objects), you do not want to block at all. "Parking" the thread would mean that you park your whole reactor thread and thus any other futures currently in the pipeline of your reactor (tokio). What you really want to do is to tell tokio that you currently can't further execute this task (like if you'd wait for IO operation) and let it execute another future. Then the current lock holder (thread) would have to issue a notify call to tokio afterwards when it release the lock, resuming the execution if it is currently halted. (Which happens when all current Futures in the reactor are in "waiting" mode, thus the reactor parks itself).
This has one big difference to parking lot: In parking lot you park the whole thread of the caller that wants to acquire a lock. But you never do that in async code. In async code only the future executor (tokio) is allowed to "park" the thread as only it knows if there is nothing to do anymore.

Thus parking_lot is a completely different concept than the one you need for a futures aware synchronization system. Non-Threadlocking is the opposite of what parking_lot is designed for.


From issue #1: Testing the final model

From issue #1: @kalai2033 asks: How to test the final model... I'm using the following code to train:
!python Image2Image.py --cuda --batchSize=10 --loadSize 256 --dataset "diff" --num_joint_samples 300 --factorGAN 1 --experiment_name "diff"

@kalai2033 The final model is automatically tested at the end of training. You can also evaluate a previously trained model (skipping the training phase) by passing --eval as an additional parameter when running the Python script. Hope that answers your question?

I get this error when i use the --eval flag for testing.
!python Image2Image.py --cuda --batchSize=2 --loadSize 256 --dataset "diff" --factorGAN 1 --eval --experiment_name "diff"
Namespace(L2=0.0, batchSize=2, beta1=0.5, cuda=True, dataset='diff', disc_iter=2, epoch_iter=5000, epochs=40, eval=True, eval_model='G', experiment_name='diff', factorGAN=1, generator_channels=32, lipschitz_p=1, lipschitz_q=1, loadSize=256, lr=0.0001, num_joint_samples=1000, nz=50, objective='JSD', out_path='out', seed=1337, use_real_dep_disc=1, workers=1)
Random Seed:  1337
dataset [AlignedDataset] was created
Traceback (most recent call last):
File "/home/kalai/exp/FactorGAN/datasets/InfiniteDataSampler.py", line 19, in next
data = next(self.data_iter)
File "/home/kalai/anaconda3/envs/new/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 345, in next
data = self._next_data()
File "/home/kalai/anaconda3/envs/new/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 831, in _next_data
raise StopIteration
StopIteration
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "Image2Image.py", line 172, in
eval(opt)
File "Image2Image.py", line 126, in eval
generate_images(G, G_inputs, opt.gen_path, 100, device, lambda x : Utils.create_image_pair(x, dataset.A_nc, dataset.B_nc))
File "/home/kalai/exp/FactorGAN/eval/Visualisation.py", line 12, in generate_images
gen_input = next(generator_inputs)
File "/home/kalai/exp/FactorGAN/datasets/InfiniteDataSampler.py", line 24, in next
data = next(self.data_iter)
File "/home/kalai/anaconda3/envs/new/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 345, in next
data = self._next_data()
File "/home/kalai/anaconda3/envs/new/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 831, in _next_data
raise StopIteration
StopIteration

You pass a non-supported value for the "dataset" parameter into your model (namely "diff") - we only support cityscapes and edges2shoes at the moment. Something seems wrong with your dataset - it couldn't be loaded or doesn't have enough samples, that's why during batch creation it fails. Check your setup while using cityscapes or edges2shoes dataset, you will probably find that there will not be such an error occuring. Then you know you have to check how you are loading your particular dataset correctly, which I cannot really help you with much.

@f90 Thanks. I have changed the directory structure similar to the cityscapes dataset. It seems it is using the images from the validation folder.  Now i can see the test results in the out directory.

I am getting 256x256 image as output even i pass 600x400 image as input. How can i change the test script to prduce output image similar to original image shape?


Expose an API to log out the current account and clean up any related cached credential

Related to https://github.com/Azure/azure-sdk-for-net/issues/31498

To what file location does the cachePersistencePlugin function from the @azure/identity-cache-persistence package save the DeviceCodeCredential? (Mac and Windows)

We decided not to add API for this because we can't guarantee it would work as expected and there will be workarounds for clearing the cache. See https://github.com/Azure/azure-sdk-for-net/issues/32048#issuecomment-1485930145 for more information.


Updates the API facets to add new endpoints, fix a couple of bad args…

… in others and create new facets.

@DEGoodmanWilson - let's chat through this tomorrow / Friday?

Coverage increased (+0.8%) to 77.498% when pulling ac427ed87d70ede86b69cfc1748204f17a3dd900 on update_api_facets into 6689dc69d6580fdb4a21c1967541d32b78cf7eac on master.

Coverage increased (+0.8%) to 77.498% when pulling 2e3abee37c8acccf82e777e44c1cd76af67d46a0 on update_api_facets into 6689dc69d6580fdb4a21c1967541d32b78cf7eac on master.

Coverage increased (+0.8%) to 77.498% when pulling 2b5db551bd7c0e117e8c7dbb9df2c549ec34129b on update_api_facets into 6689dc69d6580fdb4a21c1967541d32b78cf7eac on master.


report a bug about autocomplete

I'm in Windows 11. If I use version <IP_ADDRESS> with Pycharm 2022.1.3, then I cannot use the code autocomplete. I have to install version <IP_ADDRESS>. Hope to fix quickly

https://github.com/opencv/opencv-python/issues/676

Read this : https://youtrack.jetbrains.com/issue/PY-35691/Code-completion-doesnt-work-for-cv2-module#focus=Comments-27-5402199.0-0
And this is the current sollution i have been try : https://youtrack.jetbrains.com/issue/PY-35691/Code-completion-doesnt-work-for-cv2-module#focus=Comments-27-6426279.0-0. And its work

This solution works for me: https://stackoverflow.com/a/75054982/14419009.

Fixed in:

https://github.com/opencv/opencv/pull/20370
https://github.com/opencv/opencv-python/pull/853


Release only when non-dev dependencies are updated

Use two values hold and release.

hold if only files in .github have changed
hold if only files in tests have changed
check if only package.json and package-lock.json have changed

get dependencies and devDependencies in package.json
get change log for package.json
hold if only devDependencies have changed.

release otherwise

we have now a separate release process that is only triggered if files or modules on the production part have changed. Any repo-specific code (like actions) or development dependencies no longer trigger a release.


🐛 刷选蒙层优化/从下往上刷选优化

🏷 Version

Package
Version

@antv/s2
1.42.0

@antv/s2-react

@antv/s2-vue

Sheet Type

[x] PivotSheet
[ ] TableSheet
[ ] GridAnalysisSheet
[ ] StrategySheet
[ ] EditableSheet

🖋 Description

滚动刷选时, 蒙层超出了刷选区域

向上滚动时刷选速度特别慢, 和向下滚动刷选不统一

⌨ Code Snapshots

🔗 Reproduce Link

🤔 Steps to Reproduce

😊 Expected Behavior

😅 Current Behavior

💻 System information

Environment
Info

System

Browser

:tada: This issue has been resolved in version @antv/s2-v1.44.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version @antv/s2-v2.0.0-next.7 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fix exposureStatus initial state in android headless task

Resolves https://github.com/CovidShield/mobile/issues/183

cc @timarney


Initial code refactor on Pre-trained modules

Follow the code structure of texar-pytorch's pretrained module.

@ZhitingHu Can you take a look at this PR?

For the examples, I will polish them after tokenizer module is added.

Does this PR support Pyhon2.7? If not, we will merge #208 first and make a release before merging this one.

It supports Python 2.7 which is also tested in CI.


CI for Node

failing test:
Initializes with two players
Starts the game with a random player
Sets the current player to be whoever it is not


api key error

I've installed both through pip and local and anytime I run "lyrics-transcriber /path/to/your/audiofile.mp3" I get "openai.OpenAIError: The api_key client option must be set either by passing api_key to the client or by setting the OPENAI_API_KEY environment variable" so not sure why as I'm not using Genius.  Any help appreciated.

OK, i fixed the api_key issue but now I'm getting openai.NotFoundError: Error code: 404 - {'error': {'message': 'The model gpt-4-1106-preview does not exist or you do not have access to it. Learn more: https://help.openai.com/en/articles/7102672-how-can-i-access-gpt-4.', 'type': 'invalid_request_error', 'param': None, 'code': 'model_not_found'}}.  When I look at the help document listed, it looks like we need a paid chatgpt subscription.  Is that the case or am I missing something?  Also, is a Genius api key or spotify cookie required?  Can I provide my own lyrics txt file?  This looks cool but I'm lacking the info I need to get it going.  I am a bit of a noob but I think I'm getting pretty close.  I don't think this is just a matter of "pip install lyrics-transcriber" and then "lyrics-transcriber /path/to/your/audiofile.mp3".  I suspect there is a bit more setup required.  If you could point me in the right direction, I would really appreciate that.  Regards...

Hey, thanks for trying it out - sorry for the bad experience, you're totally right, I haven't updated the README since adding more functionality recently. I'll fix that later today when I get some hobby time.
What are you trying to achieve, though?
I should warn you, this project is still very much a work in progress; the challenge of syncing the words with the audio is an unsolved one which I've been trying to solve using a combo of Whisper transcription, then prompting GPT-4 for each segment to try and get it to correct the transcribed lyrics using the known lyrics from Spotify, Genius, etc.
Some explanation in this issue: https://github.com/karaokenerds/python-lyrics-transcriber/issues/1
and this one: https://github.com/karaokenerds/python-lyrics-transcriber/issues/2
The last version before I started doing the LLM-based correction work was October, if you want to try that older version - but as mentioned above, there's still more work to do to make this project generally useful to anyone!
https://github.com/karaokenerds/python-lyrics-transcriber/releases/tag/v0.8.0

Hey thanks for responding Andrew.  I'm also kind of a karaoke "nerd" and just looking for ways to automate some of the processes used to make decent "homemade" karaoke, strictly for personal use.  Things have come a long way with software like Ultimate Vocal Remover 5 and The-Tuul.  I can make a decent karaoke video in less than an hour with these tools.  I came across your project and thought that it would be even better if I could quickly get an .ass file to work from as opposed to manually creating one with The-Tuul.  Don't get me wrong, I love The-Tuul, but if I can expedite things, I will...  There is also another online service called Croonify (croonify.com) which seems to automate the creation of the lyrics timings but you don't get anything back other than a finished video in about 10 minutes, so no insight as to what process is used.  Although it is currently free, it will eventually be a paid service when they get the bugs ironed out.  It's not perfect, but it's getting very close.   Currently my process is to get a decent instrumental, lead vocal, and sometimes a fairly good backing vocal track from UVR5 using a good quality audio file (if you have any insight as how to get a good solid backing vocal only track let me know as sometimes it's hit or miss.)  I then use the .ass file I get from The-Tuul to tweak as required and reformat it with a python script to display the lyrics the way I want them to appear on-screen and then use ffmpeg to create the video using the .ass file with the three audio sources to different channels.  I can then play the video with the MPV media player with a lua script to bind keys to control pitch, speed changes, volume of tracks 1, 2, and/or 3 (kinda like the Karafun player).  It all works well, but I'm always looking for ways to improve.  Anyway, I'll keep an eye this to see where it goes.  Take care.

I also ran the newest v0.13.1 as $ lyrics-transcriber /path/to/your/audiofile.mp3 which supposedly works offline as it performs no Spotify/Genius lookup and LLM correlation processing, and wondered why it failed with the lack of an OpenAI API key.
Read through this issue here, and saw the comment stating that v0.8.0 is the last version which works without LLM.
Could you please revise your code and your arguments so that one can run it in two different modes:

speech to text recognition, runs fine also without API key,
and then post process by correlating with lyrics databases, requires API key.

Managed to downgrade to v0.8.0 by pipx uninstall lyrics-transcriber followed by pipx install lyrics-transcriber==0.8.0 and then could successfully run it. 🙂

👍 Amazingly good results, see my report.


Update jailer script v2.1

Problem:
Jailer needs to use real ssh
Solution:
Pull in ssh and required libs to support it

https://github.com/rancher/rancher/issues/21013


Exception when assigning inside an array with value extracted from xpath

Using phan from git hash 4521badec376bef1cef9b3149139b3f4134e743e
Example trimmed down from: https://github.com/wikimedia/mediawiki/blob/master/includes/parser/Preprocessor_DOM.php
This seems to be the minimum viable bug, but perhaps i've missed something. chaining calls instead of assigning $value makes the bug go away. Assigning to a variable instead of an array key also makes it go away.
sample code:
<?php
$xpath = new DOMXPath();
$value = $xpath->query('foo');
$bar['baz'] = $value->item(0);

Exception thrown:
Fatal error: Uncaught TypeError: Argument 1 passed to phan\mkgenerics() must be of the type string, null given, called in /home/ebernhardson/git/phan/includes/pass2.php on line 647 and defined in /home/ebernhardson/git/phan/includes/pass2.php:1274
Stack trace:
#0 /home/ebernhardson/git/phan/includes/pass2.php(647): phan\mkgenerics(NULL)
#1 /home/ebernhardson/git/phan/includes/pass2.php(199): phan\var_assign('bug.php', '', Object(ast\Node), 'global', NULL, Array)
#2 /home/ebernhardson/git/phan/includes/pass2.php(183): phan\pass2('bug.php', '', Object(ast\Node), 'global', Object(ast\Node), NULL, NULL, NULL)
#3 /home/ebernhardson/git/phan/phan(66): phan\pass2('bug.php', '', Object(ast\Node), 'global')
#4 {main}

You are using an ancient version of Phan. Hit hash 4521bad is from rlerdorf/phan. Please use the code from github.com/etsy/phan


Error 404 "Method login not found"

I'm using asteroid in this project. When clicking on Login button, the following error is triggered:
{isClientSafe: true, error: 404, reason: "Method 'login' not found", message: "Method 'login' not found [404]", errorType: "Meteor.Error"}
It really looks there is something Asteroid is doing wrong or reporting wrong.

you need to add Accounts to your backend, user management is not part of Meteor's core

Thank you @dimofte . With your help I was able to make it work.


fix(auth2): Remove KeyboardAvoidingView to get around iOS 17 bug

Description
This PR makes me 😢.
Basically, iOS 17 introduced a bug that is only seen on device around KeyboardAvoidingView and the QuickType bar (password autosuggest, etc) where it will flash and lead to UI positional instability. A way to reproduce it is by simply hitting backspace on the keyboard in an empty password field. With the keyboard avoiding view this would lead to a jump in the modal. It also manifested when transitioning between screens and the quicktype bar would appear and disappear depending on the input type. Its simply not passable. Typing fast would also trigger it!
See this github issue: https://github.com/facebook/react-native/issues/39411
It impacts all platforms, including fully native apps.
Since we can't remove the password auto-fill functionality by hiding the quicktype bar, we need to compromise and wait for an iOS version update 😭.
Fix:
Remove the keyboard avoiding view and all form of dynamic positioning of the modal. Now, when the sign in/up flow begins we need to animate it to a fixed position at the top of the screen. When transitioning between inputs, nothing stirs. And yet, also, nothing is exactly positioned and centered anymore either, which was nice. All in all a minor compromise given the bug.
We can revisit this with later iOS updates.
Before (kinda captures it -- only reproducible on device, but you can see how the quicktype bar appears and hides changing screens -- how apply this to simply entering or backspacing text)
https://github.com/user-attachments/assets/ba3e1c7e-9b8f-4c34-afd4-9cccb31c1f4a
After:
https://github.com/user-attachments/assets/33062b77-070b-4e8a-93df-707b9d14f85a
Notice how in the after screencap the modal no longer shifts all around the screen? Passable.

Warnings

:warning:

❌ An error occurred while validating your changelog, please make sure you provided a valid changelog.

  Generated by :no_entry_sign: dangerJS against edd9de8380cab4532107c50c7e4dc356a7f4d55c


chinese prototype - add support for context forward

the chinese adapter getHomonym method needs to accept the contextForward parameter and check for additional matches until the context is exhausted
E.g. if the text contains
安之若素的意思
contextForward is set to 5 chars
And the word selected is 安
the getHomonym request should have
params.word = 安
params.contextForward = 之若素 的意
the adapter should look up 安 and add matches (2 found) on that to the result
then it should look up 安之 . it won't find results
then it should lookup 安之若. it won't find results
then it should lookup 安之若素 and add the match (1 found) on that to the result
then it should lookup 安之若素 的 it won't find results
then it should lookup 安之若素 的意 it won't find results
being at the end of the context forward, it should return
results will contain 3 homonyms, the two found for 安 and the 1 found for 安之若素
the target word of each homonym should match the target that was actually found
so homonym 1 has target word 安
homonym 2 has target word 安
homonym 3 has target word 安之若素

We need to decide about multiple homonyms first


Raspberry Pi 4 support

Support Raspberry Pi 4 (ARMv8).
Checklist

[x] OpenGL ES (3.1) (#740)
[x] SIMD adaption via sse2neon
[x] Alternative AES-NI StrongHash implementation, as it's not supported on Raspberry Pi's ARM CPU's (#1028)

@christianparpart Just for verification, do we have a confirmation that this indeed works, by someone who actually tried on an RPi? I don't have such a hardware but I could try asking a colleague to do so, if needed.

I can also confirm it compiles on a non developer Rpi 4

There are not many opengl terminal options on the RPI 4 where the latest branch is working without modifications. Thanks for your work on this.


Write .github/CODE_OF_CONDUCT.md

To invite other contributor, there must be CODE_OF_CONDUCT.md. isn't it?
Documents for CODE_OF_CONDUCT.md

https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-code-of-conduct-to-your-project#:~:text=Before adopting a,to enforce it.
なんか難しそうだと感じてしまったんだけど、本当にやるべきかな…？


Missing description of the step to create the secret for the app registration

I think you're missing the description of the step to create the secret for the app registration before this step here: https://github.com/Azure/Azure-Governance-Visualizer-Accelerator?tab=readme-ov-file#7-create-the-github-secrets-variables-and-permissions
Let me know if you agree and I'll make a PR (with this + other typos I found on the page)
Cheers

Solved in PR https://github.com/Azure/Azure-Governance-Visualizer-Accelerator/pull/21


Update rush version, upgrade Node.js GA action version, remove Node 1…

Changes

Remove Node 12 repository support.
Update Rush version to have rush-pnpm available.
Upgrade Node 16 for CI builds.
Added .nvmrc to make it less of a pain for maintainers.

Closes #1093 (See for more info)
Note for existing maintainers
Run:

rush version
Re-run npm install --global @microsoft/rush
try rush-pnpm audit or some other command

Thanks for your pull request. Is this your first contribution to a Snowplow open source project? Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
:memo: Please visit https://docs.snowplowanalytics.com/docs/contributing/contributor-license-agreement/ to learn more and sign.
Once you've signed, please reply here (e.g. I signed it!) and we'll verify. Thanks.

If I'm being nitpicky, I'd perhaps shorten this commit name a little but that might just be me. "Upgrade Node.js and rush versions" is probably descriptive enough.


Intermittently get NoSuchConnectionException while using a jdbc client on a micro instance

Please provide a detailed title (e.g. "Broker crashes when using TopN query with Bound filter" instead of just "Broker crashes").
Affected Version
0.22.0
Description
Running a druid micro instance.   I'm using the avatica jdbc driver (1.18.0) on the client side to make SQL queries to druid.
About 50% of the calls result in an "UncategorizedSQLException" on the client.  On the druid side, there is this exception:
[org.apache.calcite.avatica.NoSuchConnectionException
	at org.apache.druid.sql.avatica.DruidMeta.getDruidConnection(DruidMeta.java:590)
	at org.apache.druid.sql.avatica.DruidMeta.createStatement(DruidMeta.java:139)
	at org.apache.druid.sql.avatica.DruidMeta.prepare(DruidMeta.java:150)
	at org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:195)
	at org.apache.calcite.avatica.remote.Service$PrepareRequest.accept(Service.java:1215)
	at org.apache.calcite.avatica.remote.Service$PrepareRequest.accept(Service.java:1186)
	at org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:94)
	at org.apache.calcite.avatica.remote.JsonHandler.apply(JsonHandler.java:52)
	at org.apache.calcite.avatica.server.AvaticaJsonHandler.handle(AvaticaJsonHandler.java:133)
	at org.apache.druid.sql.avatica.DruidAvaticaJsonHandler.handle(DruidAvaticaJsonHandler.java:59)
	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:59)
	at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:179)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.Server.handle(Server.java:516)
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388)
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:383)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:882)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1036)
	at java.lang.Thread.run(Thread.java:748)
]

The SQL queries are simple and they work about 50% of the time.    Also using Spring Hikari connection pool, if that matters.

The cause of this exception (at least in my case) was connection timeouts on the Druid side. If you execute a query, then idle for a few minutes and execute the same query again, the exception is thrown.
The solution when using the Hikari Connection Pool is quite simple. You have to set keepaliveTime for the connection pool, e.g. keepaliveTime=30000.
See also Spring Boot property: spring.datasource.hikari.keepalive-time

Hello. I'm having the same issue and even setting the keepalive-time it's failing after 4 minutes of idle time. I guess this is linked to the unusedConnectionTimeout.
I do however see the keepalive working on my second connection.
2023-10-18T17:24:16.753+02:00 DEBUG 18188 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Pool stats (total=5, active=0, idle=5, waiting=0)
2023-10-18T17:24:16.754+02:00 DEBUG 18188 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Fill pool skipped, pool has sufficient level or currently being filled (queueDepth=0).
2023-10-18T17:24:20.002+02:00 DEBUG 18188 --- [l-2 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-2 - Pool stats (total=5, active=0, idle=5, waiting=0)
2023-10-18T17:24:20.002+02:00 DEBUG 18188 --- [l-2 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-2 - Fill pool skipped, pool has sufficient level or currently being filled (queueDepth=0).
2023-10-18T17:24:26.452+02:00 DEBUG 18188 --- [l-2 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-2 - keepalive: connection org.apache.calcite.avatica.AvaticaJdbc41Factory$AvaticaJdbc41Connection@52f0bb54 is alive
2023-10-18T17:24:29.238+02:00 DEBUG 18188 --- [l-2 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-2 - keepalive: connection org.apache.calcite.avatica.AvaticaJdbc41Factory$AvaticaJdbc41Connection@36919a6d is alive
2023-10-18T17:24:30.369+02:00 DEBUG 18188 --- [l-2 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-2 - keepalive: connection org.apache.calcite.avatica.AvaticaJdbc41Factory$AvaticaJdbc41Connection@652279f0 is alive
2023-10-18T17:24:31.113+02:00 DEBUG 18188 --- [l-2 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-2 - keepalive: connection org.apache.calcite.avatica.AvaticaJdbc41Factory$AvaticaJdbc41Connection@190ba0b6 is alive
2023-10-18T17:24:32.424+02:00 DEBUG 18188 --- [l-2 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-2 - keepalive: connection org.apache.calcite.avatica.AvaticaJdbc41Factory$AvaticaJdbc41Connection@b89cbf9 is alive
2023-10-18T17:24:46.825+02:00 DEBUG 18188 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Pool stats (total=5, active=0, idle=5, waiting=0)
2023-10-18T17:24:46.826+02:00 DEBUG 18188 --- [l-1 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Fill pool skipped, pool has sufficient level or currently being filled (queueDepth=0).
2023-10-18T17:24:50.075+02:00 DEBUG 18188 --- [l-2 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-2 - Pool stats (total=5, active=0, idle=5, waiting=0)
2023-10-18T17:24:50.075+02:00 DEBUG 18188 --- [l-2 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-2 - Fill pool skipped, pool has sufficient level or currently being filled (queueDepth=0).
2023-10-18T17:24:54.356+02:00 DEBUG 18188 --- [l-2 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-2 - keepalive: connection org.apache.calcite.avatica.AvaticaJdbc41Factory$AvaticaJdbc41Connection@52f0bb54 is alive
2023-10-18T17:24:57.357+02:00 DEBUG 18188 --- [l-2 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-2 - keepalive: connection org.apache.calcite.avatica.AvaticaJdbc41Factory$AvaticaJdbc41Connection@36919a6d is alive
2023-10-18T17:24:58.540+02:00 DEBUG 18188 --- [l-2 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-2 - keepalive: connection org.apache.calcite.avatica.AvaticaJdbc41Factory$AvaticaJdbc41Connection@652279f0 is alive
2023-10-18T17:24:59.370+02:00 DEBUG 18188 --- [l-2 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-2 - keepalive: connection org.apache.calcite.avatica.AvaticaJdbc41Factory$AvaticaJdbc41Connection@190ba0b6 is alive
2023-10-18T17:25:00.905+02:00 DEBUG 18188 --- [l-2 housekeeper] com.zaxxer.hikari.pool.HikariPool        : HikariPool-2 - keepalive: connection org.apache.calcite.avatica.AvaticaJdbc41Factory$AvaticaJdbc41Connection@b89cbf9 is alive

At some point I also thought there was an issue with the connection's stickiness but the druid i'm using only has a single broker.

I was seeing the same exception while using a HikariCP pool to query Druid. The fix that worked for me was decreasing the maxLifetime set in my HikariConfig. I had it set to 15 min, and I noticed when I increased it the connection still failed at the 15 minute mark. I believe there's some other connection time limit equal to 15 min that is enforced on the druid server-side. When my maxLifetime was equal or greater than the druid limit, my HikariCP instance would continue trying to use the same connection after it's expired on the server side and druid would respond with a NoSuchConnectionException. Lowering the maxLifetime forces the connection to be replaced in the pool before the server-side connection time limit is hit.
I originally saw this issue while debugging for long periods of time after the connection had been established. I thought it was related to the long idling of the connection while debugging but then I saw it happen while I was running tests that continuously queried druid for over 15 minutes in which case the connection was never idol.

We need to set transparent_reconnection flag in jdbc uri at client side, https://github.com/apache/druid/blob/f4856bc1c1d96e080bcfbb3b8d869598b3802522/docs/api-reference/sql-jdbc.md?plain=1#L33


Auto Commenting when a PR is merged

This feature aims to solve the problem of inconsistent and delayed communication following the merging of PRs. By automating the commenting process, it ensures that contributors receive timely feedback and acknowledgments. It also reduces the administrative burden on maintainers, allowing them to focus more on code reviews and other critical tasks.
Could you please assign me this issue under GSSOC'24.

@suhanipaliwal  will you please assign this to me ASAP because i am GSSOC'24 contributor and interested to work on it


[Event Request] Database::"Sales Header" - Function "Posting Date" - OnValidate - OnValidatePostingDateOnBeforeCheckCurrencyCode

We like to request the following Event:
Object: Database::"Sales Header"
Function: "Posting Date" - OnValidate
Publisher Event: OnValidatePostingDateOnBeforeCheckCurrencyCode
Reason: To implement custom business logic
Where is the event placed:
IsHandled := false;
OnValidatePostingDateOnBeforeCheckCurrencyCode(Rec, Confirmed, IsHandled);
if not IsHandled then
if "Currency Code" <> '' then begin
UpdateCurrencyFactor;
if "Currency Factor" <> xRec."Currency Factor" then
ConfirmUpdateCurrencyFactor;
end;
if "Posting Date" <> xRec."Posting Date" then
if DeferralHeadersExist then
ConfirmUpdateDeferralDate;
SynchronizeAsmHeader;
Event Code:
[IntegrationEvent(false, false)]
local procedure OnValidatePostingDateOnBeforeCheckCurrencyCode(var SalesHeader: Record "Sales Header"; var Confirmed: Boolean; var IsHandled: Boolean)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Make graphs for integer variables only group into integer categories

For instance: https://www.sleepdata.org/datasets/cfs/variables/alcohday (even though this is numeric now, an integer variable would do the same)
Ideally bars would be shown for 0 days, 1 day, 2 days, etc.

Another example:
https://sleepdata.org/datasets/chat/variables/pedsql_emotional_nmiss_chld


fix: add buffer

Adds buffer related to https://github.com/ipfs/js-ipfs/issues/2924
Uses multibase to encode.

Let me fix the linting issue.

@jacobheun You've done releases in the past, so I leave the merge and release to you :)

Released in v0.4.16


Update condition for isDisabled and isMandatory properties

Fix Cannot patch latest release when only setting --disabled false issue
Related issue: 1820

LGTM. This PR also fixes a bug when a codepush patch changed release to enabled state if it was disabled before and patched with no --disabled flag specified. With this fix the release keeps the old value for enabled and mandatory flags if they were no specified 👍


How are flops (floating point operations) calculated in this article?

Hello, how are flops (floating point operations) calculated in this article? Where can I see it? Is it different from the way other codes calculate?I am very interested in your article, so I may ask a little too many questions, please understand.

Are you referring to this article? If so, this is a tutorial on how to calculate the rcomplexity of a given method using the flops measured by the code. It is not different from the code. Can you please clarify the question?


[Bug] [krun] - Rule application doesn't respect priority attribute when applying on a cell with copies

K Version
$ kompile --version

K version:    5.3.0
Build date:   Mon Jul 04 14:48:51 CDT 2022

Description
Rule application doesn't seem to respect the priority attribute when applying on a configuration with some form of multiplicity.
Input Files
Definition file (named priorities.md):
module PRIORITIES
  imports DOMAINS

  syntax Pgm ::= "addCell"
               | "foo"
               | "bar"
               | "buzz"
               | Pgm Pgm [right]

  configuration <cells>
                  <cell multiplicity="*" type="Map">
                    <id> 0 </id>
                    <k> $PGM:Pgm </k>
                  </cell>
                </cells>
                <order> .K </order>

  rule <k> addCell => .  ... </k>
       <id> Id </id>
       (.Bag => <cell>
                  <id> Id +Int 1 </id>
                  <k> foo </k> ...
                </cell> )

  rule P1:Pgm P2:Pgm => P1 ~> P2

  rule <k> foo => buzz ... </k>
       <order> . => ListItem(foo) ... </order>

  rule <k> bar => buzz ... </k>
       <order> . => ListItem(bar) ... </order> [priority(250)]

endmodule

Program file (named test.priorities):
addCell bar

Reproduction Steps
kompile priorities.md followed by  krun test.priorities.
Expected Behavior
When run, the order cell contains ListItem ( foo ) ~> ListItem ( bar ) ~> ., indicating rule that rewrites bar to buzz, with a lower priority (indicated by attribute priority(250)) fired before the rule that rewrite foo to buzz with higher (default) priority.
Expect rule with lower priority to fire last, i.e., rewrite bar => buzz to occur after rewrite foo => buzz.

@dwightguth Is this the check you're referring to?

Fixed by https://github.com/runtimeverification/llvm-backend/pull/587


fix: launchTestNode multiple contracts type inference

closes #2754

Summary
Contracts inferred from an array of factories were inferred as a discriminated union of all factory contract returns instead of matching the sequence of contract factories in the contractConfigs array:
using launched = await launchTestNode({
  contractsConfigs: [
    { deployer: AdvancedLoggingAbi__factory, bytecode: '' },
    { deployer: CallTestContractAbi__factory, bytecode: '' },
  ],
});

const {
  contracts: [c1, c2],
} = launched;

// before: c1 and c2 are both AdvancedLoggingAbi | CallTestContractAbi
// after: c1 is AdvancedLoggingAbi, c2 is CallTestContractAbi

Checklist

[ ] I added — tests to prove my changes
[ ] I updated — all the necessary docs
[x] I reviewed — the entire PR myself, using the GitHub UI
[ ] I described — all breaking changes and the Migration Guide

Are you using the AdvancedLogging contract 2 times intentionally on the test case?

There's no real intention behind it, it could've been some other contract as well. It's important the first is different from the second, the third is sugar on top.


Data function must have at least one argument: the subdirectory.

meson.build:
project('proj', 'c')
subdir('data')

data/meson.build:
install_data(sources : 'durka.manager',
             install_dir : 'share/telepathy/managers')
install_data(sources : 'org.freedesktop.Telepathy.ConnectionManager.durka.service',
             install_dir : 'share/dbus-1/services')

meson ..:
Meson encountered an error in file data/meson.build, line 1, column 0:
Data function must have at least one argument: the subdirectory.

Is this with git trunk or release version? In Git this should work (test case 12), this has changed since the last release AFAICR.

I have latest released version (0.22.0)

In the old version you need to do the following:
install_data('telepathy/managers', sources : 'durka.manager')
As you can tell this is very confusing and backwards, which is why this was changed to the more usable new syntax.

ah. I see.
https://github.com/jpakkane/meson/commit/99bb73e6c96655fe335dbeca6ae2f8dc7986d213
I'll backport this commit to fedora package


[Snyk] Security upgrade pillow from 6.2.2 to 8.1.0

Snyk has created this PR to fix one or more vulnerable packages in the `pip` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

requirements.txt

⚠ Warning
jsonschema 3.2.0 requires pyrsistent, which is not installed.

Vulnerabilities that will be fixed
By pinning:

Severity
Priority Score (*)
Issue
Upgrade
Breaking Change
Exploit Maturity

589/1000  Why? Has a fix available, CVSS 7.5
Buffer Overflow SNYK-PYTHON-PILLOW-1055461
pillow:  6.2.2 -> 8.1.0
No
No Known Exploit

589/1000  Why? Has a fix available, CVSS 7.5
Buffer Overflow SNYK-PYTHON-PILLOW-1055462
pillow:  6.2.2 -> 8.1.0
No
No Known Exploit

509/1000  Why? Has a fix available, CVSS 5.9
Heap-based Buffer Overflow SNYK-PYTHON-PILLOW-1059090
pillow:  6.2.2 -> 8.1.0
No
No Known Exploit

414/1000  Why? Has a fix available, CVSS 4
Out-of-Bounds SNYK-PYTHON-PILLOW-574573
pillow:  6.2.2 -> 8.1.0
No
No Known Exploit

414/1000  Why? Has a fix available, CVSS 4
Out-of-bounds Read SNYK-PYTHON-PILLOW-574574
pillow:  6.2.2 -> 8.1.0
No
No Known Exploit

414/1000  Why? Has a fix available, CVSS 4
Out-of-bounds Read SNYK-PYTHON-PILLOW-574575
pillow:  6.2.2 -> 8.1.0
No
No Known Exploit

414/1000  Why? Has a fix available, CVSS 4
Out-of-bounds Read SNYK-PYTHON-PILLOW-574576
pillow:  6.2.2 -> 8.1.0
No
No Known Exploit

469/1000  Why? Has a fix available, CVSS 5.1
Buffer Overflow SNYK-PYTHON-PILLOW-574577
pillow:  6.2.2 -> 8.1.0
No
No Known Exploit

(*) Note that the real score may have changed since the PR was raised.
Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the effected dependencies could be upgraded.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

:x: Build ebook_homebrew 1.0.639 failed (commit https://github.com/tubone24/ebook_homebrew/commit/2f2af9767e by @snyk-bot)


Move prometheus_ready metric to web package

This moves prometheus_ready to the web package and links it with the ready variable that decides if HTTP requests should return 200 or 503.
This is a follow up change from #10682
Signed-off-by: Łukasz Mierzwa<EMAIL_ADDRESS>

@roidelapluie

Thanks!

Nice!


Update pen line code to that used in scratch-render

This code is a bit ugly, but necessary to work around really bad floating-point precision in some mobile GPUs.
This was taken from scratch-render, but given that it's entirely my code, I don't expect any licensing issues.

When I try to run a project using pen, this is what I get.

I knew something was fishy when I tested out and it seemed to work on the first try...apparently I was importing the unpkg version in the test project I used. Try it again; it should work properly now.

I knew something was fishy when I tested out and it seemed to work on the first try

Always spooky. 👻


Create canon-3-genesis.json

Description
closes: #XXXX

Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...

[ ] included the correct type prefix in the PR title
[ ] added ! to the type prefix if API or client breaking change
[ ] added appropriate labels to the PR
[ ] targeted the correct branch (see PR Targeting)
[ ] provided a link to the relevant issue or specification
[ ] added a changelog entry to CHANGELOG.md
[ ] included comments for documenting Go code
[ ] updated the relevant documentation or specification
[ ] reviewed "Files changed" and left comments if necessary
[ ] confirmed all CI checks have passed

Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...

[ ] confirmed the correct type prefix in the PR title
[ ] confirmed all author checklist items have been addressed
[ ] reviewed state machine logic
[ ] reviewed API design and naming
[ ] reviewed documentation is accurate
[ ] reviewed tests and test coverage
[ ] manually tested (if applicable)

@abdulgig  May be can you make folder like this  and I think we don't need canon-2 anymore , you can delete that
networks/
  - canon
      - 2
         - genesis.json
         - README.md
         - peers.txt
     - 3
        - genesis.json
        - README.md
        - peers.txt

Not relevant now as canon-3 is already history !!!


adding contributors to readme

@all-contributors please add @smacke  for infrastructure, tests and code
@all-contributors please add @ruiduoray  for infrastructure, tests and code

@all-contributors please add @smacke for infrastructure, tests and code

@all-contributors please add @ruiduoray for infrastructure, tests and code

@all-contributors please add @ruiduoray for infrastructure, tests and code


Add option to force Gemini scrollbars

Add option to force Gemini scrollbars even if native overlay-scrollbars are available.

Nice! Thanks.


Publishing artifacts to Maven Central?

Does anyone know who published the JTK to Maven Central, and how we can go about getting it updated with the current version? The one there is from 14-Dec-2015.
http://search.maven.org/#artifactdetails|edu.mines.jtk|edu-mines-jtk|1.0.0|jar

See https://github.com/dhale/jtk/commit/ad2d0619643fd70d99d180104a8add2b4231c029

I'm guessing @dhale did that? I'm not sure, but I agree we need to go ahead and get that updated.

I did that. I do not remember the details but recall learning the process required for MavenCentral from online docs. My computer while on trail is my iPhone and I type slowly with my thumbs when I get service. I do remember adding something to the gradle build to automate this. I think you need a sonatype account. I will be in Silver City Thursday and Friday. If Chris or Craig want to call me send private email and I will provide my number.

It's not urgent so please enjoy your day off. I gather there is a key used to sign the jar and sonatype login credentials. I think our goal should be to get this rolled into the Mines JTK organization along with a proper ci/cd pipeline. I suspect Chris knows how much of this is possible and how we get started migrating to the github organization, if that is what we want to do.
p.s. ricko observed that you've completed your first degree of latitude. 16.5 more to go!

We can use the gradle scripts to generate the appropriate pom to upload to Nexus, and from there it can be as simple as uploading the goods using curl.
This does raise another question regarding releases. Right now, the JTK is sort of a continuum - should we start giving thought to segmenting out official releases? Then we can also set the releases here.


Switch to official php image and php 7

This was done a long time ago

no it wasn't, liar.

how did I have an old version of this locally?  ugh

what a mess :)

php storm had this ancient version in my "recent projects" list and it took me a little bit to figure out what the hell was up:)


Enable GitHub Pages

User Story: As a website owner, I want to set up a GitHub Pages site to publish my website so that I can easily host my website and make it accessible to anyone with an internet connection.
Description: Enabling GitHub Pages allows you to host a website directly from your GitHub repository.

Need to actually scope effort here

Are you referring to the t-shirt sizing or something else?

Correct. Once we decide what the value of our points are, can allocate a size to this task.

Dina had already set our code pushes to mainline to just go to GitHub pages. So this is done. The source repo already had a static.yml file for basic deploy to pages. https://github.com/NJIT-WIS/mywebclass-simulation/blob/master/.github/workflows/static.yml


Fix logging statements: duration logging statement should be wrapped …

Found some error prone logging statements like below:
https://github.com/kubernetes-sigs/kubefed/blob/01b9e5c1a4f1144c6a63c182b0f760eec30db57e/pkg/controller/ingressdns/controller.go#L210-L212
The 'time.Since(...)' in the defferred statement will be immediately evaluated instead of being evaluated when this statement is executed.
What this PR does / why we need it:
Wrapping the logging statement in a function to solve this issue.

I signed it

retry

Good catch! Apologies for the ci flakes, we in the process of #1084.
/approve
/lgtm


update E section for version tag and format explanation

explain the version tag

I close this PR. Replaced by #79


Display submitter name rather than cryptic id in admin

In approving resources, knowing who the submitter is is valuable. We currently only see a 4-digit id, but it would be ideal to see the name and/or email address.

If this isn't doable before launch, At minimum, it would be good to get a list of users emails and ids (though this would get outdated after public launch)

Should I resolve this on the 25th of this month to mark the two-year anniversary of this issue? :)

@monika-aashe - Would you prefer name, email, or both to be displayed?

Given a choice I would go with both, but I will take whichever is simplest to include. Thanks!


Bump react-portal to v4.1.0

I removed 2 tests since isOpened prop doesn't exist anymore.

Coverage remained the same at 86.707% when pulling 1159c62b5fd97cdb65393ad05ce01c3be20bc95a on tajo:react-portal-4.1.0 into f0eff4f99801a97fd4d9aedd52e9b88ffe85efe7 on airbnb:master.

also closes #860

v3's <Portal isOpened> = v4's <Portal> .
I think it's more common to show/hide part of UI this way (also one less prop to document):
bool && <Foo />

than
<Foo active={bool}/>

There was no technical reason why not to use the first case, thus the change in v4.


Full names

How can i make the dashboard use full name and not abreviation for fist name + last name?

In simhub Dynleaderboards -> Dynamic leaderboards chose gaps leaderboard and on the bottom in properties for each driver turn on FullName and restart simhub, than in gaps-overlay-src.js file in function driver_Name in line 45
change
  function driver_Name(position) {
    const teamName = /(\s*\|\s*.+)|(\s*\[.+\]\s*)$/;
-   return DynLeaderboardsPluginProp(leaderBoardName, position, "Driver.1.InitialPlusLastName").replace(teamName, "");
   }

to
  function driver_Name(position) {
    const teamName = /(\s*\|\s*.+)|(\s*\[.+\]\s*)$/;
+   return DynLeaderboardsPluginProp(leaderBoardName, position, "Driver.1.FullName").replace(teamName, "");
  }

It works. Thank you very much.


Installation from AppImage always results in default project load error message

Prerequisites

[X ] Is this Brackets-Electron specific problem (did you test it with latest brackets build)?

Description
When you install Brackets Electron from the AppImage, it always mounts in a local file system from /tmp. If you haven't already opened a project, then Brackets tries to load the default starter package and returns an error message because it cannot figure out how to do so from the temporary file system.
Versions
Linux 1.8.2
Steps to Reproduce

Install from AppImage
Run app
observe the error message that it cannot find the default project

Expected behavior: the default project Getting Started should load
Actual behavior: Error message as below:

This is issue for all platforms. I didn't figure out yet what folder should open by default after first start.

ah... my vote is to remove the Getting Started as a default. Maybe create a default extension that adds a "Getting Started" menu item that loads it but don't have it always come up by default. This default Getting Started has been the source of many issues over the years and is of marginal value imo

I agree. The sample project doesn't load on the OSX build either at the
moment. I like the idea better to create an extension that provides the
menu entry.
On Sun, Sep 4, 2016 at 07:54 Andrew MacKenzie<EMAIL_ADDRESS>wrote:

ah... my vote is to remove the Getting Started as a default. Maybe create
a default extension that adds a "Getting Started" menu item that loads it
but don't have it always come up by default. This default Getting Started
has been the source of many issues over the years and is of marginal value
imo
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/zaggino/brackets-electron/issues/66#issuecomment-244607875,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAFQxizAOmlPVWeKeb3n1FSGJzimQTEEks5qmtulgaJpZM4J0jOo
.

--
[image: --]
Ingo Richter
[image: https://]about.me/ingorichter
https://about.me/ingorichter?promo=email_sig

:+1:

This should be now fixed in https://github.com/zaggino/brackets-electron/releases/tag/v1.8.2
Please re-open if that's not the case. Thanks!


[PRD | Issue #2616] update sentry button styles

Closes #2616
Screen shot

Do you have a screenshot of this @Da-Colon?

Do you have a screenshot of this @Da-Colon?

yep oops


[sclability] Relax the expectations.

What type of PR is this?
/kind bug

What this PR does / why we need it:

Extend the admission time for large workloads
Only check the average mCPU usage of minimalkueue (not sys and user times)
Extend the runner's timeout to 8 min

Which issue(s) this PR fixes:

Fixes #2066
Special notes for your reviewer:
Does this PR introduce a user-facing change?

None

/cc @mimowo

Since mCPU is just a transformation of the existing checks for system and user, we can assume this as not adding or removing anything.
In the future, I would like to remove the measurement of cpu entirely, as it doesn't directly map to user-perceived performance.
/lgtm
/approve


Fix onevnet provider for dns and network_mask

This fixes the onevnet provider for setting dns and network_mask (parameter names didn't match; also needs to create a space separated array of dns servers).  Also fixes an issue with string.to_a for ruby > 1.9.

This is all set and ready for merge.

@tuxmea : please have a look at this, you are the one who wrote the types/providers initially :smile:

looks good to me


Error renaming foldername

Installed a fresh copy Grav v1.7.22 (with Admin), no custom configuration.
Updated all plugins
Create page => testpage
I want to rename the folder, I get an error:
Failed to save entry: Flex saveRow(03.testpage33|default): Flex moveFolder(user/pages/03.testpage, user/pages/03.testpage33): Cannot move folder to itself
Have a look at the screencast
https://user-images.githubusercontent.com/12153667/133779809-1da947e0-51f4-46c7-8e17-8b397b26aeaf.mp4

@awrog Moved the issue to Grav and fixed the bug. See the above commit to test the fix. :)


M3-4272: CMR Table Styles for Account Users

Description
CMR Table Styles for Account > Users
Type of Change

Non breaking change ('update', 'change')

I believe I can get rid of the static docs in UsersLanding_CMR.tsx as I didn't see where that was really being used in the regular UsersLanding.tsx file, but I have it commented out pending additional confirmation.
Also, this looks less than ideal with the button and username wrapping:

@WilkinsKa1 @tiffwong do we have a pattern to prevent the button wrapping already? And to deal with the username wrapping, should I maybe hide the "Email Address" column?

I believe I can get rid of the static docs in UsersLanding_CMR.tsx as I didn't see where that was really being used in the regular UsersLanding.tsx file, but I have it commented out pending additional confirmation.
Also, this looks less than ideal with the button and username wrapping:

@WilkinsKa1 @tiffwong do we have a pattern to prevent the button wrapping already? And to deal with the username wrapping, should I maybe hide the "Email Address" column?

@DevDW you can do flex-wrap: nowrap but in this case, all you need to do is remove the width: 100% from addNewWrapper and that should fix it
For the username wrapping, options could be to remove the icon, truncate the email or hide the email like you mentioned


update operator to use latest server and protos

For now, operator has to be built and pushed locally - make docker-buildx - this will push it to docker hub.


Add operations for NetworkPort

Added update and delete operations to NetworkPort in order to expose it in Automate engine

@blomquisg I'm not sure what would be a best practice with passing options to the update and raw_update. Should I use _options in both methods? Also should I use options into the update's body like this:
def update_network_port(options={})
  raw_update(options)
end

According to https://github.com/ManageIQ/manageiq/pull/15720#issuecomment-320034194 we're not going to do this


Created quickstart page, added icon troubleshooting.

Created the basic structure of the quickstart page and created icon troubleshooting in the troubleshooting section.

Closed pull request in order to recreate the pull request with conventional commit messages.


Clicks stop working on mobile device / Cordova

Hi jessedvrs,
I am using your great carousel Angular plugin in a personal Cordova project and I faced an issue that turned me crazy for a while! In a nutshell, I have a specific view that contains the carousel. When I enter that view and then leave it to go back on the main view, clicks have no effects anymore, the application seems to have crashed. I thought at first it was a kind of Cordova/JS silent error.  After many hours, I figured out that the two lignes of code $document.off(pressEvent) and $document.off(releaseEvent) in the destroy function were making the mobile webview to stop listening for click events. Thus, I quick fixed my issue by commenting those two lines.
I do not know if I implemented the carousel the good way and if I am the only one who experienced that, but I wanted to share it with you. Note that i do not have the problem on a desktop web browser.
Max

Hi Max
I think i am facing a similar kind of issue. The carousel works completely fine the first time i visit the page on device. Both the click and swiping left and right works. But then if i go to another page and come back, the swiping doesn't work but the click works. I have not found a solution yet. I will try your solution and see if its gonna make it work or not.


Running fsharpqa tests results in files being added to unstaged list

Observed:
After running fsharpqa tests there are ~42 files that appear in the unstaged list. Something like 39 dlls, an exe and a pdb.
Expected:
The same number of unstaged files before and after an fsharpqa test run.
Possible fix:
We could ignore all dlls, exes and pdbs below tests/fsharpqa, like this. However, nearby lines in the .gitignore are much more focused. Assuming we want to address this, should we do it in a broad way (like the link) or in a focused way? If we choose the broad way would we remove the focused lines since the ** will handle those cases?
Thanks,
Brody

It looks to be safe to ignore *.exe and *.pdb from tests\fsharpqa\source (there are checked-in EXEs at tests\fsharpqa\testenv\bin)
Right now there are some checked-in DLLs that are used for fsharpqa tests (some are managed, others are native).  From a quick check, the majority have their source code checked in next to them, and for those cases it would be great if we did the work to compile on the fly so that checked-in DLLs are not needed.

closing old discussion (please send a PR to update .gitignore if you see this happening)


[WIP] Support cuSparse functions for matrix conversion added in CUDA 11.2

This PR adds support for new cuSparse functions for matrix conversion, cusparseDenseToSparse() and cusparseSparseToDense(), added in CUDA 11.2. The cuSparse function, cusparseXdense2csr(), used in CuPy currently have a problem with incorrect results for some matrix sizes. The new functions solve that problem.
This is related to https://github.com/cupy/cupy/issues/3223

[ ] support CSC format
[ ] add tests

Are you going to change code using cupy.cusparse.dense2csr with DenseToSparse in this PR? (Just wanted to understand the scope of this PR 😄 )

The cuSparse function, cusparseXdense2csr(), used in CuPy currently have a problem with incorrect results for some matrix sizes.

Is this problem specific to dense2csr, or affects dense2csc as well?
I'm curious how likely this hits the actual use-cases of users. Do you think it's worth documenting it?

Ah, sorry I overlooked the issue you referred 😅

This is related to #3223

Are you going to change code using cupy.cusparse.dense2csr with DenseToSparse in this PR? (Just wanted to understand the scope of this PR 😄 )

Yes, I'm going to change the code using traditional APIs with DenseToSparse (and SparseToDense) in this PR.

Jenkins, test this please.

Jenkins CI test (for commit 0da21e38de9423891646baeec0a5c7cef9ec7804, target branch master) succeeded!

LGTM!


”Daia”, ”Nou”, ”Nucet” are listed in the drop-down menu

Description:
When user writes ”Daia”, ”Nou”, ”Nucet” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Daia"

Expected results
The location appears in the drop-down menu as "Sat Daia, SIBIU (Roșia)".

Step 3
Write in the search bar "Nou"

Expected results
The location appears in the drop-down menu as "Sat Nou, SIBIU (Roșia)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Nucet"

Expected results
The location appears in the drop-down menu as "Sat Nucet, SIBIU (Roșia)".


Add social image and description for node.js site

Add framework social image and description for the node.js framework.dev site.
Background
As an user I would like to have the possibility to share the site on social media and for it to have a nice image and description defined, so that it will increase its visibility and shareability
Acceptance

[x] Add metadata description
[x] Add social image
[ ] Test the site on "https://socialsharepreview.com/"

Instructions
Designers provided instructions on how to create the images based on a template in Figma. You can find a tutorial video below along with links to the relevant sections in Figma. Let me know if you are missing access and we'll get it for you.
Loom tutorial
Open graph image
Hero Graphic
Logos
Color seeds to build a theme

This issue is addressed in Morgan's PR #360

@jnalei we can wait to close this once my PR's merged and verified to be working correctly.

Facebook and LinkedIn

Twitter
Still broken

The validator still says that there isn't an image, but because the og:image fallback works, this is passable.


memory keep grow after I place a modal on a plane and do nothing in some android devices

 It will lead to an ANR at last ~

Bump: Also seeing this issue


Search by shares jail works incorrect

ocis: Infinite Scale 2.0.0-beta.4
Steps:

admin creates folder "f1" and shares to marie
marie acceptes incomming folder and tries to find "f1" in search line

Actual: folder was found, but with the wrong name. After clicking on the folder, you go to your personal space at home and there is nothing there

I took a look and the REPORT response seems to be fine. I think this might be a web regression introduced with the share jail. @JanAckermann can you verify that?


Generate 1 token to verify the health of the inference service in /health

Motivation
#853
Modification
Call generate in /heath.
Checklist

[x] Before submitting a PR for review, make sure it has passed verification in your local development environment at least.
[x] Ensure pre-commit pre-commit run --all-files or other linting tools are used to fix potential lint issues.
[ ] Confirm that modifications are covered by complete unit tests. If not, please add more unit tests for correctness.
[ ] Modify documentation as needed, such as docstrings or example tutorials.

It would be better to write a test case for this URI to verify whether it meets expectations when it is genuinely available and when it is not.

Honestly, I tried, but I don't know how to simulate a failure that keeps the inference service down without affecting the web service to verify the /health.
I tried causing exceptions, but the service quit immediately. Then I reverted the code to v0.2.5, then raise an Exception at the same line as #853, but it still quit immediately.
Maybe I need some help about the unittest. >_<

Maybe you can use pytest.raises?

I needed this feature. We've been using POST /v1/completions {"model":" ","prompt":" ","max_tokens":1} for custom health check endpoint for autoscaler/autohealer at our infra. Once this merges, we can finally and reliably use GET /health (or /v1/health) for health checking.
One little concern is under high load, /health could timeout even if it is actually running. Maybe in the future, we can design sophisticated health check logic without needing to actually run the inference? but I think it's a good start.

@vhain Yeah, I have considered this. Maybe for healthcheck (livenessProbe in k8s), we could set a long timeout, and for load banlance ready check (readinessProbe in k8s), we could set a short timeout.
I thought that both timeout should be determined based on various factors such as different model, devices and context lengths, which making it difficult to find a fixed value.
Could you share some insights or experiences regarding timeout?

@LucienShui I think I need your insight as well 😅 I think we can set distinct timeout for each hardware config, and model settings as you mentioned.
In our case, we've been just constantly monitoring the latency for 1 token generation, and found the p95 to be around 5s, so we've set the timeout to 10s. However turned out sometimes it was not enough, so we just bumped up to 30s.
If it's taking more than 30s to generate 1 token, it's bad anyways, so we have the health check to trigger our autoscaler to scale out. If it's timing out for over threshold iterations (currently 2), we mark the instance unhealthy and replace it with the new one.
I think there is no right or wrong answer for LLM backend autoscaling/autohealing at the moment, as things are pretty in early stage.

@LucienShui I actually got an idea. Maybe we can add a periodic check (1 token generation; for every 10s or so - configurable by server args), running inside of the SGLang itself, cache the result, and use it for /health serving?
This way we can make sure that calling /health multiple times does not hurt, also it responds very quickly.

@vhain I have considered this approach, but it has the following issues:

The health check results might represent a historical health status under high load.
If let user control the internal loop interval, it would be better to let the user decide the health check interval directly.
Additionally, its implementation and runtime complexity are higher.

Great discussions! Can we merge this first and iterate on better designs in follow-up PRs?
For this PR, please create a separate endpoint and we can merge it.

@merrymercy Yeah, sure! I'm glad it can be merged.
I'll trying to add some test cases in another PR.

@LucienShui Thanks for your contribution!


Bump up fluent-operator to 2.3.0, fluent-bit to 2.1.4 and g/logging to 0.55.3

/area logging
/kind enhancement
This PR brings following logging stack updates:

fluent-bit is now updated from 2.0.9 to 2.1.4 - release notes
fluent-operator is now updated from 2.2.0 to 2.3.0 - release notes
gardener/logging is now updated from 0.55.2 to 0.55.3 - release notes

All components in the gardener logging stack are now updated to the following respective versions. Fluent-bit to 2.1.4, Fluent-operator to 2.3.0 and logging to 0.55.3

The logging e2e event logger test is now adapted to vali logging stack.

Now git revision and commit ids are properly propagated through build variables. These are showed in the fluent-bit plugin logs during start.

Base image on `telegraf` and `tune2fs` is upgraded from 3.17.2 to 3.18.0

Introduces a skaffold local development pipeline to fluent-bit-vali-plugin

The project vendors the latest released gardener version - v1.73.0

The `fluent-bit-vali-plugin` now supports fluent-bit v2.1.0 and above.

Gardener-based e2e test for the event-logger.

/approve
/cc @vlvasilev