nginx_simplecgi looks abandoned

nginx_simplecgi seems to abandoned upstream, and still pulls in the old nginx cookbook, so you end up with conflicting resource names between nginx and nginx_simplecgi :-(.

As per @rodriguezsergio in #519

I'm also getting the following error with this cookbook on Ubuntu 16.04:
   Recipe: nginx_simplecgi::php
     * apt_package[php5-cgi] action install
       * No candidate version available for php5-cgi
       ================================================================================
       Error executing action `install` on resource 'apt_package[php5-cgi]'
       ================================================================================

       Chef::Exceptions::Package
       -------------------------
       No candidate version available for php5-cgi

       Resource Declaration:
       ---------------------
       # In /tmp/kitchen/cache/cookbooks/nginx_simplecgi/recipes/php.rb

        29:   package package_name
        30: end

@finchr that's actually a system/apt package error you're getting there rather than a cookbook cookbook dependency issue.
Seeing as it's php5, I'm not at all surprised. If you'd like to help update this cookbook to the latest Nagios version that'd be great!

Hi Dan,
I would be more than happy to help update the cookbook! I've had to make a few fixes to get this working on Ubuntu 16.04 and would be glad to share the changes.
—
Ray Finch
<EMAIL_ADDRESS>(253) 232-3975

From: Dan Webb<EMAIL_ADDRESS>Sent: Tuesday, June 27, 2017 1:03:40 AM
To: sous-chefs/nagios
Cc: Ray Finch; Mention
Subject: Re: [sous-chefs/nagios] nginx_simplecgi looks abandoned (#525)
@finchrhttps://github.com/finchr that's actually a system/apt package error you're getting there rather than a cookbook cookbook dependency issue.
Seeing as it's php5, I'm not at all surprised. If you'd like to help update this cookbook to the latest Nagios version that'd be great!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/sous-chefs/nagios/issues/525#issuecomment-311284105, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ACt2bNPbJ8mJ_BabIVxgHcTpzBZUXvuUks5sILdcgaJpZM4N7IT3.

What is the current status of the cookbook? I can't get anything to converge due to problems with the data in test/integration/data_bags. I can force the convergence by modifying (i.e. deleting) the data bags but then the kitchen verify steps fail.

I'm working on this https://github.com/sous-chefs/nagios/pull/528
Amongst a few other PRs in other sous-chefs repos (ruby_rbenv being one)
If you feel like you're able to contribute to that PR, that would be great!

I'll take a look at that as well, I'll send you a pull request if I make any progress on it.

I'm running into issues with this in my environment because chef_nginx currently requires ohai >= 4.1.0 and nginx requires ohai ~> 2.0.
This cookbook's dependency on nginx_simplecgi is therefore blocking me from upgrading to the latest version.

Hi @sirosen, I have pull request in (#530) which will fix this.

#530 is merged, but didn't include a closes or resolves for GitHub to parse.
Could someone manually close this?

I'm closing this out since I'm now the owner of nginx_simplecgi and we've also moved away from the cookbook.


French translation of Getting Started

ALL Verified - View the PR here - https://github.com/FreeCodeCamp/FreeCodeCamp/pull/7286

[x] Learn how Free Code Camp Works
[x] Create a GitHub Account and Join our Chat Rooms
[x] Configure your Code Portfolio
[x] Join a Campsite in Your City
[x] Learn What to Do If You Get Stuck

I can help if you want, im french.

give me push access, i will translate every thing in a good french

@fnonga feel free to clone the repo, translate challenges and then open a pull request.

@thejonathangraham this issue will be closed once https://github.com/FreeCodeCamp/FreeCodeCamp/pull/7286 is merged. Add closes #7244 to your PR's comment to auto-close this issue.

@bugron DOne!

Hey guys, I was just translating this section and I noticed a mistake in the french version. (Currently) on line 662 ("Configurer votre code portefeuille") the text is in the wrong challenge. It should be one above - therefore one challenge ("Join a Campsite in Your City") is missing a french version

@abisz Hey! Could you submit a PR with those changes?

I could change the position of the wrong text, but somebody who actually speaks french would need to translate the missing one...

@abisz No worries, I'll get someone else onto it ;)


Fork/Merge Question

I have a fairly simple fork/merge test. After forking the stream and applying some processing, I attempt to merge the streams together so I can trigger the done() method. At the moment, the done() method is not invoked. I notice that the order matters somewhat. if I put the merge before the even/odd stream processing, the merge and done methods occur.
Is the problem caused by the fact that the streams are basically consumed by the each() methods and there is no more data in the streams to trigger the merge? If so, what alternatives do I have to approach the problem?
var h      = require( 'highland' );

describe( 'highland test', function () {

    function isEven( value ) {
        return value % 2 == 0;
    }

    function log( prefix ) {
        return function ( message ) {
            console.log( prefix + ':' + message );
        }
    }

    it( 'fork/merge test', function ( done ) {
        var a = h( [1, 2, 3, 4, 5, 6, 7, 8, 9] );

        var even = a.fork().filter( isEven );
        var odd  = a.fork().reject( isEven );

        even.each( log( 'even' ) );
        odd.each( log( 'odd' ) );

        h( [even, odd] ).merge().done( done );
    } );
}

Is the problem caused by the fact that the streams are basically consumed by the each() methods and there is no more data in the streams to trigger the merge?

Exactly. You already consume from even and odd when you call each, so you can't use them again. In general, Highland streams are one-time-use. This is true of almost all operators, not just each. The fact that it works when you move the merge to before the processing is probably a happy coincidence.
// Even though map is lazy and doesn't consume from the stream immediately, it
// will eventually when you call one of the consumption operators.
// You can't use these streams any more.
even.map(...);
odd.map(...);

// This will throw.
even.map(somethingElse);

// This won't throw immediately because of laziness, but you still can't do it, and
// it may throw later.
h( [even, odd] ).merge().done( done );

The code tries to detect this double use as best as it can, but it can't always do it reliably. Regardless, you shouldn't do it as you'll get unpredictable behavior.
If you want to consume from the same stream multiple times, you need to use observe or fork. In this case, you can observe the streams if you want to log them.
even.observe().each( log( 'even' ) );
odd.observe().each( log( 'odd' ) );

h( [even, odd] ).merge().done( done );

observe passively watches the streams, so nothing will get logged until you consume from them with the call to done. At that point, data should be logged as soon as it is emitted.
If you're doing some processing that doesn't involve a consumption operator (e.g., map), you can merge the processed streams instead.
h( [
  even.map(...),
  odd.map(...)
] ).merge().done( done );

Great information. Thanks.


WIP: RIPMMARC

referencing https://www.google.com/url?hl=en&q=https://github.com/stnava/ANTsR/commit/63db009342924b41f7b870f64133f2a753e330ce%23commitcomment-19179207&source=gmail&ust=1475072330547000&usg=AFQjCNHQSdPXonCBtJZnEduhzporE797hw
and https://www.ncbi.nlm.nih.gov/pubmed/25449745
i have a first compiling/callable version but it does not produce any meaningful output yet.
TODO ( in order of priority )

PERF: define what output should be  ( @bkandel  your feedback is appreciated here, design-wise )
DOC: meaningful tests/examples/vignettes
ENH: return patch images or provide approach to convert patch vectors to images so they can be displayed
STYLE: replace stand-alone functions with member functions within RIPMMARC filter ( IsInside, ConvertVectorToSpatialImage, GenerateMaskImageFromPatch )

@ntustison if you have a chance to take a look at the RIPMMARC filter in ANTsR/src, that would be great ( though after we get some of the above done ) ... probably better for this filter to live in ants, ultimately.

@bkandel you have a comment reading:
  // the SECOND eigenvector is canonical--1st is constant

to which i ask:
  // FIXME - is this always the case?  what if you mean center?

was able to make more progress today than expected:
updated TODO ( in order of priority )

DOC: meaningful tests/examples/vignettes - some progress here but nothing really helpful
ENH: return patch images or provide approach to convert patch vectors to images so they can be displayed ... see below, not sure this will work in general or if it is even working now
STYLE: replace stand-alone functions with member functions within RIPMMARC filter ( IsInside, GenerateMaskImageFromPatch )

examples:
library( ANTsR )
img <- antsImageRead( getANTsRData( "r16" ) )
msk <- thresholdImage( img, quantile( img[ img > 0 ] )[1], max( img ) )
ripped <- ripmmarc( img, msk, patchRadius=5, patchSamples=25000,
  meanCenter = FALSE, patchVarEx=20, verbose=TRUE )
ripped3 <- ripmmarc( img, msk, patchRadius=5, patchSamples=250,
    canonicalFrame = ripped$canonicalFrame,
    evecBasis = ripped$basisMat,
    meanCenter = FALSE, patchVarEx=20, verbose=TRUE )
img2 <- antsImageRead( getANTsRData( "r64" ) )
msk2 <- thresholdImage( img2, quantile( img2[ img2 > 0 ] )[1], max( img2 ) )
ripped4 <- ripmmarc( img2, msk2, patchRadius=5, patchSamples=250,
    canonicalFrame = ripped$canonicalFrame,
    evecBasis = ripped$basisMat,
    meanCenter = FALSE, patchVarEx=20, verbose=TRUE )
################################################################################
mm = thresholdImage( abs( ripped$canonicalFrame ), 1.e-20, Inf )
mm2 = antsImageClone( mm )
for (k in 1:nrow( ripped$basisMat ) )
  {
  mm2[mm==1] =  ripped$basisMat[k,]
  print( k )
  plot( mm2, doCropping=F )
  Sys.sleep( 3 )
  img2[msk2==1] =  ripped4$evecCoeffs[,k]
  print( k )
  plot( img2, doCropping=F )
  Sys.sleep( 3 )
  img[msk==1] =  ripped3$evecCoeffs[,k]
  print( k )
  plot( img, doCropping=F )
  img[msk==1] =  ripped$evecCoeffs[,k]
  print( k )
  plot( img, doCropping=F )
  }

@bkandel - i think the main thing i would like to have some verification/feedback/resolution for is conversion from image domain to patch domain and back.  e.g. for looking at the patch basis function as well as looking at the eigenCoefficients and/or regressing coefficients (in R) on images.

updated TODO as of commit 2fd083844a03b5134c4c2051e6d7fb755a0b4604

DOC: meaningful tests/examples/vignettes - some progress here but nothing really helpful - would be good to have an example that mimics the paper pretty closely ie regression of one modality on another
STYLE: replace stand-alone functions with member functions within RIPMMARC filter ( IsInside )

@ntustison if you get a chance, can you look over https://github.com/stnava/ANTsR/blob/master/src/itkRIPMMARCImageFilter.h and https://github.com/stnava/ANTsR/blob/master/src/itkRIPMMARCImageFilter.hxx
with the idea of moving these to ants
low priority but would be nice

Looks interesting.   Would love to.

thanks - it's been a while since i've put together a filter so there are probably some style/performance issues.   also, this can likely be (pretty easily and profitably) multi-threaded but i want to get better testing set up before going that route.  finally, i think there may be some computational / memory access bug but i havent a way to reproduce it yet so that will have to wait ... just a heads up in case you see anything suspicious.

there are also some logic/usage issues in terms of full sampling and subset sampling ....  might be worth thinking about a more complete redesign ... i've made only small modifications from ben's original version.

#### 3D ####
library( ANTsR )
ch2 = antsImageRead( getANTsRData( 'ch2' ) )
msk2 <- thresholdImage( ch2, quantile( ch2[ ch2 > 0 ] )[1], max( ch2 ) ) %>%
  iMath( "ME", 25 )
ripped <- ripmmarc( ch2, msk2, patchRadius=8, patchSamples=10000,
  meanCenter = FALSE, patchVarEx=20, verbose=TRUE )
ch2evfull = cropImage( ch2, msk2 )
msk2sub = cropImage( msk2, msk2 )
for ( k in 1:10 )
  {
  print( k )
  ch2ev = ripmmarcBasisImage( ripped$canonicalFrame, ripped$basisMat[k,] )
  plot( ch2ev, doCropping=F )
  Sys.sleep( 5 )
  ch2evfull[ msk2sub == 1 ] = ripped$evecCoeffs[,k]
  plot( ch2evfull , doCropping=F )
  Sys.sleep( 5 )
  }

Thanks! This looks great. I'll give it a more thorough lookover in the next
couple of days.
2016-09-28 13:51 GMT-04:00 stnava<EMAIL_ADDRESS>
3D
library( ANTsR )
ch2 = antsImageRead( getANTsRData( 'ch2' ) )
msk2 <- thresholdImage( ch2, quantile( ch2[ ch2 > 0 ] )[1], max( ch2 ) ) %>%
iMath( "ME", 25 )
ripped <- ripmmarc( ch2, msk2, patchRadius=8, patchSamples=10000,
meanCenter = FALSE, patchVarEx=20, verbose=TRUE )
ch2evfull = cropImage( ch2, msk2 )
msk2sub = cropImage( msk2, msk2 )
for ( k in 1:10 )
{
print( k )
ch2ev = ripmmarcBasisImage( ripped$canonicalFrame, ripped$basisMat[k,] )
plot( ch2ev, doCropping=F )
Sys.sleep( 5 )
ch2evfull[ msk2sub == 1 ] = ripped$evecCoeffs[,k]
plot( ch2evfull , doCropping=F )
Sys.sleep( 5 )
}
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/stnava/ANTsR/issues/113#issuecomment-250244326, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAk_idtuiJmuokGKYEogZqIjmXNg5taCks5quqkJgaJpZM4KHu-X
.

nice ... i am working on one more example for you to look over - hopefully
will be committed to docs today.
brian
On Thu, Sep 29, 2016 at 11:37 AM, bkandel<EMAIL_ADDRESS>wrote:

Thanks! This looks great. I'll give it a more thorough lookover in the next
couple of days.
2016-09-28 13:51 GMT-04:00 stnava<EMAIL_ADDRESS>
3D
library( ANTsR )
ch2 = antsImageRead( getANTsRData( 'ch2' ) )
msk2 <- thresholdImage( ch2, quantile( ch2[ ch2 > 0 ] )[1], max( ch2 ) )
%>%
iMath( "ME", 25 )
ripped <- ripmmarc( ch2, msk2, patchRadius=8, patchSamples=10000,
meanCenter = FALSE, patchVarEx=20, verbose=TRUE )
ch2evfull = cropImage( ch2, msk2 )
msk2sub = cropImage( msk2, msk2 )
for ( k in 1:10 )
{
print( k )
ch2ev = ripmmarcBasisImage( ripped$canonicalFrame, ripped$basisMat[k,] )
plot( ch2ev, doCropping=F )
Sys.sleep( 5 )
ch2evfull[ msk2sub == 1 ] = ripped$evecCoeffs[,k]
plot( ch2evfull , doCropping=F )
Sys.sleep( 5 )
}
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/stnava/ANTsR/issues/113#issuecomment-250244326, or
mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAk_
idtuiJmuokGKYEogZqIjmXNg5taCks5quqkJgaJpZM4KHu-X>

.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/stnava/ANTsR/issues/113#issuecomment-250503014, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AATyfiaJ8LghMvKGlzbcMiUtoIdpqKHjks5qu9sxgaJpZM4KHu-X
.

updated TODO as of commit f98c447245467d21c763f00b2ed91ce6fc685fa1

DOC: meaningful tests/examples/vignettes - have one simple example that roughly mimics the paper but not sure this is ideal.

PERF: need more testing, esp for (esp 3D) rotation invariant version.

DOC: need to illustrate different possible use cases for the dictionary, extension to other decompositions, etc.


[feature] use lockfiles for moon/proto toolchains

All package mangers supports lockfile for reproducible builds and security with checksum. Is it possible for moon to support the same such that it is guaranteed that a specific version mentioned in the lockfile is always installed for plugins. Since moon is promoting external unofficial plugins I'm also worried about security where someone can easily delete a github release and add a malicious release.
toml files supports checksum and only few tools such as zig supports it currently. It also doesn't make sense for me to ask some of these tools to support minisign.
This would also solve the scenario where randomly if I clean the tools or use a different machine my build would no longer compile since it most likely pulls in the latest version as mentioned in https://github.com/moonrepo/proto/issues/248.

@prabirshrestha Starting with moon v1.16, proto plugins are fixed to a specific version, so they will never change until I bump them in another release. This will fix the drift that has happened over the past few weeks.
As for someone replacing a GitHub release with something malicious, the probability of that happening is extremely unlikely, although not impossible. Not against a lockfile, but it will require a ton of upfront work for it to be viable.

Gonna close this as we're tracking it in proto. https://github.com/moonrepo/proto/issues/446


Support SVG parsing to/from path.pathData

In extension to the new awesome feature where you can manipulate the SVG and rebuild it seamlessly by coloring it and other cool stuff, I had this idea that I experimented with a little bit.
If you lookup a SvgPath like so:
final lookup = svg.dom.idLookup;
path = lookup['p'] as SvgPath;

You have the path.pathData at disposal which basically tells you how that particular path is shaped. There are libraries out there that can transform this pathData to a dart:ui Path object which you can then change by its various methods, for example the transform method.
However, I couldn't find an easy way to transform the Path object back into a string which I could then override the original SVG with and rebuild it to create this illusion that the object was changed. It would be cool, imagine you could click on an object and it would scale up and down or some other effect :)
Here are some stackoverflow posts looking for such feature:
flutter-dart-svg-path-to-string
is-it-possible-to-get-an-svg-string-from-flutter-path-object
A newly created issue on another library requesting such feature:
https://github.com/masterashu/svg_path_parser/issues/9
I don't know if this is out of scope for this library, I don't know if it's even possible to parse that way, so I'm just throwing it out there in case it's in scope and would be fun to implement.

Interesting idea.
Once it's a Dart Path, I'm pretty sure the contents are opaque -- there's no going back to a string, at least not without native code to reconstruct something from an internal (almost certainly binary, and only accessible from native code) representation.  However, the DOM API could always be extended to accept a Path object, so one could take the SVG parse graph, parse the Path, manipulate it with the Flutter APIs, and then swap the manipulated Path into the parse graph.
A another way of playing with paths would be to expose the path parser (PathParser in path_noui.dart), and allow programmatic manipulations to be inserted into the String -> Path pipeline.  Now that I think about it, the first idea (swapping in a fully-baked Path object) is a subset of this second one.
Maybe a reasonable way to expose all this would be to allow a to-be-defined PathTransformer on SvgDOM.build that gets a chance to manipulate all of the path-producing nodes (SvgPath, SvgRect, etc.).

BTW, for the example of scaling a Path, you could always put an appropriate transform on the SvgInheritableAttributesNode that holds the path.

Looking at this some more, I'm not sure how much would be gained by exposing the production of Path objects.  It's doable, but a little messy.  I guess Path.combine might produce some interesting effects, but treating that as an "edit" of an SVG asset is a stretch.
I'm thinking of leaving any direct production of a Path object out for now.  The most sensible way I can think of doing that would be to make a special SvgCustomPath abstract type that users would subclass, and then add into the SVG graph.  That's a pretty complicated API.
I did expose the path parser, and make a utility that can build up a new path string.  This allows editing of a path, with a bit of work.  For a transform, there's always adding a transform to the containing node.
See the docs at 1.1.21-rc.4:  PathParser and StringPathBuilder.

This is awesome! I think I might try and use this for some cool animations when something is clicked. Always looks good with some animations and it's really fun to play around with. This was just an idea and the fact that you made it possible in such a short time is just amazing... I am running out of ideas on new features. I'll play around with this over the weekend and let you know if I come up with more :)

Released in 1.1.21


Ed Lavender on fix (2)

Verbatim names. I noticed at least one record in the dataset where the verbatim name refers to eggs, whereas I think you are focusing on juveniles/adults.
@jepa

This issue was in the SCS survey, specifically:

HEMITRIPTERUS AMERICANUS, EGGS , Hemitripterus americanus , aphia_id: 159518
RAJA EGGS, Raja, aphia_id: 105766

I explored the clean_taxa() function and it deos not capture this because worrms does identify _HEMITRIPTERUS AMERICANUS as a name, regardless of the "egg" part. Need to think on a overall fix.
@AquaAuma in the meantime, can you re-run the get_scs.R or we can just filte out those two species from the dataset?

if the taxonomic function does not fix this issue, we can filter directly in the R code, I think that's fine as we've done this elsewhere too I think

Done manually and updated the dataset in the googleDrive. Note that I was not able to run the FAGS part

I don't use the ggdrive anymore for the public repo, where is the dataset you're talking about? What's the FAGS part?

Fixed issue, see 087d96b05f8f2df0ea45f42b900f4bdaa416ceef for data, cleaning code and summary and bb8d9ee49b9d849162af283d2d1608149a55ab59 for the FAGS part


[$500] Currency list is empty when trying to enter manually while the receipt is scannig

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

Version Number: v1.4.56-1
Reproducible in staging?: needs reproduction
Reproducible in production?: needs reproduction
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @JmillsExpensify
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1711375359459619
Action Performed:

Log in with an account on the expensify.com domain (ex<EMAIL_ADDRESS>Navigate to a workspace chat
Tap grey plus button
Choose Request money
Scan receipt, save
Tap into the expense while the receipt is scanning
Tap the amount row
Try to change the currency

Expected Result:
It’s possible to see/change currencies
Actual Result:
No currencies are visible
Workaround:
unknown
Platforms:

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

[ ] Android: Native
[ ] Android: mWeb Chrome
[x] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/38435837/89441f8b-af49-41a5-9732-4315cf9a706c

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~019673dbcd358643b4
Upwork Job ID:<PHONE_NUMBER>580683776
Last Price Increase: 2024-04-03

Going ahead and marking this as external. The currency selector seems completely broken.
@stephanieelliott @akinwale let's make sure we add regression tests at the end of this. It shouldn't be possible to have this happen on prod.

Agree with Puneet. I also realized this morning that I think this issue might originate from a cross currency issue, where the user's default currency is different than the policy currency. Please see this Slack thread for more videos.

Seems like this is isolated to expensify.com email addresses. I was able to consistently repro on my expensify.com account, but could not repro on gmail.com or expensifail.com.
I played around with cross currencies, but that didn't seem to have an effect on the currency selector. Specifically, I set my personal workspace to EUR and created a request on a USD workspace and was still able to use the currency selector from a gmail.com account, but not an expensify.com account.

Waiting for some proposals on this one

So strange if this only impacts expensify.com. 🤔

I'm still only able to repro this on my expensify.com account, not on any other domains (expensifail, gmail, etc.). Given that its only affecting us internally on one platform I am not going to prioritize it but please comment if you feel differently!

OK, @puneetlath does this seem like it can be fixed externally, or does it need to be kept internal?
If having an expensify.com test account is the only thing keeping it internal it seems silly to block external eng from working on it -- I suppose we could create a test account if one doesn't exist already. Not sure whether back end changes are needed on this so wanted to confirm that first before figuring out a test account.

OK, @puneetlath does this seem like it can be fixed externally, or does it need to be kept internal?

Not sure! It could be a front-end issue that only we're experiencing for some reason. We could provide onyx data to an external contributor to help them try and figure it out.

Ok, cool! I added a note to the issue body about the onyx data, and we'll work under the assumption that this can be fixed externally and will leave the labels as-is. Considering this discussion we'll wait for an external contributor to pick this up for now rather than pulling in an expert contrib.

Issue not reproducible during KI retests. (First week)

Waiting for proposals, see previous comment for context

Waiting for proposals, see https://github.com/Expensify/App/issues/39022#issuecomment-2048294015 for context

Issue not reproducible during KI retests. (Second week)

Waiting for proposals, see https://github.com/Expensify/App/issues/39022#issuecomment-2048294015 for context.
Reapplid the Bug label to get another BZ member on this while I am OOO til May 2 which I guess is you @puneetlath! I'll pick this back up when I return but please keep an eye for any movement!

Issue not reproducible during KI retests. (Third week)

I bet this is actually the same issue as https://github.com/Expensify/App/issues/39455 and it's happening because OpenApp is failing and we aren't getting the currency list. Closing in favor of that issue.


Feat/markdown field

GitHub Issue
Changes
A summary of the changes in the code in this PR. If making any UI changes consider adding screenshots or gifs.
Packages Added
react-markdown
https://github.com/remarkjs/react-markdown
Checks
Before making your PR, please check the following:

[ x] Critical lint errors are resolved
[ x] App runs locally
[ x] App builds locally (run the build command for any impacted package and check for any errors before the PR)


Add isArray, isObject isNumber

isArray, isObject isNumber features added.

Codecov Report

Merging #26 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #26   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          14     14
  Lines         195    195
  Branches       36     36
=====================================
  Hits          195    195

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 53acd7d...2932b3d. Read the comment docs.


Fixed error messages due to copy/paste

Trivial fixes found by inspecting code for inspiration for my next PR (too much boiler-plate coding?)

@glpatcern please write a changelog entry. Running make will tell you.


enzyme: add exists method

Adding missing exists() method.

https://github.com/airbnb/enzyme/blob/master/docs/api/ShallowWrapper/exists.md
https://github.com/airbnb/enzyme/blob/master/docs/api/ReactWrapper/exists.md

👍

Thanks for merging!


Support HTTP1.1/Heroku

The least bad option I think is going to be to use grpc-gateway and swagger:

https://github.com/gengo/grpc-gateway
https://goswagger.io/generate/client/
https://github.com/swagger-api/swagger-node

This shouldn't be the default, though. Perhaps add a --http1 flag to operatorc.

https://github.com/lstoll/wsnet
Might do the job.


Fix error on shipping zone update mutation when countires are missing

I want to merge this change because this fixes KeyError error.

Impact

[ ] New migrations
[ ] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations
[ ] Documentation needs to be updated

Pull Request Checklist

[ ] Privileged queries and mutations are guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migration files are up to date
[ ] The changes are tested
[ ] GraphQL schema and type definitions are up to date
[ ] Changes are mentioned in the changelog

@8r2y5 Please update the description with the issue number this PR addresses.


Added support for forelse clause

Added temporary variable '#for-orelse-%x' to set in the visit_Break.
Generated bytecode for the node.orelse inside visit_For.

Btw, this closes https://github.com/pybee/voc/issues/171

@freakboy3742 since the last commit (cleanup) one of the tests started failing, but I think it's just a timeout on Travis.


chore(deps): upgrade configuration

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-configuration-k8s-26-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 3088

Questions ?
Please refer to the Backport tool documentation


How to fix current file only?

Hi,
I was wondering if the action php-cs-fixer.fix only fixing the current file or the whole directory? I have it configured to fix automatically upon saving a file, and sometimes I see weird behaviour of my file getting updated as I type, so I have a feeling that it is fixing the whole directory.
If so, is there a way to only fix current buffer/file?
I'm using this to apply the fixes automatically:
autocmd BufWritePost *.php silent! CocCommand php-cs-fixer.fix

Hi, php-cs-fixer.fix command is executed only on the current file.
The flow of operation is as follows.

write the contents of the current file to a temporary file
Run php-cs-fixer against the temporary file
Overwrites the contents of the current file with the contents of the temporary file

Maybe the php-cs-fixer command results are slow if the file is large.
You can also check the actual command executed.

Run :CocCommand workspace.showOutput.
Choose "php-cs-fixer" or enter a number and enter.

Thanks for the clarifications! I'll test out why it's happening. My file is not that large (±150 lines) and it doesn't always happen, only on some random occasions.


Llama-index integration problems

Reported by @fcakyon
1
currently trying to solve a weird bug where lancedb llama index integration doesn't add all the documents we provide to the db, it only seems to add the ones on the base folder and the remaining documents in the child folders are somehow not added into the db
Repro:

2
When i run this snippet:
vector_store = LanceDBVectorStore(uri="/tmp/lancedb")
storage_context = StorageContext.from_defaults(vector_store=vector_store)
index = VectorStoreIndex.from_documents(
    documents, storage_context=storage_context
)
print(index.ref_doc_info)

it raises
NotImplementedError: Vector store integrations that store text in the vector store are not supported by ref_doc_info yet.

but the ref_doc_info is a very useful feature of llama-index that makes checking document hashes and llama-index document ids available in the index very easy.

@fcakyon pls add if you come across more problems.

Hello @AyushExel,
I've successfully reproduced the issue concerning LanceDB's behavior with document_id retrieval. Although LanceDB is adding all documents (both in root and subdirectories), it appears to list document_ids only for root-level documents when using the following code snippet:
document_id_list = db.open_table(LANCEDB_TABLE_NAME).search().select(["document_id"]).to_list()
print(document_id_list)

I've attached a ZIP file that contains:

reproduction_code.py: A minimal code snippet to reproduce the issue.
environment.yml: A Conda environment file for replicating the setup.
requirements.txt: Additional Python package dependencies.
README.md: Step-by-step instructions to reproduce the issue.

Please follow the README instructions to set up the environment and run the code. This should make it easier to investigate the issue further.
issue_reproduction.zip

Thanks! I'll take a look today

@SeeknnDestroy Ohh for the last issue, you just need to set the limit(number) to get number of results you want..
document_id_list = db.open_table(LANCEDB_TABLE_NAME).search().limit(50).select(["document_id"]).to_list()
print(document_id_list)
Document IDs:
[{'document_id': 'ultralytics/docs/CNAME'}, {'document_id': 'ultralytics/docs/README.md_part_0'}, {'document_id': 'ultralytics/docs/README.md_part_1'}, {'document_id': 'ultralytics/docs/README.md_part_2'}, {'document_id': 'ultralytics/docs/README.md_part_3'}, {'document_id': 'ultralytics/docs/SECURITY.md_part_0'}, {'document_id': 'ultralytics/docs/SECURITY.md_part_1'}, {'document_id': 'ultralytics/docs/SECURITY.md_part_2'}, {'document_id': 'ultralytics/docs/SECURITY.md_part_3'}, {'document_id': 'ultralytics/docs/build_reference.py'}, {'document_id': 'ultralytics/docs/build_reference.py'}, {'document_id': 'ultralytics/docs/index.md_part_0'}, {'document_id': 'ultralytics/docs/index.md_part_1'}, {'document_id': 'ultralytics/docs/index.md_part_2'}, {'document_id': 'ultralytics/docs/quickstart.md_part_0'}, {'document_id': 'ultralytics/docs/quickstart.md_part_0'}, {'document_id': 'ultralytics/docs/quickstart.md_part_0'}, {'document_id': 'ultralytics/docs/quickstart.md_part_1'}, {'document_id': 'ultralytics/docs/quickstart.md_part_2'}, {'document_id': 'ultralytics/docs/quickstart.md_part_3'}, {'document_id': 'ultralytics/docs/quickstart.md_part_4'}, {'document_id': 'ultralytics/docs/quickstart.md_part_5'}, {'document_id': 'ultralytics/docs/quickstart.md_part_6'}, {'document_id': 'ultralytics/docs/quickstart.md_part_6'}, {'document_id': 'ultralytics/docs/robots.txt'}, {'document_id': 'ultralytics/docs/yolov5/environments/aws_quickstart_tutorial.md_part_0'}, {'document_id': 'ultralytics/docs/yolov5/environments/aws_quickstart_tutorial.md_part_1'}, {'document_id': 'ultralytics/docs/yolov5/environments/aws_quickstart_tutorial.md_part_2'}, {'document_id': 'ultralytics/docs/yolov5/environments/aws_quickstart_tutorial.md_part_3'}, {'document_id': 'ultralytics/docs/yolov5/environments/aws_quickstart_tutorial.md_part_4'}, {'document_id': 'ultralytics/docs/yolov5/environments/aws_quickstart_tutorial.md_part_5'}, {'document_id': 'ultralytics/docs/yolov5/environments/aws_quickstart_tutorial.md_part_6'}, {'document_id': 'ultralytics/docs/yolov5/environments/aws_quickstart_tutorial.md_part_7'}, {'document_id': 'ultralytics/docs/yolov5/environments/aws_quickstart_tutorial.md_part_8'}, {'document_id': 'ultralytics/docs/yolov5/environments/azureml_quickstart_tutorial.md_part_0'}, {'document_id': 'ultralytics/docs/yolov5/environments/azureml_quickstart_tutorial.md_part_1'}, {'document_id': 'ultralytics/docs/yolov5/environments/azureml_quickstart_tutorial.md_part_2'}, {'document_id': 'ultralytics/docs/yolov5/environments/azureml_quickstart_tutorial.md_part_3'}, {'document_id': 'ultralytics/docs/yolov5/environments/azureml_quickstart_tutorial.md_part_4'}, {'document_id': 'ultralytics/docs/yolov5/environments/azureml_quickstart_tutorial.md_part_5'}, {'document_id': 'ultralytics/docs/yolov5/environments/docker_image_quickstart_tutorial.md_part_0'}, {'document_id': 'ultralytics/docs/yolov5/environments/docker_image_quickstart_tutorial.md_part_1'}, {'document_id': 'ultralytics/docs/yolov5/environments/docker_image_quickstart_tutorial.md_part_2'}, {'document_id': 'ultralytics/docs/yolov5/environments/docker_image_quickstart_tutorial.md_part_3'}, {'document_id': 'ultralytics/docs/yolov5/environments/docker_image_quickstart_tutorial.md_part_4'}, {'document_id': 'ultralytics/docs/yolov5/environments/docker_image_quickstart_tutorial.md_part_5'}, {'document_id': 'ultralytics/docs/yolov5/environments/docker_image_quickstart_tutorial.md_part_6'}, {'document_id': 'ultralytics/docs/yolov5/environments/docker_image_quickstart_tutorial.md_part_7'}, {'document_id': 'ultralytics/docs/yolov5/environments/google_cloud_quickstart_tutorial.md_part_0'}, {'document_id': 'ultralytics/docs/yolov5/environments/google_cloud_quickstart_tutorial.md_part_1'}]
--------------------------------------------------
Number of document_ids in LanceDB: 50

By default the limit is set 10 so you're only seeing 10 without setting that

@fcakyon @SeeknnDestroy closing this as autollm is now launched.. I'll fix the other integration problem later as it's not a blocker


Compatibility Test against k8s 1.7

Failing test blocker:

[x] wait backup deployment deleted timeout (fixed in https://github.com/coreos/etcd-operator/pull/1248)
[x] many tests failing to create 3 member clusters (fine after we reduce two clusters to one, seems GCE network problem)
[x] restore same name test failing due to previous deployment exist (https://github.com/coreos/etcd-operator/pull/1251)

Latest try with k8s v1.7.0-rc.1 resulted in failure to set up operator:
time="2017-06-29T17:43:58Z" level=error msg="fail to setup etcd operator: unexpected pod status.phase: Failed"
time="2017-06-29T17:43:58Z" level=error msg="fail to setup framework: unexpected pod status.phase: Failed"

Now we have the test running as normal.
We two builds:

https://jenkins-etcd.prod.coreos.systems/view/operator/job/etcd-operator-master-k8s-master/122
https://jenkins-etcd.prod.coreos.systems/view/operator/job/etcd-operator-master-k8s-master/123

It seems there is some flakes in 1.7 .

Update for this week.
Now I have the following setup:

1 master node: "n1-standard-2"
4 worker nodes: "n1-standard-2"

I run e2e_pass in sequential and have the following failures:

TestOperWideS3AllDown
TestOperWideS3RestoreSameName

Both failed for the wait backup deployment deleted timeout case. Gonna dig deeper into that case right now.

Last time we tracked the failure of TestOperWideS3AllDown in real time. It looks like backup sidecar deployment still exists for a while before eventually deleted from API.

I tried to use DeletionTimestamp to detect deletion of Deployment and pod.
This will fix the flakes caused in https://github.com/coreos/etcd-operator/issues/1233#issuecomment-313215741

Currently we are seeing one failure pretty frequently:
TestOperWideS3RestoreSameName
...
restore_test.go:156: fail to wait backup deleted: failed to wait storage (S3) to be deleted: still failing after 5 retries

e2e is green now.
We have upgrade test failing due to the deployment check deletion change. This is something we are fixing right now.

closing


Pulse visualization sometimes omits channels

Environment

Qiskit Terra version: 0.22.0
Python version: 3.10
Operating system: Linux

What is happening?
Sometimes the draw() on a pulse schedule produces a visualization with missing channels.
How can we reproduce the issue?
For the environment given above, this can be reproduced with:
from qiskit import pulse
from qiskit.providers.fake_provider import FakeMumbai

backend = FakeMumbai()

amp = 0.06
duration_dt = 224
with pulse.build(backend=backend) as sched:
    drive_pulse = pulse.Constant(duration_dt, amp)
    pulse.play(drive_pulse, pulse.DriveChannel(2))
    pulse.play(drive_pulse, pulse.DriveChannel(25))
sched.draw()

It depends on a Python set iteration order, so the behavior might vary across environments.
What should happen?
All channels should be displayed in the visualization.
Any suggestions?
See #8974

Fixed by #8974


Use this for creating membership/payments/course

Hi,
Superb job with this repo and doing this probably the simplest and easiest way possible. Thank you for that.
I was wondering how
a) Can we add payment gateway (e.g. pay to access the notion doc)? For an online course
b) Can we deploy this to Hostinger?

Hey, thank you for appreciating this work.
a) I personally wouldn't do that here in notion2web:

there are already working instances of this all over the world, I would have to provide a bunch of different payment gateways, cause every region of the world uses different ones.
I would have to maintain them also in the future.
It blows this project enormously for only a small use case.
It is not really the purpose of this project. I wanted to bring an easy way to host the notion content separately from the notion instance itself.

My tipp: you an use a password secured folder. I also plan to implement something similar directly into notion2web.
You then have to setup the purchase process yourself in another website, and after the purchase went through, you provide the password to your notion2web page to you customers.
b) I never worked with a service of hostinger, but as far as they provide a simple webspace with php 8, then this will work. I personally would recommend to use the dockerfile to run notion2web, but this depends on your personal experience (its far more sophisticated than simply dragging and dropping files and folder onto a webspace).
Let me know if you have other questions or if I can assist you.
You can also suggest more features here.
Lars

Hi Lars,
Thanks for getting back to me so quick.
The password secured folder approach seems a little bit tricky because anyone who has the password, could virtually use it, correct?
I've been scavenging the web for any way to setup my course on Notion but tools are either not working or there's no OSS way to do it.
Similar models:
https://courses.so/
https://github.com/transitive-bullshit/nextjs-notion-starter-kit
https://www.youtube.com/watch?v=Bae5lqX4K9k
Based on what I know, guessing the NextJS-Notion starter kit is the best bet but connecting the payment gateway and user auth/membership is what's not present. Or another OSS version like float.so or courses.so. Apparently, the creator of Fruition said it takes a weekend to setup the whole thing.
Using Notion2Web, I'm guessing there's no syncing correct? It'll just be a one-time export Notion 2 website and any changes will not be reflected? I might be wrong.

Hey,
true, the folder workaround don't allow personal user accounts. But accounts also don't prevent account and password sharing though.
Setting up payment in n2web is as easy or hard as in any other software, programming language or tool. But, as I said, I personally won't develop such a function yet.
Therefore you could either fork n2web or make a pull request if you develop such functions by yourself.
And yes, n2web uses the HTML-Export of Notion. It doesn't use the API (which is do by choice). This brings some advantages (speed, SEO, customization) but also downsides (no synch). If you need automatically syncing, then Friution could be the way, or you use the export tools here on Github which I use. 🙂


Popover component

Duplicates ❌

[X] I have searched the existing issues

Which Figma library is concerned?
Not related to one Figma library
Summary 💡
A popover is a floating non-modal dialog used to explain an interface element or feature to the user.
Dependencies 📦
No response
Examples 🌈
No response
Motivation 🔦
No response
New 🆕

[ ] Validated in a grooming session

Backlog 📋

[ ] Has a good summary
[ ] Has example link(s)

Design in progress 🏗

[ ] Analysis (functional & technical)
[ ] Design refinement
[ ] Dev qualification (properties, breakpoints, tokens etc.)
[ ] Documentation refinement (inside the Figma branch)

Design review 👀

[ ] Figma branch merged
[ ] Documentation review _(and move the documentation into Vitamin Documentation Figma file)

Ready to dev 👍

[ ] Issues are created in all repositories affected (vitamin-<web,android,ios,compose>)

Dev in progress 💻

[ ] All issues are resolved (to replace with issues links)

Will be tracked here: https://github.com/dktunited/vitamin-play/issues/40


Fix data split

Description of changes:
If there is no training/val/test data, node_split or edge_split may return None. We need to handle this case.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

this should be fixed in DGL. https://github.com/dmlc/dgl/pull/5653


Downloader race condition with multiple processes

When calling nltk.download followed by model usage from multiple processes at once, at least four types of errors can happen:

Error with downloaded zip file
[Errno 2] No such file or directory
zipfile.BadZipFile: Bad CRC-32 for file
LookupError

I can reproduce this every time using the following script (but you may need to tweak the sleep time or number of processes to match your hardware and internet connection):
import os
import nltk
import time
import random
import shutil
import multiprocessing

def download_and_run():
    print("Downloading...")
    time.sleep(random.random() * 2)
    nltk.download('punkt', force=True, download_dir='models')
    nltk.data.path.insert(0, 'models')
    print(nltk.sent_tokenize("Some text to split. Another sentence."))

if __name__ == "__main__":
    shutil.rmtree('models', ignore_errors=True)

    processes = []
    for i in range(10):
        processes.append(multiprocessing.Process(target=download_and_run))

    for p in processes:
        p.start()

    for p in processes:
        p.join()

The issue can be solved by writing model files atomically, as proposed in this pull request: https://github.com/nltk/nltk/pull/3247.

@naktinis, in which realistic use case would you want to download the same package multiple times at once to the same file location?

When calling nltk.download followed by model usage from multiple processes at once

@naktinis, in which realistic use case would you want to download the same package multiple times at once to the same file location?

@ekaf this is actually happening when running multiple concurrent task workers that use nltk. Basically, there is a pool of independent worker processes that listen to a queue of incoming tasks. Each worker is responsible to make sure the environment is set up (which includes downloading any models). Each worker is encapsulated and starts independently (e.g. what you would have with celery tasks), meaning there's no concept of centralized setup.
To make matters worse, when the service restarts, it starts in a clean environment (set up as a Docker container on a node in "the cloud"), which means on service restart we normally don't have the models on disk, so every restart means model download will be necessary.

@naktinis, it sounds like your problem is not specific to nltk: any software that your workers install would meet race conditions.
Solving the problem in nltk would not solve it for other data packages.

Solving the problem in nltk would not solve it for other data packages.

True, but in this case it was happening with nltk and other packages have their ways to deal with similar issues. For example, Hugging Face model download logic also uses the "download to a temporary file and move to destination" strategy: https://github.com/huggingface/huggingface_hub/blob/5ff2d150d121d04799b78bc08f2343c21b8f07a9/src/huggingface_hub/file_download.py#L1833C5-L1833C30
They also seem to be using additional locking during downloads here: https://github.com/huggingface/huggingface_hub/blob/5ff2d150d121d04799b78bc08f2343c21b8f07a9/src/huggingface_hub/file_download.py#L1366 (but that's just one way of dealing with this and maybe they also had other reasons).

Hugging Face model download logic also uses the "download to a temporary file and move to destination" strategy

Ok, it seems prudent to also use this approach in nltk.
But all these useless downloads should not happen in the first place. If all your worker processes are sharing the same filespace, any package only needs to be downloaded once. All the subsequent downloads are useless, and may add up to a huge waste of energy. If such useless downloads are common in ML, it congests the networks, and wastes a lot of electricity.

I think that this issue deserves a high priority. In the present situation, some distributed clusters are in reality performing an attack on the download servers. NLTK should provide a defense against such behaviour.


fix: 🐛 incorrect import for sheet example

I noticed the import for a sheet example was coming from the wrong styling, so I did a quick fix here

duplicate of #3341

Sorry, forgot to look it up


[BEAM-1179] Renames assertions of source_test_utils

Renames assertions of source_test_utils from camelcase to underscore-separated.

LGTM. Please self merge after fixing the lint issues.

Coverage decreased (-0.01%) to 70.651% when pulling d91707a0864812e9d0a11c7ae981bdd8e96715a5 on chamikaramj:rename_sourcetestutil_asserts into 32a576ab6e04a86d2205dfd766205521753a6d60 on apache:master.

Thanks. Merging.


Cannot install extensions

Describe the bug
When trying to install extensions,  it is failing. Tried to download extension and gave file path also tried via URL.
This is what error msg looks like,
Installing extension<EMAIL_ADDRESS>has failed: ENOENT: no such file or directory, stat '/var/folders/m9/k655rqcd5cx0tc2fr78n8gzm0000gn/T/lens-extensions/nevalla-kube-resource-map-0.2.0.tgz'
Expected behavior

Extension should install successfully

Screenshots

Environment (please complete the following information):

Lens Version: 4.2.3
OS: macOS 10.15.7
Installation method (e.g. snap or AppImage in Linux): dmg file from site

Logs:
Logs from console when trying to install extension
info: Install from D&D
console.js:124 info: Unpacking extension<EMAIL_ADDRESS>{"fileName":"nevalla-kube-resource-map-0.2.0.tgz","tempFile":"/var/folders/m9/k655rqcd5cx0tc2fr78n8gzm0000gn/T/lens-extensions/nevalla-kube-resource-map-0.2.0.tgz"}
console.js:124 info: [EXTENSION-INSTALLATION]: installing nevalla-kube-resource-map-0.2.0.tgz has failed: ENOENT: no such file or directory, stat '/var/folders/m9/k655rqcd5cx0tc2fr78n8gzm0000gn/T/lens-extensions/nevalla-kube-resource-map-0.2.0.tgz' {"error":{"errno":-2,"code":"ENOENT","syscall":"stat","path":"/var/folders/m9/k655rqcd5cx0tc2fr78n8gzm0000gn/T/lens-extensions/nevalla-kube-resource-map-0.2.0.tgz"}}

duplicate of #2688


[Bug] Upload to the container registry is not authenticated

While implementing #545 we noticed that even if the Patch that sets the ImageRef on the Package fails with 403 Forbidden, the image is already uploaded to the registry. This means that unauthorized users can still *actually upload the package even though they don't have permission to do that.
Given that the container registry does not use the Kubernetes RBAC we need to do this authorization ourselves. One way would be to test if the user has Patch permissions on the Package resource before we do the image upload (simillar to how kubectl auth can-i works; see here)

Yeah permissions check on the ability to PATCH/PUT a Package before uploading is definitely required. That kubectl auth can-i looks cool.


defineAsyncComponent render error in ssr

Vue version
latest
Link to minimal reproduction
https://sfc.vuejs.org/#__DEV____SSR__eNp9Uk1PwzAM/Ssml7VS14zr6CohTtw4cMxldC50WpwocTuhqf8dp/tgDEROjv38/J6Tg3r0vhx6VEtVMVq/WzPWhgxDtY6f1Dw56+tKf8eGKn0NpCo2ofMMEblP5c56FxgOsMG2I3w8dzpC4gICtjBCG5yFmcydXRoS5pQvdbokWVJuHEWGiwBYwZ/MWZavasI9vAhFFzHLAka3GzCN3GLDOaxqOBgCOaL1tbPo+tSW8idslujyAu4Xi0X+kLBjnifHR4+1KtRR7dyufbmNjmRvE6c5FaJRy/MUo8RBuhv1wezjUuvYNsnWNpYuvGuJytATi5QSo52/BbePGITYqOKKQ0tywDAPSBsMGP7jvIH+4p1MGRrFynnJN28PUG26YQoAnmcW5AVYNnw3lfSx9uMTqPELuPDI3A==
Steps to reproduce
open the playground
What is expected?
render the component
What is actually happening?
get error
System Info
No response
Any additional comments?
No response

This could be a bug on the playground, currentInstance = null that's not possible, did you test it in the test case?

This could be a bug on the playground, currentInstance = null that's not possible, did you test it in the test case?

https://github.com/vuejs/core/blob/78b86150b801e7eb4ebf1cdff977e791dc0438f0/packages/runtime-core/__tests__/hydration.spec.ts#L716
This test is passed, maybe it is a playground bug

Hey, it is definitely not a playground bug, I have run into the exact same issue with our production application.
Here is some more context:

It is an SSR app built on https://vite-plugin-ssr.com/ with Vue 3.3.4
We have noticed that sometimes if the Async component chunks were loading slower on flaky networks (and always in Safari for some reason), the hydration of components was failing, but was succeeding after the chunks had been cached on subsequent page visits.

I would say as the issue naturally occurs in Safari, even on stable networks, it is quite severe.
After looking into the implementation for defineAsyncComponent I have noticed that the case of hydration is never handled when the component is not managed by a Suspense. https://github.com/vuejs/core/blob/623ba514ec0f5adc897db90c0f986b1b6905e014/packages/runtime-core/src/apiAsyncComponent.ts#L198
       if (loaded.value && resolvedComp) {
          return createInnerComp(resolvedComp, instance)
        } else if (error.value && errorComponent) {
          return createVNode(errorComponent, {
            error: error.value
          })
        } else if (loadingComponent && !delayed.value) {
          return createVNode(loadingComponent)
        }

         // If none of the above conditions are met, meaning that the component is still loading
         // and the component was rendered on the server, then no vnode is returned resulting
        // in a `<!--[-->`(Fragment) being rendered and hydration mismatch in return

Workaround: Wrap each AsyncComponent in the template with Suspense
<template>
  <Suspense>
    <AsnycComp />
  </Suspense>
</template>

<script setup>
const AsyncComp = defineAsyncComponent(() => import('./Comp.vue'));
</script>

The origin issue can no longer be reproduced in the playground with the latest version.
@Csszabi98
Please create a new issue with a minimal reproduction if it still not working in your application.


[add-resource] New Plugin

I would like to add my new plugin to the Grav Repository. Here are the project details: hmhrex/Grav-MusicCard

added.  Thanks!


fix: JavaScript default parameters instead ".defaultProps"

Closes 1025
📝 Description

Fixed Warning: {COMPONENT}: Support for defaultProps will be removed from memo components in a future major release. Use JavaScript default parameters instead.

⛳ Current behavior (updates)

When using this package, many errors occur for each component used. An error like "Warning: {COMPONENT}: Support for defaultProps will be removed from memo components in a future major release. Use JavaScript default parameters instead." appears every time the application is launched, which can cause inconvenience and lead to potential problems in future releases.

Brief description of the changes:

Replaced the use of defaultProps in components using memo with JavaScript default parameters.
Relevant components have been updated to avoid potential issues in future releases.

🚀 New behavior

After the changes made, the error no longer occurs when using components from this package. The updates avoid these bugs and provide a smoother application experience with no warnings about the deprecated use of defaultProps.

💣 Is this a breaking change (Yes/No): No
📝 Additional Information
Screenshot of the error for an example:

Why we should use the built-in defaults:

https://notes.webutvikling.org/stop-using-defaultprops/
https://medium.com/@matanbobi/react-defaultprops-is-dying-whos-the-contender-443c19d9e7f1

however the v1 will be deprecated soon, that’s why we haven’t merged any new PRs, for new contributions please use feat/v2 branch

Is this getting launched yet?


implements clear imports

Coverage increased (+0.004%) to 99.403% when pulling 9aaea6d8f1ce10f32da31ad8e9384bb4631d7987 on yuce:clear-import into 871f7b69964e248d7ff7653b2365defbc5eed88d on pilosa:master.

Coverage increased (+0.004%) to 99.403% when pulling 9aaea6d8f1ce10f32da31ad8e9384bb4631d7987 on yuce:clear-import into 871f7b69964e248d7ff7653b2365defbc5eed88d on pilosa:master.


fix nts-r logic hole

Description
Fix NTS-R logic hole by only throwing an error if requested pickup date is nil on non NTS-R type shipments.
Reviewer Notes
@NamibiaLT -- lmk if you want me to branch off your branch to add another test case for this NTS-R type edge case. since we weren't checking the zero value before, I think this error check wasn't causing any problems--- but once your change merges this will become an issue for the customer side of creating NTS-R shipments.

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against e35663d2130d7e281eeadad24ffc7dc85934f82c

@sojeri can you add some setup instructions to test this change?

@lynzt you'd have to pull all three branches locally to repro a difference. this branch, Namibia's branch, and my branch off Namibia's branch.


Upgrade to Jakarta EE 10 components

This PR updates the dependencies to Jakarta EE 10 components and does necessary migrations.
The main change of this PR is the upgrade to Jetty 12, which removes the servlet classes from the Jetty core.

@dropwizard/committers Supporting the logback request log gets really tricky with Jetty 12. I've introduced a workaround here but that is neither clean nor efficient. Should we think of dropping support for the logback request log in favor of the Jetty CustomRequestLog?

Should we think of dropping support for the logback request log in favor of the Jetty CustomRequestLog?

Yes, let's see how this would look like.
Is there anything we could ask the Logback maintainer for which would enable us to avoid the migration?

Thanks for the review :+1:

Is there anything we could ask the Logback maintainer for which would enable us to avoid the migration?

I don't think so. Logback depends on the servlet api and the servlet classes aren't available in the request log stage (hence the LogbackAccessRequestLogAwareHandler). My workaround probably cannot be ported to logback and won't be introduced.
Logback access is broken for a few versions now and I don't think it'll be maintained well in the future either. This would be a good moment to drop support IMHO.


Crash with 0.0.5

Receiving a crash just after the Cyberpunk splashscreen (before the T&Cs) around 5 seconds or so after booting the game up:
[2022-09-08 15:18:45.913] [info] Loaded document: X:\Steam Games\steamapps\common\Cyberpunk 2077\r6/config/inputContexts.xml
[2022-09-08 15:18:45.914] [error] XML parsed with errors, attr value:
[2022-09-08 15:18:45.914] [error] Error description: Error parsing element attribute
[2022-09-08 15:18:45.914] [error] Error offset: 56552
Anything else I can provide to help?

Sorry, turns out this is caused by Input Loader - can recreate this repeatedly

Fixed via f7323da & v0.0.6.


Integrate latest RPC protocol changes

See https://github.com/Azure/azure-functions-language-worker-protobuf/releases/tag/v1.1.0-protofile.

Released 7 minutes ago. Fast on the pickup. What needs to be changed?

We'll need to expose the cookies via the HttpRequest request binding. The rest of the changes should be a no-op for us.

Would this be worth setting up a time to pair-program on?

Would you like to take a crack at this?  We'll need to update the protobuf submodule and then build the azure-functions-shared crate with the compile_protobufs feature to regenerate the Rust code.
From there, add new functionality to HttpRequest to expose the cookie support that was added in https://github.com/Azure/azure-functions-language-worker-protobuf/issues/31.
I might have time to pair on this later this week (today is crazy).

I would. I can read up on it.  I am being sent to training Tuesday through Thursday, but could could do some evening time or during work hours on Friday.

@t-eckert I've assigned this one to you given your interest.
I can handle updating my fork of the Azure Functions protocol repo so that we have the latest changes from upstream.
You'll need to regenerate the RPC code:
cd azure-functions-shared
cargo build --feature compile_protobufs

You will need protoc installed from Protocol Buffers.
Once the RPC code is generated, the rest of the work is exposing the new cookies interface on HttpRequest.

I started a skeleton file of what you might be looking for: https://github.com/t-eckert/azure-functions-rs/blob/RCP-http-cookies/azure-functions/src/http/cookie.rs
Is there an example similar to what I'm trying to do that I can use to understand how to connect into the RPC from the cookie file?

You can look to HttpRequest and HttpResponse, both of which wrap the underlying RpcHttp type.
Look to the RpcHttpCookie type to figure out what we need to expose.
The idea is that we hide away the gRPC implementation details from the users in case it changes and it allows us to offer a simpler API.

@t-eckert how's this work proceeding?  Let me know if you need any assistance.

@peterhuene, I did some beginning cursory work, but lost the plot. It would be helpful to do a chat and scope out the work. I am on east coast time right now. Just let me know what your schedule looks like.

I'll have some time tomorrow around noon PST if that works for you.

Marking blocked on #346.

I think post-hackathon I have a better grasp on what needs to be done for this. We can confab on it this week.

I'd like to fix #346 fixed as I think that would make it easier to implement this change.
For #346, I think we should basically pull the data out from the binding data and into the HttpRequest directly, removing the getter methods.
For HttpResponse, we stop wrapped a rpc::Http and store the data directly on HttpResponse.  Only when we convert to rpc::TypedData would it populate a rpc::Http.

I'm doing this as part of #346.


Productivity chart is misleading

I guess the number = avg(produced blocks / total blocks to produce in an epoch).
This is not useful. It will grow from 0 to 100% during one epoch. More importantly, at the beginning of an epoch, people will wrongly think the productivity is so low

per discussion. let's change the title of the chart to "Progress of Epoch"


fix: reinstate Ultra arith rec verifier test

Please provide a paragraph or two giving a summary of the change, including relevant motivation and context.
Checklist:
Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge.

[ ] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag.
[ ] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code.
[ ] Every change is related to the PR description.
[ ] I have linked this pull request to relevant issues (if any exist).

Benchmark results
Metrics with a significant change:

note_trial_decrypting_time_in_ms (32): 96.0 (+151%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit 217de090 and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,444
179,588
716,132

l1_rollup_calldata_gas
222,948
868,148
3,449,852

l1_rollup_execution_gas
867,057
3,746,201
23,306,617

l2_block_processing_time_in_ms
1,326
5,154 (+1%)
21,081

note_successful_decrypting_time_in_ms
358 (-5%)
1,141 (+2%)
4,271 (+3%)

note_trial_decrypting_time_in_ms
69.6 (-20%)
:warning: 96.0 (+151%)
140

l2_block_building_time_in_ms
14,897
59,410
238,645

l2_block_rollup_simulation_time_in_ms
10,585
42,268
170,201

l2_block_public_tx_process_time_in_ms
4,281
17,067 (+1%)
68,062

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
15,048 (-2%)
28,759 (-1%)

note_history_successful_decrypting_time_in_ms
2,887 (-2%)
5,381 (-3%)

note_history_trial_decrypting_time_in_ms
86.6 (-8%)
146 (-2%)

node_database_size_in_bytes
3,614,471
3,730,520

pxe_database_size_in_bytes
29,923
59,478

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
211
44,709
25,561

private-kernel-ordering
137
30,953
14,809

base-rollup
1,081
128,374
881

root-rollup
84.3 (+2%)
4,088
889

private-kernel-inner
287
71,236
25,561

public-kernel-private-input
203
31,891
25,561

public-kernel-non-first-iteration
201
31,933
25,561

merge-rollup
9.74
2,608
881

Miscellaneous
Transaction sizes based on how many contracts are deployed in the tx.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
15,487
31,877


16 bit message id counter overflows and leads to struct.pack exception

Please change line 111 from:
self.msg_id +=1"
to:
self.msg_id = (self.msg_id + 1) % 65536
Thank you
Arian

Fixed, thank you :-)


Add support to read dcf file from res/raw

Add support in DesignSettings and DocServer to use R.raw.* Add unit test for loading HelloWorld dcf file from res/raw Add test methods in DesignSettings and DocServer
Add more steps to clear state in ClearStateTestRule
Test: ./gradlew designcompose:testDebugUnitTest# Please enter the commit message for your changes. Lines starting

Closed https://github.com/google/automotive-design-compose/pull/1761 because of presubmit failures due to forking.
Contents of PR are same

Let me know when you've addressed the comments I left in the original

Comments:

We're not taking any screenshots in this test, so we can remove this rule

Removed unused testName and roborazziRule

Let's rename this file to be more clear, something like RawResourceTestDoc.dcf?

Renamed to raw_resource_test_hello_world_doc, because in res/raw: File-based resource names must contain only lowercase a-z, 0-9, or underscore

We need to get the test doc added to dev-scripts/update_dcfs.sh

Added a step in common-functions.sh to copy hello world doc to designcompose/testDebug/res/raw


chore: updates coraza, fixes tests accordingly

This PR fixes the nightly check updating coraza and fixing accordingly the tests. https://github.com/corazawaf/coraza/pull/612 removed some default values, therefore this PR adds explicitly some directives to make the tests work as expected

Thanks @M4tteoP I will merge after https://github.com/corazawaf/coraza/pull/619 gets in and we can get rid of the memory limit settings as they shouldn't be enforced.


Migrate to official kubernetes/git-sync container

Currently, we use alpine/git our own script  to perform the git-sync, this is problematic, as it has a different syntax to the KubernetesExecutor git configs.
We should migrate to the kubernetes/git-sync container (which is hosted on k8s.gcr.io/git-sync), this will let us automatically set: AIRFLOW__KUBERNETES__GIT_REPO, AIRFLOW__KUBERNETES__GIT_PASSWORD, etc  as this is what Airflow itself uses.
NOTE: we will have to remove the old git-sync configs from values.yaml (so this will need a major version bump)

This is important, reopening.

This was done in version 8.0.0 of the chart, see PR: https://github.com/airflow-helm/charts/pull/96


Json fix experiments

Using this PR to track Json changes/fixes. For now it's just experimental.

@gnumonik should we close this?


client.stream_public_trades() returns old trades

What happened?
I checked the public trades that are returned by the client with this simple script:
import asyncio
import os
from dotenv import load_dotenv
import pandas as pd

import frequenz.client.electricity_trading as fcet

async def stream_public_trades():
    load_dotenv()
    API_KEY = os.getenv('FREQUENZ_API_KEY')
    SERVICE_URL = os.getenv("FREQUENZ_TRADING_TEST_URL")

    client = fcet.Client(server_url=SERVICE_URL, auth_key=API_KEY)
    stream = await client.stream_public_trades()

    print(" ")
    print("=======================================================================================================")
    async for public_trade in stream:
        print(" ")
        print(f"id: {public_trade.public_trade_id}")
        print(f"buy_delivery_area: {public_trade.buy_delivery_area}")
        print(f"sell_delivery_area: {public_trade.sell_delivery_area}")
        print(f"execution_time: {public_trade.execution_time}")
        print(f"delivery_start: {public_trade.delivery_period.start}")
        print(f"duration: {public_trade.delivery_period.duration}")
        print(f"price: {public_trade.price}")
        print(f"quantity: {public_trade.quantity}")
        print(f"state: {public_trade.state}")
        print(" ")
        print("=======================================================================================================")

asyncio.run(stream_public_trades())

The trades that are returned are however a few days old already. This is a part of the ouput:
=======================================================================================================

id: 63466441
buy_delivery_area: DeliveryArea(code='10YSI-ELES-----O', code_type=<EnergyMarketCodeType.EUROPE_EIC: 1>)
sell_delivery_area: DeliveryArea(code='10YAT-APG------L', code_type=<EnergyMarketCodeType.EUROPE_EIC: 1>)
execution_time: 2024-10-25 14:55:12.930382+00:00
delivery_start: 2024-10-25 16:15:00+00:00
duration: DeliveryDuration.MINUTES_15
price: Price(amount=Decimal('74.2'), currency=<Currency.EUR: 3>)
quantity: Power(mw=Decimal('1'))
state: TradeState.ACTIVE

=======================================================================================================

id: 63466442
buy_delivery_area: DeliveryArea(code='10YDE-EON------1', code_type=<EnergyMarketCodeType.EUROPE_EIC: 1>)
sell_delivery_area: DeliveryArea(code='10YAT-APG------L', code_type=<EnergyMarketCodeType.EUROPE_EIC: 1>)
execution_time: 2024-10-25 14:55:12.933019+00:00
delivery_start: 2024-10-25 16:45:00+00:00
duration: DeliveryDuration.MINUTES_15
price: Price(amount=Decimal('-100'), currency=<Currency.EUR: 3>)
quantity: Power(mw=Decimal('1'))
state: TradeState.ACTIVE

=======================================================================================================

id: 63466443
buy_delivery_area: DeliveryArea(code='10YAT-APG------L', code_type=<EnergyMarketCodeType.EUROPE_EIC: 1>)
sell_delivery_area: DeliveryArea(code='10YDE-EON------1', code_type=<EnergyMarketCodeType.EUROPE_EIC: 1>)
execution_time: 2024-10-25 14:55:12.933268+00:00
delivery_start: 2024-10-25 16:00:00+00:00
duration: DeliveryDuration.MINUTES_60
price: Price(amount=Decimal('8'), currency=<Currency.EUR: 3>)
quantity: Power(mw=Decimal('1'))
state: TradeState.ACTIVE

=======================================================================================================

What did you expect instead?
I expect that the most recent trades are returned.
Affected version(s)
v.0.2.5
Affected part(s)
I don't know (part:❓)
Extra information
No response

Thanks for reporting the issue. We are currently looking into several issues related to the API service and we expect to have this particular issue fixed pretty soon.

This should be fixed now.

This should be fixed now.

Yes, seems like the problem is fixed. I did not have any issues with the public trade streaming during the last days. Thanks a lot for taking care of the problem.


Make fonts for ## H2 vs ### H3 more or qualitatively different from each other.

When I scroll through an article, sometimes I see both a ## H2 header and a ### H3 header in the display pane at the same time. In these cases I can perceive that one of the two headers is slightly smaller than the other, enabling me to understand which is H2 vs H3. However, depending on current vertical scroll location...
Often there is only one header in the current display, either an H2 or H3. The problem is I struggle to be sure which header type it is, H2 or H3. There are actions I can take to gain certainty, but having to take any such action is a h***le and distraction.
Please make ## H2 navyBlue, or implement some other qualitative distinction between the H2 vs H3 font. Thanks. GeneMi 2017/11/03

⚠ Idea migrated from UserVoice
Created By: GeneMi
Created On: 2017/11/03 16:58:42 +0000
Votes at Migration: 1
Supporters at Migration: 1

@kubeaver Can you take a look at this?

@Powerhelmsman we're working through new header stack now. This should be updated in the coming months.

#log-suggestion

🚀 ATTENTION: Internal request logged.

We've done some improvements to the UX, where the headings are much better presented.


Confusing CA Cert Setup

Hello,
On this page, it says:   You can establish a trust relationship between a HANA server and the gateway IdP by signing the gateway IdP's X509 certificate with a root certificate authority (CA) that's trusted by the HANA server.
But then it goes on to establish a trust with the IdP certificate only.
I believe that there are some scenarios where a CA cert is useful, but normally just a self-signed cert is actually the simplest solution and would allow point-to-point trust.
Is there a recommended approach?   The page seems to confuse the two options i.e. creating a CA, but not trusting the CA certificate...
Many thanks
Darryl

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

ID: fa7ca8d8-0f83-2cd6-57b1-04fc8e04981b
Version Independent ID: 196ee3c3-aa88-f8ca-c725-33bf77be0db5
Content: Use Security Assertion Markup Language for SSO from Power BI to on-premises data sources - Power BI
Content Source: powerbi-docs/connect-data/service-gateway-sso-saml.md
Service: powerbi
Sub-service: powerbi-gateways
GitHub Login: @arthiriyer
Microsoft Alias: arthii

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

Thanks for posting – note that we can only answer feedback related to the documentation, and can’t provide direct support or respond to feature requests.
Your best venue for getting an answer or feedback on your question is from the community (https://community.powerbi.com) or from support at https://support.powerbi.com. You can also provide feedback using the Give Product Feedback button at the bottom of the article page.


Native scroll in absolute positioned elements doesn't work in 1.5.0

After updating to the latest version (1.5.0) I noticed that my absolute positioned elements within the perfect-scrollbar div wrapper no longer scroll (y-axis). I reverted back to 1.4.0 where it's working. Any idea why this happens?

I also have the same problem, using 1.5.0 prevents any native scrollbar contained withing the perfect-scrollbar container to scroll... It works normally with version 1.4.0

Same to me, using it inside an ag-table vue instance. Switched to 1.4 and it works


LayoutReader can't be evaluated on a dataset smaller than the batchsize

Describe the bug
Model I am using LayoutReader
The problem arises when using:

[x] the official example scripts: (give details below)
[ ] my own modified scripts: (give details below)

A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Download test dataset and reduce a file down to smaller than batch size value
Run, error will be thrown when results are read due to the fact that output file is missing

Expected behavior
Either use the first_batch variable like:
first_batch = True
while first_batch or (next_i + args.batch_size <= len(input_lines)):
    first_batch = False

or throw a warning

Platform: Shouldn't matter
Python version:  Shouldn't matter
PyTorch version (GPU?):  Shouldn't matter

Done. Thanks for your kind suggestion!


Fixes #17 Implement undo and redo commands

#17 Implement undo and redo commands

Coverage increased (+2.0%) to 85.953% when pulling 998dc3a01ac9fff9924421b15f9501896a303c9c on command into 54e0d634135eafa234be5aef1c64088a14ccf77b on develop.


Crash on exit when accessing Umka-managed memory from C

The auarr array is owned and managed by Umka, so it is dangerous to store a reference to it (i. e., sounds) in C, as the memory can be freed at any time without notifying the C code. Instead, its constents should be copied into a C array.
For example:
void umauarr(UmkaStackSlot *p, UmkaStackSlot *r) {
	uu count = p[0].intVal;
	th_sound **auarr = (th_sound **)p[1].ptrVal;

	sound_count = count;

	if (sounds)
		free(sounds);

	sounds = malloc(sound_count * sizeof(th_sound *));
	memcpy(sounds, auarr, sound_count * sizeof(th_sound *));
}
...
void th_audio_deinit() {
	ma_device_uninit(&audev);

	if (!sounds)
		return;

	for (int i=sound_count - 1; i >= 0; i--) {
		ma_decoder_uninit(&sounds[i]->decoder);

		free(sounds[i]);
	}

	free(sounds);
	sounds = NULL;
}

I think I already came across this issue as setSounds is called every time a sound is loaded.

The problem is that you first return from main() in Umka (which means that all global variables are deallocated) and then try to deinitialize your sounds. Even though you still have the sounds themselves (since they have been allocated in C), they are no longer accessible, because the "table of contents", i. e. auarr or sounds, is lost.

Oh. This makes it much more clear. I thought global variables would be free'd on umkaFree call.

It's a subtle point. All heap-allocated variables in Umka are freed by the garbage collector, which is a part of the Umka virtual machine and cannot be run after the machine halts upon returning from main(). On the other hand, all "static" variables are freed by umkaFree(). If umkaFree() discovers any heap-allocated variables, it prints the Memory leak warning and deallocates them - this is considered either a garbage collection bug, or a symptom of terminating the whole program before returning from main().
For example, if you declare a global dynamic array, you actually have a "static" control record, which contains the data pointer, data size etc., and a heap-allocated data block. The former is freed by umkaFree(), the latter upon returning from main().
The variables considered as "static" in Umka are actually also allocated in heap under the hood. But this is done by C and is not tracked by the garbage collector.


Dynamically created tooltip are not working.

To reproduce:
Go to the tooltip documentation page and do this in the console:
$('body').prepend('<span data-tooltip class="has-tip" title="Tooltips are awesome, you should totally use them!">extended information</span>')

The link created on the top of the windows should be a valid tooltip but its not, instead I have to manually trigger the $(document).foundation() call again to make it work...
Reading #3955, delegation of event should take care of this.
I don't have time to dig this right now so if you have any clue to speed my research, please let me know ;)

Are you kidding me, the answer is $(document).foundation('tooltip')? So the current answer is "Foundation plugins do not support dynamic environments".

@Sinetheta Regarding the original issue, what's your suggestion?

Sorry there's not a lot to say @rafibomb. Having a quick look through the source shows that someone went to a lot of trouble to avoid having plugins work on dynamic content. https://github.com/zurb/foundation/blob/master/js/foundation/foundation.js#L107
I mean, I guess that's a nice way to be able to say "just run $.fn.foundation and we'll be as judicious as possible with our startup", but I don't think that kind of user is really going to be min-maxing their load time anyways.
Modules are great, but make it explicitly controllable or don't do it at all, because at first glance it looks to me as though the tooltips run on a single delegated event handler. If they weren't being hamstrung by the init process they'd work just fine as is.

@Sinetheta I have no doubt this code was not built with this use case in mind. Having said that, we are working on the next version and the JS will be re-written. Dynamically loaded content will be kept in mind as they are built out.

Gotcha, I see the issues for that now https://github.com/zurb/foundation/issues/6197
I'll keep my eyes open for a new branch then.

Regarding $(document).foundation('tooltip', 'reflow'):  really slow on IE, FF if a lot of tooltips have been added dynamically.  Trying setTimeout(..., 0) doesn't work as reflow is locking up the page until it's finished.

Not working for me too on 5.4.6

I was having a hard time with this behaviour as well, and unfortunately I cannot get rid of Foundation for the moment...
I "patched" foundation.tooltip.js this way (I'm (still...) using Foundation 5.5.3):
@@ -169,6 +165,10 @@
           settings = $.extend({}, this.settings, this.data_options($target)),
           tip = null;

+      if ($target.attr('title')) {
+        this.create($target);
+      }
+
       if (selector) {
         tip = this.S('span[data-selector="' + selector + '"]' + settings.tooltip_class);
       }

Just before showing the tooltip, I check if the target has an updated title attribute. If this is the case, I simply run the create method on it to update the tooltip's text. The create method takes care of removing the title attribute` on the target, so that this step won't be necessary next time.

you can try
$("body").tooltip({selector: '[data-toggle="tooltip"]'});

@Phuonglv123  you commented on an already solved issue which is 4 years old.
Things have changed since then.

Four years may have passed but this issue is still unsolved as far as I can tell. Looks like there's a PR open to try and resolve it but with no changes since February 26th.
For the record this issue, the fact that it was closed, and the fact that the new issues opened are also being ignored is why I stopped using Foundation.

I'm sorry to say that, especially about an open source project, but Foundation created more problems than it solves in my case. I'm slowly migrating everything to custom things or other libraries because there are lots of problem in Foundation approach.

Plan

@tedivm one year has passed since your first comment to this issue and how much have you contributed to this framework? Nothing, not even forked!
Open source doesn't mean you get everything you ask for without doing anything.
So instead of complaining you could have used the time to create a PR solving the issue or help with the one in talk.
@steoo same to you: your fist comment to this issue was more than 3 years ago and you haven't contributed anything yet and not even forked this repo either!

I'm slowly migrating everything to custom things or other libraries
Means in the end you need to write code yourself anyway (just not for Foundation) or are dependent on another project again what will only work as long as there are enough developers taking care of all unpaid requests.

back 2 topic:
I've just gone through the whole issue and think there are two problems:

changing the title of an existing tooltip doesn't work (sth as reflow or reinit is missing) – possible fix in https://github.com/zurb/foundation-sites/pull/10957/files
adding a new tooltip to DOM always requires to initialize it (either via foundation() or via new Foundation.Tooltip()) and can't work as expected by @johnraz

The latter can not be fixed because it's caused by the architecture of Foundation. Each tooltip is an individual plugin instance and therefore has to get initialized. Just adding a new tooltip elem without taking care of it doesn't work by design.
Maybe something we might consider for Foundation v7 @ncoden ?

here's a codepen I've made to play around with dynamic tooltips:
https://codepen.io/KaiTheGreat/pen/pqEaqB

@SassNinja it doesn't mean that you have to ignore the issue at all either. If someone asks about a behaviour the maintainer should at least respond; I'm answering three years later because someone also did but in the meantime, as I said, I worked around the bug, I've no interest in collaborating in something that, to me, is broken, because this is not the one and only problem I had with this "framework". I'm not blaming you, just said that this project is not the right fit for me and, maybe, for somebody else.

In general, you can listen for dynamically added elements easily and then initialize the elements (there are observers in native JavaScript) and it also works with custom events, see https://github.com/DanielRuf/noopener/blob/master/src/index.js

In general, you can easily listen for dynamically added elements and then initialize the elements (there are observers in native JavaScript) and it also works with custom events, see https://github.com/DanielRuf/noopener/blob/master/src/index.js

Have you tried reflow? $(document).foundation('tooltip', 'reflow');

As others wrote, this fixed the initial issue. So I think we can close this ticket here.
I would say we should close this issue and create a new one with a proper codepen and description as we have none in this one and there are different things mentioned.
@ncoden what do you think?

here's a codepen I've made to play around with dynamic tooltips:
codepen.io/KaiTheGreat/pen/pqEaqB

Looks very promising and works great.

Until @DanielRuf made his snarky comment about this issue being four years old and no longer relevant I was being quiet, but once he tried to shut this conversation down I pointed out that the issue was still valid.
On top of that though I actually did go ahead and open a new issue (#10898), which resulted in this PR (#10957), which in turn has been completely ignored- despite people tagging both @DanielRuf and @colin-marshall.
So I totally get that open source software (of which I've written a lot) depends on contributions, but if you want contributions you've got to be an open community and you've got to actually manage those PRs. Making snarky comments and shutting down threads while the issues are still relevant is not very inviting. Ignoring requests for feedback on open PRs, and then ignoring that PR for almost a year, is not going to encourage people to make more PRs. No one is going to contribute when the gatekeepers for the project ignore those contributions.
Honestly though I've already moved away from Foundation, and with the responses coming from the "collaborators" on the project I am extremely grateful that I did.

We do not ignore things, many (including me) do not work fulltime on Foundation and Foundation projects.
Closing old issues and creating new ones helps us to get all current information - we gave a clear issue template now.
Also your linked issue is not the exact same issue so these are two different things.

But it seems you also did not try my proposed and quoted solutions.
We do not know what exactly you have tried so far. And we had no more information (setup, example code, Foundation version and so on).
https://github.com/zurb/foundation-sites/issues/5503#issuecomment-362063836 is more like "I have this problem too" but there are no more details. Many parts of Foundation have been changed and fixed in the last 4 years. So this is not very helpful for us to make a reproducable test and know what you've exactly tried.
So far calling $(document).foundation() to initialize dynamically added components (or just the single and newly added component - at least in React we have componentDidMount and so on) is and was unproblematic in my cases and projects.

Also at https://github.com/zurb/foundation-sites/pull/10957#issuecomment-368677386 we await feedback from the contributor (see the PR review).
We've merged many PRs and closed many outdated and resolved issues for all releases after 6.4.3, so we work on things and don't ignore them.

@tedivm https://github.com/zurb/foundation-sites/issues/5503#issuecomment-448179129
Is this a possible solution for your issue? Do you have ideas how we can observe / listen for newly added elements and initialize them in Foundation? I've proposed a solution at https://github.com/zurb/foundation-sites/issues/5503#issuecomment-448222220

I've closed this issue because we did not receive any further feedback or reports regarding this. Please create a new issue with thr issue temple if this is still broken in 6.5.3.


Support the displayName Jest Config property

We use the displayName Jest configuration property to name our test suites, so we don't want to also have to set a title when we use the Jest Buildkite Reporter.
This PR adds support for the displayName property, or it will attempt to fallback to the current title option.

:tada: This PR is included in version 0.5.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Can't replace Caps Lock

Hi,
I can't replace the Caps Lock key using my script:
require "init"

key "caps" => replace "escape"

The result:
lua5.3: ./LLib/Keymap.lua:310: No such key: caps
stack traceback:
	[C]: in function 'error'
	./LLib/Keymap.lua:310: in function 'Keymap.getKeysym'
	(...tail calls...)
	./LLib/Hawck.lua:69: in function 'key'
	/home/.../.local/share/hawck/scripts/colemak.lua:3: in main chunk
	[C]: in ?

I have tried "Caps_Lock", I've tried looking at the code and changing selected keymaps around, to no avail, there just is no Caps Lock. I don't know Lua, so my debugging skills are limited here. Do you maybe know what's happening?

Have you tried:
-- Note the caps on Caps, caps
key "Caps" => replace "Escape"

Also, you don't need require "init" at the top.
I really need to get around to updating the documentation, as well as making those keys case-insensitive (busy with university assignments atm unfortunately.)
PS: nice profile picture, that's one of my favorite paintings.

Thank you! Caps with a big "C" works. I can't get to work around @ and ", I'll look in README and
I am on master branch. I compeletely understand your being busy, I can send some things that don't work for me here, and send a PR to fix them if eligible. My biggest problem is lack of know-how around Lua ecosystem, but once I get everything working everything should be cool.
Can I suggest adding minimal versions of some dependencies to the README? I had to update my GCC and Ruby accordingly. Also, there are still lowercap Caps and Escape in the README. I can include it in a PR if that would help.
In general, is it possible to list programatically all labels that Hawck can match, like "Escape", "Caps" etc? I tried looking around xkb and linux maps, but I'm still too confused to find it perhaps.
Thanks again for this project, I really needed a neat replacement for xmodmap!

Sorry for adding info here, but I have to ask and I wouldn't like to spam the issues board.
I'm using xkb colemak us setup in /etc/default/keyboard. It supposedly maps Caps to Ctrl_L. Does that mean that Hawck never actually gets the Caps keycode, so it can't distinguish between "physical" Ctrl_L and one emulated by xkb?
I'm not aware that I can turn off xkb completely, I assume I should switch to a normal us keyboard and everything should work?

Hawck doesn't really use xkb at all, it reads from the Linux console keymaps exclusively, you just have to make sure that the keymap used by Hawck is the same one used by your desktop environment.
Since you're using the master-branch, I recently changed where scripts are placed and how they are activated. You no longer need the install shell script.
$ vim .config/hawck/scripts/my_script.hwk
## Enable the script
$ chmod 0755 .config/hawck/scripts/my_script.hwk
## Disable the script
$ chmod -x .config/hawck/scripts/my_script.hwk

Error/info messages should appear as desktop notifications, but they are also logged with syslog (journalctl -xe | grep hawck)
For testing things out, you can also do this:
$ sudo cp Hawck/bin/__UNSAFE_MODE.csv /var/lib/hawck-input/keys/

Which will whitelist all the keys, so that everything is passed from inputd to macrod.
For listing keys you can put the following snippet into ~/.local/share/hawck/scripts/print_keys.lua
require "init" -- Required in this case, because we're running it directly
local kbmap = require "Keymap"
local keys = kbmap.new("<your keymap code here, e.g no, de, us, pl>")
u.puts(keys.keymap)

And run it directly using lua
$ cd ~/.local/share/hawck/scripts
$ cat > print_keys.lua
<paste snippet>
$ lua print_keys.lua

Hope that helps.

Thank you, so I noticed a few things:

Some keyboards don't have particular keys in their keymap. For example, there is no "numbersign" nor "asciitilde" for us keymap. With a hawck script like:

shift + key "3" => replace "numbersign"

It, of course, doesn't know what numbersign is. Is there a possibility of making it know without changing the keymap? Does Hawck know only the characters present in the keymap?
When I do something like this:
shift + key "3" => replace "#"

Nothing changes. No messages in journal, no errors. Just old key(£ on my keyboard).

Another example. Currently my shift + "2" prints '"'(the double quote). When I do something like:

shift + key "2" => replace "@"

Whenever I press shift + "2", nothing changes. But when I do this:
shift + key "2" => write("@")

This happens: whenever I press shift + "2", I get two double quotes!

The most strange thing. With my script being

key "Caps" => replace "Escape"
shift + key "2" => replace "@"

and UNSAFE_MODE unblocking all keys from inputd, I get very strange results. When I press shift alone and hold it, I get a row of tildes(~) and hashes(#) racing against each other!
I'm debugging it step by step, but maybe you have seen such a thing? Tilde and hash are currently mapped to one key(tilde = shift + hash), which is NOT either of keys I tried to replace.
Something's definitely got mixed up here. I don't have xmodmap activated. My xkb is uk-colemak, but you said that xkb is not relevant here. If Hawck gets confused with my settings, how did I do that? :D

I missed something in the previous code snippet, here's the correct version:
require "init"
local kbmap = require "Keymap"
local keys = kbmap.new("uk-colemak")
u.puts(keys.keymap)
u.puts(keys.combo_map) -- Note this added line

The line added at the end there is where you should find "numbersign", "exclam", etc.
Also, you can try
shift + key "3" => off -- should result in nothing happening when pressing S-3

To see if there's just a problem getting a shift + key "3" activation.
Also make sure to edit ~/.local/share/hawck/cfg.lua so that it says:
local config = {
  keymap = "uk-colemak", -- edit this one
  disable_on_err = false,
  eval_keyup = true,
  eval_keydown = true,
  eval_repeat = true,
  disabled = false,
  notify_on_err = false,
}
return config

The replace function should not be used with keys that require modifiers, only with single keys. The write version should work, but there's probably a mixup with the two keymaps creating problems. You could also try:
down + shift + key "2" => off
up + shift + key "2" => insert "@"

Thank you again. I changed my keymap from colemak-uk to colemak-us, in /etc/default/keyboard as well as in hawck, and now everything works as expected. It must have been a quirk about UK layout, but I have no idea what exactly.

@rudolfkral Nice, then I'll close this.


Heroku demo not working

Thanks! The site is back now

it's malfunctioning again.

Not working for me.


Support for firearms modules

Whether it is possible to be compatible with modules such as "tacz", hide the arm of the third person and keep the display of the arm of the first person when holding a gun, so as to achieve the purpose of compatibility. (The final effect should be similar to "battlefield2042")

Closing as a duplicate of all the other gun mod issues.
TLDR: I will not invest time trying to make any gun mod better compatible, as there are too many, it takes too much time(especially for something I personally don't care about, if someone else wants to look into it, have fun), in the end, it doesn't work like you would expect it to(weapons not pointing the right way, line of sight not working, weapon blocking the entire view, missing animations), and this is up to the gun mod devs.


Error when unable to parse protocol?

a file like
protocol MyFunkyStuff
    func isFunky(name: String) -> Bool
}

(note the lack of opening {)
succeeds when it shouldn't, producing code that looks like:
import Foundation

// this file was generated by fake4swift
// https://github.com/tjarratt/fake4swift

class FakeMyFunkyStuff : MyFunkyStuff, Equatable {
    init() {
    }

    static func reset() {
    }
}

func == (a: FakeMyFunkyStuff, b: FakeMyFunkyStuff) -> Bool {
    return a === b
}

This might require some additional changes to SourceKitten (or maybe even sourcekitd ???) since it looks like they are giving us a mostly valid looking structure that fake4swift assumes was generated from a legit AST, free of compilation errors.
In this case, they give us a structure that lacks any methods in the protocol, which is pretty rad.


does not work on Windows 10

after picking the folder noting happens
OS :: windows 10

Thank you @maxzod for opening this issue, it has been fixed in version 0.0.3.
Try updating it out and hopefully it will work just fine ❤


<IP_ADDRESS> exe bug

update to <IP_ADDRESS>, i can't run any exe in win7 except sciter-dx.exe.
and when i click the help button it will show nothing except directory tree

and mdview bug details