Cache re-validation strategy to avoid cache stampede

I am trying to find a library that can tackle caching and cache re-validation.
For example when the cache is not available, I would like the first request execute the function but concurrent ones to wait until the first has finished instead of executing the function as well.
This is to avoid https://en.wikipedia.org/wiki/Cache_stampede
a good resource on the subject: https://grantjenks.com/docs/diskcache/case-study-landing-page-caching.html
Here is a simple example where I would expect only one concurrent API call at a time
import cachebox
from cachebox import TTLCache
import httpx
from concurrent import futures
import time
import logging

logging.basicConfig(level=logging.DEBUG)

mycache = TTLCache(0, ttl=3)

@cachebox.cached(mycache)
def sync_call() -> dict:
    logging.info("Httpx Call")
    res = httpx.get("https://fakeresponder.com/?sleep=2000")
    data = res.json()
    return data

if __name__ == "__main__":
    with futures.ThreadPoolExecutor(max_workers=5) as executor:
        for _ in range(1, 10):
            future_list = [executor.submit(sync_call) for _ in range(10)]
            for future in futures.as_completed(future_list):
                logging.info(f"got result: {future.result()}")

            time.sleep(1)

Hey @Benoss, I built a library called yapcache that does what you're looking for - It makes sure only one request executes the underlying function when the cache is empty, to prevent stampedes. And it uses the cachebox library under the hood.
# ...
from yapcache import memoize
from yapcache.caches import InMemoryCache
from yapcache.distlock import RedisDistLock

cache = InMemoryCache(maxsize=2_000)   # uses cachebox TTLCache

@memoize(
    cache,
    ttl=60,
    cache_key=lambda n: f"fn1-{n}",
    lock=lambda key: RedisDistLock(redis_client, key),
)
async def fn1(n: int):
    logging.info("Httpx Call")
    res = httpx.get("https://fakeresponder.com/?sleep=2000")
    data = res.json()
    return data

Hey @Benoss, I built a library called yapcache that does what you're looking for - It makes sure only one request executes the underlying function when the cache is empty, to prevent stampedes. And it uses the cachebox library under the hood.

Thanks, I will give it a go. Love the name of the lib BTW

dogpile.cache has it.

dogpile.cache has it.

I don't think dogpile supports async does it?


Address slow cluster query failures (Database not up to the requested version)

Neo4jError: Database not up to the requested version: 418742. Latest database version is 418741

This is an internal Neo4j error that affects halin's ability to get responses back, but it's not really something Halin can cope with.  Question is more how the UI should show that the database is having this issue, other than by a diagnostic, or a total failure.


Better practice for URI's

Suggestion:
I think URI's should match their module path. For example, for fp-ts-rxjs, the URI of the Observable should be "fp-ts-rxjs".  Similarly, the URI's in this lib should be something like "fp-ts/lib/Either" if it's the Either type.
Otherwise, we're kinda asking for naming conflicts. For example, if there were two implementations of fp-ts bindings to observables that both registered the "Observable" URI; which one would URI2HKT<"Observable"> evaluate to?

Re: symbols: good idea, but I don't think TypeScript is able to do type narrowing based on symbol attributes.
const Option = Symbol('fp-ts/lib/option');
type Option = typeof Option; // this resolves to just `unique symbol`

Ok, went ahead and submitted a PR!

So the scenario that I think will arise is this:

Author A and B both write bindings to fp-ts independent of one another, and both use the same name for their URI's (e.g. "Observable" or "List" or something)
I write some app that somehow includes both Author A and Author B's packages in my dependency tree
My typings are now messed up, and there's not really a way to fix it.

I'm not really that concerned that somebody is going to conflict with some core fp-ts module, but that two 3rd party libs will conflict with each other. So, why not encourage some sort of convention around this?

I agree, we should encourage (in the README?) some sort of convention and maybe piggyback on unique package identifiers, for example

you are free to choose any internal convention on your URIs as long as they are prepended by the name of your package

Example funfix
https://github.com/funfix/funfix/blob/0c315b6fe7a6c3cefc9e16f28278e85b88bebb58/packages/funfix-core/src/disjunctions.ts#L324

Yeah, prepending with package identifiers would work great. The PR I submitted (#506) actually adheres to that convention!
Re: readme example: I'd probably change the wording to something like this, since what people decide to publish is basically not enforceable:

you are free to choose any internal convention on your URIs, but we encourage you to prepend it with your npm package name

The PR I submitted (#506) actually adheres to that convention

Yes but I'm not convinced that we should rename all core URIs. Take Array or Either or Option, they are used in the definition of some type classes, doesn't make much sense importing alternative implementations. Also, as I explained in my previous comment, there's no risk of collisions if everybody follows the convention above.

Cool, yeah, I don't feel strongly about it one way or another. I think if you followed the convention in fp-ts, it'd encourage others to also follow the convention, but I also don't think it's a huge deal.


 IF YOU DO NOT FOLLOW THE FORMAT OR MAKE A GENERIC TOKEN REQUEST YOUR ISSUE WILL BE DELETED WITHOUT COMMENT
YOUR JUSTLIST MUST FOLLOW THE JSON SPECIFICATION
https://github.com/justswaporg/justlists/example.justlists.ts
Checklist

[ ] I understand that this is not the place to request a token listing.
[ ] I have tested that my JustList is compatible by pasting the URL into the add a list UI at justswap.org.
[ ] I understand that filing an issue or adding liquidity does not guarantee addition to the justlists website.

Please provide the following information for your token.
JustList URL must be HTTPS.
JustList URL:
JustList Name:
Link to the official homepage of the JustList manager:

Support Clener

Sorry, your issue will be closed as you did not submit your information in the correct format.


Media Foundation reposition not in reading

I was trying to get accurate seek with MediaFoundationReader. The default MediaFoundationSettings RepositionInRead is true but on seek reader.CurrentTime is not right because MediaFoundationReader.Position on set lies and sets the private position to setted value although reposition is not performed yet but it will be during the next read.
So I tried to set RepositionInRead false. When I try to seek, the reader gives the new position I set as before but the audio starts over from position 0 at each seek.

I encountered this as well, for me the problem occurs only when playing certain video files.
In my case it was a .webm file, that contains only a Vorbis audio track. As the audio was extracted from a video file, the audio is likely tied to the keyframes of the video stream it once accompanied.
As stated on docs.mirosoft.com:

The SetCurrentPosition method does not guarantee exact seeking.
After seeking, the application should call IMFSourceReader::ReadSample and advance to the desired position.

I 'fixed' it, by replacing this line
https://github.com/naudio/NAudio/blob/1f2cbc729c3cdbce2229edb1e0d617e9af35b555/NAudio/Wave/WaveStreams/MediaFoundationReader.cs#L284-L285
with
long decoderPosition = (long)((timestamp * (ulong)waveFormat.AverageBytesPerSecond) / 10000000UL);
if (decoderPosition + decoderOutputCount >= position)
{
    if (decoderPosition < position)
    {
        decoderOutputOffset = (int)(position + bytesWritten - decoderPosition);
        decoderOutputCount -= decoderOutputOffset;
    }

    bytesWritten += ReadFromDecoderBuffer(buffer, offset + bytesWritten, count - bytesWritten);
}

Not tested much, but it works for my case.

In my case, it's .mkv file with AAC 2ch 48k audio.
Thanks for suggesting a fix, I tried your solution and it worked but  decoderOutputCount in some cases can be negative and throw exception so I 'fixed' with
long decoderPosition = (long)((timestamp * (ulong)waveFormat.AverageBytesPerSecond) / 10000000UL);
if (decoderPosition + decoderOutputCount >= position)
{
    if (decoderPosition < position)
    {
        decoderOutputOffset = (int)(position + bytesWritten - decoderPosition);
        decoderOutputOffset = Math.Min(decoderOutputOffset, decoderOutputCount);
    }
    bytesWritten += ReadFromDecoderBuffer(buffer, offset + bytesWritten, count - bytesWritten);
}

I'm still having some trouble with duration (audio duration is less than video duration), temporarily 'fixed' by repositioning each read.
Did you notice duration discrepancy in your case?

Question: When you set Postition, do you make sure to set it to a multiple of WaveFormat.BitsPerSample / 8 * WaveFormat.Channels?
I was getting some audio glitches and thought it was related to my fix.
I have also done some more refactoring. I moved the skipping-to-the-desired-position code into the Reposition method. It also no longer copies to the decoderOutputBuffer if the desiredPosition is not within the current Sample.
The cause of the negative value of decoderOutputCount is that sometimes pReader.ReadSample returns the same timestamp for several consecutive calls.
Can you try with this code (based on current master 1f2cbc729c3cdbce2229edb1e0d617e9af35b555)? MediaFoundationReader.zip


16 test coverage close to 100

:tada: This PR is included in version 1.0.0-beta.4 :tada:
The release is available on:

GitHub release
npm package (@develop dist-tag)

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Optimize calculate_perplexity function

calculate_perplexity function generates Inf for very large completeLogLik. Can skip taking exp first then log by doing log(1) - mean(completeLogLik)

Hey Zhe, I'm actually pretty bad at math, can you explain how the proposed
formula you provided relates to the existing calculation?
Note that the perplexity is defined as "the reciprocal geometric mean of
the token likelihoods in the test corpus given the model" where the token
lilkelihoods are the completeLogLik values in celda. The current version
"un-logs" the completeLogLik and takes the inverse. I think technically
this isn't even the correct formula, though, given that the function
currently takes the arithmetic mean and not the geometric mean.
On Wed, Jun 28, 2017 at 10:50 AM Zhe Wang<EMAIL_ADDRESS>wrote:

calculate_perplexity function generates Inf for very large completeLogLik.
Can skip taking exp first then log by doing log(1) - mean(completeLogLik)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/compbiomed/celda/issues/112, or mute the thread
https://github.com/notifications/unsubscribe-auth/AJgiKvUi73qqJck0-Q-55vOWVmGCK2d2ks5sImb2gaJpZM4OIEjR
.

Well I don't know how perplexity is defined and how it should be calculated. By looking at the calculate_perplexity function in model_performance.R I just thought it was calculated like this

which is equivalent to

For geometric mean just change avg to geometric mean. This way there's no need to exponentiate and maybe no need to use Rmpfr::mpfr and should generate non Inf values.

The formula for perplexity does not have the log up front as you wrote;
it's just the fraction portion of your first formula, so these are not
equivalent. Your formula would be for the log perplexity.
The log perplexity is used for visualization purposes only, because the raw
perplexity scores are very very huge and need to be represnted with Rmpfr
numbers, because they are so large that R cannot represent them.
Because ggplot2
does not work with Rmpfr numbers, we need some internal R floating point
number to make the plots, which is why I take the log in order to be able
to represent them.
Does that make sense?
On Wed, Jun 28, 2017 at 12:15 PM Zhe Wang<EMAIL_ADDRESS>wrote:

Well I don't know how perplexity is defined and how it should be
calculated. By looking at the calculate_perplexity function in
model_performance.R I just thought it was calculated like this
[image: per1]
https://user-images.githubusercontent.com/16454489/27647898-d585029a-5bfa-11e7-90e4-143174ff990e.png
which is equivalent to
[image: per2]
https://user-images.githubusercontent.com/16454489/27647928-f5e1e2f6-5bfa-11e7-8233-38f75bbbd9b6.png
For geometric mean just change avg to geometric mean. This way there's no
need to exponentiate and maybe no need to use Rmpfr::mpfr and should
generate non Inf values.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/compbiomed/celda/issues/112#issuecomment-311710700,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJgiKpCoOfV8BNILKtgpTmgQ0xlcR_saks5sInwngaJpZM4OIEjR
.


Add document on how to access rbac k8s dashboard

Short summary about the issue/question:
Add documents on how to access rbac k8s dashboard, including use kube config and get service token.

For PAI which not enable https, we may need to provide a self-sign cert for dashbaord. Otherwise, we need to access dashboard through kube-proxy.
Or we can make PAI enable https by default and dashboard can reuse the cert

@Binyang2014 , we should enable https by default.

https://github.com/microsoft/pai/blob/master/docs/k8s-dashboard/access-k8s-dashboard.md


Renaming issue

I have a game object with a "Unity Armature Component" because I want to organize my game objects in the scene properly, while the armature's textures are present. I name my gameobjects for descriptive purposes, but they revert to "Armature" when Unity is in game mode.

I've checked that the name in the hierarchy will also depend on how you did it on DragonBones, but still I want to rename them in Unity.

Hi,
The bug has been fixed.


Update README.md instructions for capistrano integration

All capistrano plugins must be required in Capfile – updated that in README

Thank you for the contribution @drakmail! I've been working to move the reference documentation into a new hosted site, so I merged your changeset there. Here is the new deploy tracking guide.


Node add stops working when you run account init before

The network consensus nodes are configured to use a specific account ID to do the freeze transaction.  Currently, Solo is using the treasury account 0.0.2.  It needs to be updated to use the default freeze transaction account 0.0.58.
To recreate the issue:
  SOLO_CLUSTER_NAME=solo-e2e
  SOLO_NAMESPACE=solo-e2e
  SOLO_CLUSTER_SETUP_NAMESPACE=solo-e2e-cluster
  FST_CHARTS_DIR=~/source/full-stack-testing/charts
  kind delete cluster -n "${SOLO_CLUSTER_NAME}" || true
  kind create cluster -n "${SOLO_CLUSTER_NAME}" || return
  solo init -d ${FST_CHARTS_DIR} --namespace "${SOLO_NAMESPACE}" -i node0,node1,node2 -t v0.47.0 -s "${SOLO_CLUSTER_SETUP_NAMESPACE}" || return
  solo node keys --gossip-keys --tls-keys --key-format pem || return
  solo cluster setup  || return
  solo network deploy || return
  solo node setup || return
  solo node start || return
  solo account init || return
  solo node add -i node3 || return

Have this node add feature ever worked ?
To my understanding, to adding new node to the network needs the following steps:

update config.txt
generate a upgrade package and update the special file 0.0.150
send PrepPare upgrade transaction
send FreezeUpgrade
wait nodes freeze and restart nodes

In current node.mjs implementation, I did not any logic of step 2.

yes, that is technically not needed.  we instead update the config file version, which is another way to trigger the upgrade per Michael Tinker.
This works normally because we don't run solo account init, so all accounts are using genesis key.  But, when you run solo account init, each account gets its own key, and the check to validate that the correct account is running the freeze fails.

With latest code on main branch,
the above commands no longer fail at waiting for freeze,
but failed at last step solo node add -i node3
while node3 stuck at OBSERVING status
swirlds.log

Get some hint from Austin, we need to also update version number during the upgrade test

we already update the version number in the application.properties as part of the node add.  I'm a bit confused though, because node add was not part of recreating this issue.

After testing with hedera release v0.50.0,
I got the same SignedStateInvalidException as discussed in slack

where are you at on this?  do you need any help or clarification?  are you able to recreate the issue?

I believe it is facing the issue you have with #349.

if you use v0.49.0-alpha.2, the issue shouldn't exist.

:tada: This issue has been resolved in version 0.28.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Feat TUS integration with Knex

What kind of change does this PR introduce?
Feature
What is the new behavior?

Replace Postgrest with Knex
TUS protocol implementation

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1695 of 2362 (71.76%)  changed or added relevant lines in 52 files are covered.
88 unchanged lines in 6 files lost coverage.
Overall coverage decreased (-5.02%) to 80.757%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/monitoring/logger.ts
0
1
0.0%

src/app.ts
3
5
60.0%

src/http/plugins/db.ts
45
47
95.74%

src/queue/workers.ts
1
3
33.33%

src/auth/jwt.ts
7
10
70.0%

src/queue/events/object-admin-delete.ts
34
37
91.89%

src/database/client.ts
64
68
94.12%

src/database/connection.ts
102
106
96.23%

src/storage/backend/generic.ts
12
21
57.14%

src/storage/uploader.ts
144
156
92.31%

Files with Coverage Reduction
New Missed Lines
%

src/queue/events/base-event.ts
1
92.48%

src/queue/workers.ts
1
37.5%

src/storage/backend/file.ts
3
41.57%

src/storage/object.ts
6
91.52%

src/storage/errors.ts
37
62.94%

src/database/tenant.ts
40
55.11%

Totals

Change from base Build<PHONE_NUMBER>:
-5.02%

Covered Lines:
6169

Relevant Lines:
7652

💛  - Coveralls


Apply transformations to error and placeholder image

I want to be able to apply a circle and color (tint) transformation to my error and placholder images.
Basically I want my whatever image that comes out of my Load() method (image, error, placeholder) to be run through the transformations I apply.
Is there an easy way of doing this?

Hi @modplug,
Yes it's possible. Transformations are applied to placeholders by default. What is you platform? XF/Android/iOS/Windows?
ImageService.Instance.LoadCompiledResource("myPhoto.png")
  .LoadingPlaceholder("loading.png", Work.ImageSource.ApplicationBundle)
  .ErrorPlaceholder("error.png", Work.ImageSource.ApplicationBundle)
  .Transform(new List<ITransformation>() { new TintTransformation(), new CircleTransformation() } )
  .TransformPlaceholders(true) // you can enable/disable it here
  .Into(yourView);

await ImageService.Instance.LoadUrl(settings.Url) 		.LoadingPlaceholder(defaultImageName, ImageSource.CompiledResource) 		.Transform(new RoundedWithFillTransformation(0, 10, settings.BackgroundColor.ToHex())) 		.FadeAnimation(settings.Effect == ImageLoadEffect.Fade, false) 		.ErrorPlaceholder(defaultImageName, ImageSource.CompiledResource) 		.Transform(new RoundedWithFillTransformation(0, 10, settings.BackgroundColor.ToHex())) 		.DownSample(size.Width, size.Height) 		.IntoAsync(_imageView);
This is on Android and this is how I've set up my pipeline

I managed to tweak my custom transformation to do what I want so this can be closed now.
Peace!

This library works absolutely awesome for image loading.Is there any option to set color in place of image in LoadingPlaceHolder?

Is it possible for you to post the code for
CircledWithFillTransformation?

@modplug Latest FFImageLoading prerelease allows to write custom selectors for transformation (you can decide if you want to apply transformation on placeholder only too). See example here:
https://github.com/luberda-molinet/FFImageLoading/blob/master/samples/ImageLoading.Forms.Sample/Shared/Pages/Transformations/TransformationsSelectorPageModel.cs#L21-L43
@parinparikh-nv. I want to add BackgroundColorTransformation soon, which can be applied to any (even fully transparent) png. But... if you're using Xamarin.Forms you can bind BackgroundColor property of CachedImage to its IsLoading property and set custom color basing on its value.


can this project support chinese character？

Is your feature request related to a problem? Please describe.
First of all, my english is not good so if anything below offense you, forgive me ...
I am a chinese developer，and I found there's no chinese character supported. So I am here to request support.
Describe the solution you'd like
Support the chinese chatacter like jp chatacter.....
Describe alternatives you've considered
no
Additional context
no

No problem 👍

NES.css doesn't provide any fonts, but we do maintain the following list of fonts that we recommend for usage alongside the library.
https://github.com/nostalgic-css/NES.css#fonts

So if you know any 8-bit like Chinise fonts and would like to recommend it to other Chinese developers, Please let me know the font.
And if you can, please update README.md and send us a Pull Request. 🙏

@BcRikko yes you can checkout this link and download the chinese font in pixel art style
https://en.fontke.com/font/20173482/
But I am not sure weather it is 8-bit or not. And I am not good at css, too.   Really sorry for that....

Closing because of #406


Refactored sint16 to use the BlockExt trait

Checklist

[ ] Linked to Github Issue
[ ] Unit tests added
[ ] Integration tests added.
[ ] This change requires new documentation.

[ ] Documentation has been added/updated.

Codecov Report
Attention: Patch coverage is 95.00000% with 5 lines in your changes missing coverage. Please review.

Project coverage is 91.84%. Comparing base (b2f1568) to head (cd11209).
Report is 9 commits behind head on main.

Files
Patch %
Lines

src/libfuncs/sint16.rs
95.00%
5 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #663      +/-   ##
==========================================
- Coverage   91.95%   91.84%   -0.12%
==========================================
  Files         112      113       +1
  Lines       34265    34499     +234
==========================================
+ Hits        31509    31685     +176
- Misses       2756     2814      +58

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[WebView2] Add concepts doc: process-related events

Add WebView2 concepts doc: Process-related Events to provide app developers a better understanding of ProcessFailed and BrowserProcessExited events and how to handle them for recoverability and improved reliability.
TODO

To prevent churn, these are to be addressed after content-related issues are resolved.

[ ] Links for APIs (COM, NET, WinRT)
[ ] Links for internal references

AB#45161859

@lflores-ms @aluhrs13 @champnic @nishitha-burman @Reezaali
See also my PR 2670 https://github.com/MicrosoftDocs/edge-developer/pull/2670.  I'm able to push commits to it; I'm not currently able to push to the present PR.
Changes made in PR 2670:

Revised the headings, added subheadings instead of nested lists, clarified the article structure.
Linked to API Ref (as tab-sets) and linked to sections in the article.

TBD: Strategy of using PR 2666 & PR 2670.


implement chat websocket server using new renraku

blocked by #100
replaces #89

done on stage branch da829c8d4a8e419199f4f200d721e3dfc36ba5e6


added license file

Looked up your package.json and found ISC. Added the license text (source https://opensource.org/license/isc-license-txt/ resp. https://www.isc.org/licenses/) to make it obvious to github users that the plugin is open source.

Thanks for yout PR!
ISC is the default fornpm init, didn't even think about adding it as file 😅


ProgressBarAndroid Component does not announce "disabled"

https://github.com/facebook/react-native/issues/30941 and https://github.com/react-native-progress-view/progress-bar-android/issues/62
Description

When using a screen reader the ProgressBarAndroid component does not announce that it is disabled.
This issue is covered in-depth by parent issue https://github.com/facebook/react-native/issues/30840

Other Accessibility Issues in ProgressBar
Related issue https://github.com/react-native-progress-view/progress-bar-android/issues/61#issuecomment-785188227

ProgressBarAndroid is not focusable on Android API 28. The ScreenReader will not focus on the ProgressBar on API28, but works in API30. ScreenReader announces the values if setFocusable (see e0db4aa and VIDEO) is called on ProgressBar instance on API 28.

Debugging setItemCount (IMAGE), View method onFocus and logging with Android Studio (VIDEO and more info).

Accessibility Issue on API 28
Commit https://github.com/fabriziobertoglio1987/progress-bar-android/commit/a6b7cc966277ae15a744b0b4df08f860a24eab1a adds the accessible prop from the ReactViewManager ([video][https://user-images.githubusercontent.com/24992535/151934126-fbce62f8-3a5a-4542-9749-ac98859796fb.mp4]).
Relevant code for adding accessibilityState: https://github.com/fabriziobertoglio1987/react-native/blob/76a2cf3569571b943b4bcc6867e069338ff88f1f/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java#L180

https://github.com/fabriziobertoglio1987/react-native-notes/issues/3 may fix this issue

https://github.com/fabriziobertoglio1987/progress-bar-android/blob/a6b7cc966277ae15a744b0b4df08f860a24eab1a/android/src/main/java/com/reactnativecommunity/androidprogressbar/ReactProgressBarViewManager.java#L105-L108
  @Override
  public void updateExtraData(ProgressBarContainerView root, Object extraData) {
    // do nothing
  }

[ ] Check for other PRs fixing similar issue


Build Proprietary Compression Service and Local Build

Is your feature request related to a problem? Please describe.
As a developer, I would like to be able to send data to GCSS in a format they can accept.
Describe the solution you'd like
GCSS has indicated we must use agiledeltas proprietary compression software to compress/decompress the data. I would like a web service that can invoke either a compress or decompress request from the worker queue, and a way to run this locally without putting proprietary software on GitHub.
Describe alternatives you've considered
A CLI would be another option, but the worker would need the JRE installed, and we would be limited to how many instances we can spin up due to licensing.
Additional context
N/A.

via #148


Move Detekt config to root

Hopefully this will cause Codacy to report only the actual issues.
Based on the latest commits in #16, it looks like this actually works.

Codacy? Don't you mean appveyor?

@JSAbrahams No, I mean Codacy. It fixes the issue of Codacy running Detekt with an incorrect configuration, thus causing build failures for Detekt issues that we don't want to include.


[Discussion] Training with small files vs full songs? Is it worth experimenting with or not?

Spleeter is amazing!! As a producer for over 25 years it literally feels like magic to be able to do a de-mix a song..
I'd like to optimize the model for my work which is mostly around EDM/IDM. Of course there is no way to get a huge collection of stems (multi-tracks) for these genres but I can easily make millions of small loops. I was wondering if it's possible to train the model on small 10-30 sec loops and then use that model to separate full songs.
Before I spend a ton of time prepping the data set and running training, can someone give me a go/no go if you think that approach will work?

Hi @go-dustin,
the model we released with spleeter was trained on 12s segment and does perform the separation on 12s segments (the signal is chunked in 12s segment separated and then built back by concatenation of the separated segments).
So anyway the model has to be trained on fixed size segments (possibly different from 12s, but there are constraints imposed by the model structure on the exact input size, and I don't expect much improvement by changing this parameter).
Note that you don't have to prepare short chunks for the training if you use the training code of spleeter. The tensorflow dataset object is taking care of the chunking (see https://github.com/deezer/spleeter/blob/master/spleeter/dataset.py). You just need to specify the n_chunks_per_song parameter in the config file, to set the number of (randomly selected) chunk you want to extract from each song of your dataset.

@romi1502 thank you, increments of 12s is exactly what I needed to know. I'll report back my results!


Refreshing manually refreshing parent size

Currently when using withParentSize, if the parent changes size NOT from resizing the window (ex. show/hide side drawer that resizes the width of the main content), the width is not recalculated.
Need a way to force the component call resize() (based on a prop change, or expose the actual resize function to the user).  Maybe if we use a render function (which would be nice), something like...
<ParentSize>
{({ parentWidth, parentHeight, resize }) => (
  ...
  <button onClick={resize} />
)}
</ParentSize>

or maybe add a componentWillReceiveProps to ParentSize and any prop change will cause a resize to be called.  In my case, I have a drawerWidth prop that could trigger this.
<ParentSize drawerWidth={drawerWidth}>...</ParentSize>

react-resize-detector looks to support this, although it appears to have an issue

I think both options sound great. It seems like if you use resize manually
you probably don't want the eventlisteners as well, so maybe we expose a
disableEventListeners prop to not wire them up (or call
removeEventListeners if the prop changes)?
On Tue, Nov 7, 2017, 2:51 AM Chris Williams<EMAIL_ADDRESS>wrote:

@conglei https://github.com/conglei and I recently ran into this in
another project, and have an implementation that passes the resize
callback to the child function/component as you suggested that we can port
over here.
react-resize-detector is interesting. perhaps we could have an
implementation that adds the window scroll listeners on top of
window.resize + passes resize for maximum flexibility/utility?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/hshoff/vx/issues/192#issuecomment-342402385, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAK1RH0oR6DFjAwp9XnKg_9_7R6rlbtdks5s0AwYgaJpZM4QUOtT
.

@hshoff I didn't know if a Mutation Observer would detect it's parents dimensions changing (and thus it's own) or just the contents/attributes/children of an element/component (I've not used Mutation Observers myself yet but have read about them.

We could use a ResizerObserver, but it would require a polyfill as it's not supported on any browser yet

See the note at the bottom of the Google Developers article about polyfilling

https://twitter.com/yoavweiss/status/928686636895838208

fyi, I noticed the WithParentSize HOC doesn't use the new <ParentSize /> component so it doesn't resize on DOM changes

do you think there's still a need for the HOC? or should we deprecate it and just use <ParentSize /> going forward?


e2e: serial: handle > 2 workers

In case we have more than two workers, but some of them have
inconsistent NUMA zones (e.g. BM + VM workers in the same pool),
we can have a panic due to the void assumptions that all the workers
have the same NUMA zones.
This is arguably more a cluster configuration issue than a test flaw,
but the test should not panic nevertheless.
Signed-off-by: Francesco Romani<EMAIL_ADDRESS>

/approve
/lgtm


Running EAS build --local failed on a fresh repo

Description of the bug
How would you shortly summarise the issue?
I am having a hard time running eas build on a monorepo (pnpm).
So I decided to clone this repo and just run it as is (I linked it to my expo account, of course).
Probably I am forgetting something but my eas build android LOCAL is erroring with the following message. I did not try in the cloud but I guess locally should work as well.

To Reproduce
What steps did you perform that led to this issue?

Clone the repo
cd cd expo-monorepo-example/
pnpm install
pnpm build
cd apps/mobile
eas init (and then link to my account)
eas build --platform android --profile development --local

Am I missing something?

In time, sorry in advance if this is not a bug.


Using Flow types for generative testing

(I don't know if this is a question that would be better for IRC, a feature request or a request for documentation... pardon in advance.)
The more I use Flow the more I get out of it. It seems like it can go a lot further though. Clojure has had generative testing with test.check for a long time (borrowed from Haskell) where the tests will automatically generate variations of inputs and see where the function breaks. It even narrows down the inputs into the simplest breaking case.
Clojure folks just released clojure.spec that lets you specify type annotations. Clojure's version goes deep and has lots of implications, but one thing they get is generative testing for free once the specs are done.
Are people doing this with Flow? If so it would be fantastic to put documentation on the site to point to examples and libraries that can do this. I know of mocha-check but don't know of any way to leverage Flow.
If people aren't doing this, are there technical limitations or difficulties to do it? Could this be built into Flow or add features to Flow that could enable this by other libraries?
Flow's value proposition is already good, but being able to get generative testing out of it could be amazing.

Closing since this issue hasn’t seen a lot of activity. Sorry about that 😣
If you want this we’d love to see it built in the ecosystem 😊


osr_parser.py doesn't raise ValueError if file is incorrect

The osu_parser.py raises ValueError if header of file is incorrect. This behaviour should be similar for the osr_parser.py. it could be done by checking replay file header for b"\x00\x80\xc3\xc9\x01\x0b".

This would be great idea if only replays had custom header, unfortunately the bytes you send are just mode and client version the replay was created at. Closing as I can't solve it.

Replays do not have a custom header, but it is not a problem. Bits in the file are strictly defined so it is possible to utilize that.
My current method looks like this:
def is_file_replay(filepath: str) -> bool:

    with open(filepath, "rb") as f:
        file_header = f.read(5)
        return len(file_header) == 5 and file_header.startswith(b"\x00") and file_header.endswith(b"\x01")

starting "\x00" is for osu gamemode and "\x01" at the last bit (little-endian) is for the year/lazer_year from version number which for lazer is 3000 and for osu is in the range of 20xx. In my lazer_db with over 20,000 replays and much more other files, no false positives.


Add platform_view_swift based on platform_view example

This is a port of the Objective-C platform_view example in Swift. I tried to keep it true to the original, and the port matches the Objective-C version's behavior on my device.

I signed it!

Closing this request because I forgot to associate my email address with the commits. Will resubmit shortly.


Option to filter out duplicate files.

We should have an option to filter out duplicate files.

You can assign this to me, in that case, if the same file (same hash maybe) is on the list, and the filter is on, it won't show, right?

@alexweininger  it should filter only by name or should check the hash of the file?


Make it vim plug compatible

Hi, vim-plug is one of the most used vim plugin managers. It allows loading plugins by adding a line like Plug 'pradyungn/Mountain', { 'rtp': 'vim' } to your .vimrc (or init.nvim). It requires files inside your plugin folder (or subfolder, if you use the rtp option like above) to match the structure of a vim plugin. So, color schemes must be inside a colors subdirectory. This PR does exactly this.
Also, it changes the coporscheme name from tomorrow to mountain, so that typing :colorscheme inside vim returns the correct color scheme.

Thanks for the changes, these look great! Merging it into stable right now :)


Avoid hardcoded use of the logging package

Avoid using global calls to the logging package so that users of the library are free to provide their own implementation. Even more ideal would be using a logging interface that supports the context pattern as described in:   https://github.com/awslabs/aws-sdk-go/issues/75

This should be fixed by the above commit in develop. I am going to mark this as resolved since this is a feature request. Thanks for bringing this up!

The changes are better than writing to stdout by default, but still far from ideal when it comes to capturing logging information in a meaningful way. Additionally, by just writing to a io.Writer how is the user of the library supposed to know when a single "log message" has been written? In the v4 signing code for instance, a single "message" is actually 7 separate write calls with no way of knowing what indicates the begin or end of the message.
There are already many conventions for logging APIs, the Go standard library even has one. So something as simple as:
type Logger interface {
    Debug(message string)
    Info(message string)
    // etc
}

Would be both simple to use and simple to implement inside of the library.

Hey Justin,
Thanks for the feedback. We definitely know that there are improvements that can be made to logging capabilities in the SDK. Incremental changes will be made as we start to build out these features, but I think the above commit is a good start that solves the core problem reported in this issue. If you want to put together a PR that uses a more user-friendly interface, I'd be happy to take a look at it.

Have you had a chance to look at the context pattern case? I updated it with more information about usage patterns. That would pretty heavily impact any interface I would propose.

@justonia I still have to take a close look, but can you explain why the logging interface would be affected by the context pattern? Are you suggesting that simply using the log.Logger type as alluded to above would still be insufficient?

Our logger interface requires a context object because we inject request-scoped parameters into it that we then use to create very detailed log information. For example:
18:57:23.450 3ms    3ms    main:frontend:setup:core:aws:dynamodb:connection:query - [ERROR]
{
    "type": "*url.Error",
    "message": "Post http://<IP_ADDRESS>:8000/: dial tcp <IP_ADDRESS>:8000: connection refused",
    "url": "http://<IP_ADDRESS>:8000",
    "request_id": "de5c2b0858e94caf80cd8e47295ab190"
}

This example is from our stdout log backend for one log message from a failed DynamoDb connection attempt (using our internal library). It contains the time, the elapsed time since the request started, the call stack string, the log level, and a series of k/v pairs describing in more detail what the log message actually is. The only parameters that our low-level DynamoDb library provided to the log interface were "type", "message", and "url". Everything else was injected and stored within the request-scoped context. We have other backends we output rich JSON data to, such as Loggly. We can then run detailed analytics against a huge collection of log messages to make meaningful decisions on what is going on in our system.

Why not simply use the Go logging package? Every Gopher knows how to use, tune and disable it.
And it logs to stderr per default, so you can have meaningful output at stdout.
Would you accept a PR for that until your full blown logging solution is designed and developed?

Again, for the same reasons I have mentioned it is impossible to get request scoped information into even the default Go logger without having to have every single method take every single parameter you want logged.

@nightlyone I think a PR to use log.Logger would be a step in the right direction while we discuss the implications of the context pattern in the SDK more generally.

Sounds good to me.


Replace smart quotes in form

Iterate through values in sheets

survey
choices
settings

and replace any "smart quote" characters (inserted by excel) with simpler alternatives.

🎉🎉🎉


the option to add collection inside another One

it will be great to add the option to create a collection inside a record , it will manage the structure of the project , it like a folder inside a Record , it gonna be great

Hm, I guess this could be used for creating small inline collection(s) that you don't want to be visible in the sidebar, but I'm not sure how useful that would be.
Could you give an example how do you plan to use it?

I have been used firebase and I saw this option in the Cloudfire store,
Like it shown in the picture below :

i tell you a simple example :
i want to make a todo application (the users will store the same data schema in the database)
I will make a collection named Users, and make a user relation for the first collection Row .
and after that we add another collection inside the 1st one name todos (that have the another schema),
in conclusion : when the user create a account , it make a record in the first Collection and when he submit the data it stored in second one .
That How it will be !
I did not find a solution for that in the actuel collection option !

In PocketBase you can do almost the same if you use the relation type field (you have to create the related collection beforehand so that you can link it).
The only drawback of the current approach is that you can't submit the 2 collection records in a single transaction, or in other words, if you have 2 related collections you have to submit each of them separately, eg.:
const project = await client.records.create("project", {
    ...
});

client.records.create("todo", {
    projectId: project.id,
    ...
});

There are plans to add support for transactional create/update in https://github.com/pocketbase/pocketbase/issues/48, but that's currently on hold. The idea is to allow submitting/importing records from different collections in a single transactional request (aka. if one fail, nothing get saved), something like:
client.records.bulkCreate({
    project: [ {...}, {...} ],
    todo: [ {...}, {...} ],
});

I'll move the issue to Q&A discussion.


arch: arm: support for KW2xD SiP and USB-KW24D512

add KW2XD SiP support
add USB-KW24D512 support

@dbkinder @galak @MaureenHelm please review changes

Funny, it does not even go through (on Debian testing), I did not try it yet with Zephyr SDK. It fails each time on different test or samples.
Generating LALR tables
Cleaning output directory /home/john/src/zephyr-project/sanity-out
Building testcase defconfigs...
Traceback (most recent call last):
  File "./scripts/sanitycheck", line 2096, in <module>
    main()
  File "./scripts/sanitycheck", line 1991, in main
    args.platform_limit, toolchain, args.extra_args, args.ccache)
  File "./scripts/sanitycheck", line 1407, in apply_filters
    with open(out_config, "r") as fp:
FileNotFoundError: [Errno 2] No such file or directory: '/home/john/src/zephyr-project/sanity-out/usb_kw24d512/tests/net/lib/http_header_fields/test_with_bt/.config-sanitycheck'

That's a new one for me.

It was my environment in the shell,  USE_CCACHE=1 was defined.

./scripts/sanitycheck -p usb_kw24d512

Generating LALR tables
Cleaning output directory /home/john/src/zephyr-project/sanity-out
Building testcase defconfigs...
104 tests selected, 21805 tests discarded due to filters
total complete:   99/ 104  95%  failed:    0
104 of 104 tests passed with 0 warnings in 452 seconds
Traceback (most recent call last):
  File "./scripts/sanitycheck", line 2096, in <module>
    main()
  File "./scripts/sanitycheck", line 2087, in main
    ts.testcase_report(LAST_SANITY)
  File "./scripts/sanitycheck", line 1712, in testcase_report
    rowdict["ram_size"] = goal.metrics["ram_size"]
KeyError: 'ram_size'

@galak any chance to get it in 1.9, I guess not :smile:

Needs rebasing, but otherwise LGTM. I tested hello_world and basic/blinky samples on hw. Can you enable at least one of the net samples too?

Needs rebasing, but otherwise LGTM. I tested hello_world and basic/blinky samples on hw. Can you enable at least one of the net samples too?

rebased, sample samples/net/ieee802154/hw/ (make BOARD=usb_kw24d512 CONF_FILE=prj_mcr20a.conf debug) can be built and tried out, but the shell does not work with the RTT. If you can get the IP address (sniffer), then you can ping the device :smile:.

@galak Is there anything that prevents it from being accepted?

@jfischer-phytec-iot need to look at the sanity failures and decide what to do about them.

@jfischer-phytec-iot need to look at the sanity failures and decide what to do about them.

The problem is that you've enabled default drivers based on the SoC (which is the right thing to do), but not default driver instances based on the board. You can add default uart and i2c instances to the board defconfig to clean up the build warnings in these tests.

@galak @MaureenHelm I followed your suggestion also added options for ADC and FTM, needs review


Float grid doesn't have same unequal columns (2-10, 1-11, etc)

This is fixed due to how it all works in v2.0


[MM-387]: Added support to subscribe to release and deployment

Description
Added support to subscribe to release and deployment.
Screenshots

What to Test

create a subscription with release and deployment features and test the expected notifications are received.

Also, fix the failing lint

Created a PR with all the changes in the Mattermost organization's GitLab plugin repo, so closing this one


Missing All_20170403.vcf.gz while upgrading

Hi Brad,
I met with an issue while trying to upgrade vep to the latest version using this command line.
bcbio_nextgen.py upgrade --datatarget vep
It seems that a required file is missing?
Running GGD recipe: GRCh37 dbsnp<PHONE_NUMBER>3
--2017-07-13 10:03:32--  ftp://ftp.ncbi.nih.gov/snp/organisms/human_9606_b150_GRCh37p13/VCF/All_20170403.vcf.gz
=> “variation/dbsnp-150-orig.vcf.gz”
Resolving ftp.ncbi.nih.gov... <IP_ADDRESS>, 2607:f220:41e:250::10
Connecting to ftp.ncbi.nih.gov|<IP_ADDRESS>|:21... connected.
Logging in as anonymous ...
No such file “All_20170403.vcf.gz”.
Traceback (most recent call last):
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/bin/bcbio_nextgen.py", line 215, in
install.upgrade_bcbio(kwargs["args"])
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/install.py", line 96, in upgrade_bcbio
upgrade_bcbio_data(args, REMOTES)
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/site-packages/bcbio/install.py", line 293, in upgrade_bcbio_data
cbl_deploy.deploy(s)
File "/home/dlho/tmpbcbio-install/cloudbiolinux/cloudbio/deploy/init.py", line 65, in deploy
_setup_vm(options, vm_launcher, actions)
File "/home/dlho/tmpbcbio-install/cloudbiolinux/cloudbio/deploy/init.py", line 110, in _setup_vm
configure_instance(options, actions)
File "/home/dlho/tmpbcbio-install/cloudbiolinux/cloudbio/deploy/init.py", line 268, in configure_instance
setup_biodata(options)
File "/home/dlho/tmpbcbio-install/cloudbiolinux/cloudbio/deploy/init.py", line 250, in setup_biodata
install_proc(options["genomes"], ["ggd", "s3", "raw"])
File "/home/dlho/tmpbcbio-install/cloudbiolinux/cloudbio/biodata/genomes.py", line 338, in install_data
_prep_genomes(env, genomes, genome_indexes, ready_approaches)
File "/home/dlho/tmpbcbio-install/cloudbiolinux/cloudbio/biodata/genomes.py", line 467, in _prep_genomes
retrieve_fn(env, manager, gid, idx)
File "/home/dlho/tmpbcbio-install/cloudbiolinux/cloudbio/biodata/genomes.py", line 812, in _install_with_ggd
ggd.install_recipe(env.cwd, recipe_file, gid)
File "/home/dlho/tmpbcbio-install/cloudbiolinux/cloudbio/biodata/ggd.py", line 31, in install_recipe
recipe["recipe"]["full"]["recipe_type"])
File "/home/dlho/tmpbcbio-install/cloudbiolinux/cloudbio/biodata/ggd.py", line 63, in _run_recipe
subprocess.check_output(["bash", run_file])
File "/mnt/projects/dlho/tancrc/bcbio_pipeline/anaconda/lib/python2.7/subprocess.py", line 574, in check_output
raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '['bash', '/mnt/projects/dlho/tancrc/bcbio_pipeline/genomes/Hsapiens/GRCh37/txtmp/ggd-run.sh']' returned non-zero exit status 8

Sorry about the issue, this was fixed yesterday but you might have an old cached cloudbiolinux without the fix. Could you try doing:
rm -rf /home/dlho/tmpbcbio-install

and then re-running? Hopefully this will fix it for you, please let us know if you run into any other issues and we can re-open.

Hi Brad,
I removed the tmpbcbio-install directory but it still didn't work - the same error occurred.
Could it be because I'm using a developmental version of bcbio - bcbio-nextgen,1.0.5a0-68b68f7
Btw, I also can't upgrade to the latest developmental version - see #2001


documentation for argo and chaostoolkit

Signed-off-by: Sumit Nagal<EMAIL_ADDRESS>

We also need an entry in the sidebar to add the new category & doc for chaostoolkit after this subcategory: https://github.com/litmuschaos/litmus-docs/blob/649ef3353c5ba2fb2b6256a6eb0f5aae3f877715/website/sidebars.json#L93

Thanks for the changes @sumitnagal ! LGTM


Add ability to add batch of cells

Currently, the "batch add" feature only allows for adding samples. This PR adds the ability to also add cells, with a template option for positive electrode, electroylte, and negative electrode.

[x] Functionality for adding a batch of cell and choosing electrodes
[x] Figure out how to cleanly label positive electrode, electrolyte, and negative electrode fields
[x] Rename "Add a batch of samples" -> "Add a batch of items"
[x] Rename sample -> item in BatchCreateSampleModal.vue
[x] Turn on taggable in the ItemSelect components in the batch sample modal
[x] update e2e tests
[x] add test(s)

Closes #396

A small difference with "Add an item" is that Cell components are not written as optional in "Add batch of cells", If you want to add it.

This is a good point, but I just tried adding in (optional) and it makes it a little bit messy, especially on small fields. I think that people will be able to figure it out pretty well, but if we get questions from users about this we can revisit in the future.
In general, I think this component probably needs to be redesigned to be more flexible/powerful at some point, and also mobile-friendly.


Please re-enable native-media native player

#182 says

Tested: build on Mac, runs on Android-N/N5X
Known Issue: native-media native player still is not working

I tested native player on Android M / Nexus 9, native player works. Android N / Nexus 9, not works.
It seems to be Android N preview bug.
Please revert https://github.com/googlesamples/android-ndk/commit/f9007017fd4f1e524b120f4714d21077de40fd1a

I reported Android N preview issue tracker
https://code.google.com/p/android/issues/detail?id=209410

yes, I disabled it because I could not get it to work on native, only Java works.  I need find owner to fix it on native side.  let me confirm that the M still works: if it does, I will re-open it and we follow it with the other bug
thanks

yes, indeed: it works on my Nexus 6 (M);  Nexus 5X ( N preview ) is not working. I will enabled it and file internal bug to link to your bug.  hope to get it fix soon
thanks

@khirowatari please "LGTM" in this pull https://github.com/googlesamples/android-ndk/pull/194?  I will merge it in.  thanks

merged, thank you!


possibility to know evry single transit depth (each r_1 and r_2)

Dear Nestor
Is it possible to reach every single transit depth, in order to every single r_1 and r_2?
thank you
Mohammad

Hi Mohammad,
Not yet, but I've thought of implementing this though. Should be very similar (and easier than) the TTV implementation.
N.

This would be very useful, indeed. I also think that there should be a way of outputting the duration of the fitted transit model as well! (at some point, even the duration of single transits for TTV, TDVs..)

Hi folks! We've already implemented in the latest version of juliet the possibility to fit different transit depths simultaneously (thanks so @Jayshil's efforts!). You would do so by doing something like:
p_p1_TESS     uniform 0., 1.
p_p1_JWST    uniform 0., 1.

And so on. I haven't had time to document this, but likely will do so in the next few months! Will be closing this once docs are updated, but will leave the issue open for the time being.
N.

Great, @nespinoza !
Do you mean like:
p_p1_TESS_0
p_p1_TESS_1

like the transit time, or just for different instruments? And if it's exactly like the transit times (T_p1_TESS_0... etc), what about the r1, r2 parametrization?
By the way, having at least the transit duration as an optional output of any transit fitting, would be extremely valuable.

Hi @LucaNap,
No, the implementation I described above fits depths on different instruments, which might have common transit parameters. As in:
P_p1                 normal 4.1,0.01
t0_p1                normal 2455242.,0.01
.
.
.
p_p1_TESS1     uniform 0., 1.
p_p1_TESS2    uniform 0., 1.

In theory, with this framework you can still do what you want to do --- the t0's can come from different instruments too, so you can divide first manually a lightcurve into different chunks, and fit a different depth and time-of-transit for each lightcurve (assuming they are "different instruments"). You can link, e.g., mflux, q1, q2, etc., to be the same for different instruments (e.g., mflux_TESS1_TESS2) and that would be equivalent to what you want to do.
N.

As for the r1 and r2 parameters --- no, only p can be done like those.

And as for the question about outputting the transit duration, it is useful, but I prefer to leave that to the user --- as transit duration might mean different things to different people (see Section 18 here: https://arxiv.org/pdf/1907.09480).


Localization support

I'm using your filters to pre-compute some number input formfields in my templates. As long as my client browser is set to english the filters work fine, but if it is set to my native language (german) they stop working (empty result).
Turning of localization ({% localize off %} around the form did solve the problem. So I believe that somewhere in the process the decimal separator becomes incompatible. Any chance to deal with this issue from inside the filter functions?

Hm, so if I understand it correctly you're passing in localized numbers into the filter?

Well if you suggest to just turn off localization i would happily do that, if Django would be able to also turn off the input field localization. Unfortunately this is defined by the client browser. So if i turn off localization (e.g. by settings.py l10n=false) i have "." decimal points in all output fields but still "," decimal point in all input fields. Sure this may be just eye candy, but an annoying one, if you try to get a little professional look to your forms.

Good point. The filters should primarily be used for presentation purposes. A good use case that comes to my mind is to multiply a value between 0.0-1.0 by 100 to make it a percent-like number.


CONTACT TECHS FROM GEARHEADENGINEERS . ORG IF SCAMMED THROUGH CRYPTO IN CANADA

If you're seeking an unparalleled solution to recover lost or stolen cryptocurrency, let me introduce you to GearHead Engineers Solutions. Their exceptional team of cybersecurity experts doesn't just restore your funds; they restore your peace of mind. With a blend of cutting-edge technology and unparalleled expertise, GearHead Engineers swiftly navigates the intricate web of the digital underworld to reclaim what's rightfully yours. In your moment of distress, they become your steadfast allies, guiding you through the intricate process of recovery with transparency, trustworthiness, and unwavering professionalism. Their team of seasoned web developers and cyber specialists possesses the acumen to dissect the most sophisticated schemes, leaving no stone unturned in their quest for justice. They don't just stop at recovering your assets; they go the extra mile to identify and track down the perpetrators, ensuring they face the consequences of their deceitful actions. What sets  GearHead Engineers apart is not just their technical prowess, but their unwavering commitment to their clients. From the moment you reach out to them, you're met with compassion, understanding, and a resolute determination to right the wrongs inflicted upon you. It's not just about reclaiming lost funds; it's about restoring faith in the digital landscape and empowering individuals to reclaim control over their financial futures. If you find yourself ensnared in the clutches of cybercrime, don't despair. Reach out to GearHead Engineers and let them weave their magic. With their expertise by your side, you can turn the tide against adversity and emerge stronger than ever before. In the realm of cybersecurity, GearHead Engineers reigns supreme. Don't just take my word for it—experience their unparalleled excellence for yourself. Your journey to recovery starts here.

At the end of 2023, I found myself ensnared in a nightmare of epic proportions. It was a year marked by loss and betrayal, as I fell victim to the siren song of a fraudulent Forex Investment Company, losing a significant portion of my hard-earned Bitcoin in the process. The aftermath was a whirlwind of despair and uncertainty, as I grappled with the harsh reality of my situation. How could I ever hope to recover what had been so callously taken from me? It seemed like an insurmountable task, a mountain too steep to climb. But amidst the chaos and despair, a glimmer of hope emerged on the horizon – Trust Geeks Hack Expert. With nothing left to lose, I reached out to them, laying bare the extent of my misfortune and placing my trust in their capable hands. From the moment they took on my case, I knew I was in good hands. Their team of professionals and hackers worked tirelessly, employing every tool and technique at their disposal to track down and retrieve my stolen funds. It was a Herculean effort, a battle fought on the front lines of the digital battlefield. Days turned into weeks, and weeks into months, but still, they persisted. Their dedication knew no bounds, their determination unwavering in the face of seemingly insurmountable odds. And then, like a bolt from the blue, came the news I had scarcely dared to hope for – my lost Bitcoin, all 2 million Euros worth, had been successfully recovered. It was a moment of disbelief and profound relief, as I realized that what had once seemed impossible had become a reality. Trust Geeks Hack Expert  not only restored my financial security but also restored my faith in the power of resilience and determination. Their expertise and dedication were unmatched, and their commitment to justice was unwavering in the face of adversity. They were not just a team of professionals but a beacon of hope for those who had lost their way in the labyrinth of deception. To anyone who finds themselves in a similar situation, I offer this advice – do not lose hope. Reach out to Trust Geeks Hack Expert website. https://trustgeekshackexpert.com/ &   Telegram ID : Trustgeekshackexpert , for they possess the knowledge and skill to turn despair into triumph, and darkness into light. In a world where trust is often betrayed and dreams shattered, Trust Geeks Hack Expert stands as a testament to the power of perseverance and determination. They are the real deal when it comes to reclaiming what is rightfully yours, and I will forever be grateful for their unwavering support and expertise.


A method to update to the latest pre-built release

Feature Description
I use lazy.nvim. I'm used to installing the latest commit for every plugin.
blink.cmp requires me to build the plugin each time with Rust. This is inconvenient for machines with limited resources, including say Termux when that gets supported.
Could there be an option to always install the latest pre-built release, instead of manually updating the version key each time?

Hey there, you can set the version to "0.*" which will update to any version < 1.0 https://lazy.folke.io/spec#spec-versioning


Update of iCubGenova09 configuration files

Hi @S-Dafarra, what is the status of this PR? Is it ready to be merged?
I am checking the open PR since on 31/05 we have the Distro release

Hi @S-Dafarra, what is the status of this PR? Is it ready to be merged?
I am checking the open PR since on 31/05 we have the Distro release

Yes, it is ready.


Remove bitrig support

support no longer exists for this target in Rust.
See https://github.com/rust-lang/rust/issues/60743

I'm going to merge this, if anyone still needs Bitrig support feel free to open an issue.

Thank you!


make remote host a real url

this means you can do things like prefix-based reverse-proxying and reverse-proxying in general, actually
it also knows about proxying to subfolders and thus uses a url-base, meaning you can do something like kvass config remote https://my.normal.website/secret/kvass/
example setup with caddy
server: kvass --bind=localhost:8081 (you can also bind to <IP_ADDRESS> if the reverse proxy is off-system)
proxy:
my.domain {
	// ... the rest of the domain
	handle_path /secret/prefix/kvass/* {
		reverse_proxy http://localhost:8081 # match to above
	}
}

clients: kvass config key ... && kvass config remote https://my.domain/secret/prefix/kvass/
Note that the trailing / is important.

Hi Cosmic!
Thanks for your work, making kvass work properly with reverse proxies was on the todo list for (too) long and I'm happy you made it happen :)
I'm too tired for a proper review today, but will look at it tomorrow. Some quick questions in the meantime:

How does the migration look for existing users? I thinks it's important that current users can upgrade without having to change the config. I'd image NewSqlitePersistance() checks/updates the SchemaVersion field and take care of it.
There are some places with // this should never fail comments. Could you add if err != nil {panic(err)} checks around them to be sure? Feel free to pack them into a convenience function if you find the explicit version to be ugly to read.

re: migrations, I don't typically work with/on databases (I put points into shell instead), so I'm not entirely sure what that would look like
the rest is all done, as well as slightly improved URL parsing

Thanks for the quick adjustments. The migration would actually have little db logic in it and would be at the end of NewSqlitePersistance(). Basically:

Check if state.schemaVersion == 1
do some magic to make a remoteUrl from a remoteHostname
increment state.schemaVersion
write the new state struct to the db

There's already some code for the last schema migration, but this one is even simpler.
If you want, you can just give me a snippet for step 2 and I'll do the reset.


Fix greediness of CSS whitespace in selector regex

This new pull request now excludes the README-changing commit.
The original issue: the minifier would minify the calc() CSS function, transforming a property value from something like calc(33% + 24px) to calc(33%+24px), which is invalid in CSS, as the calc function requires the calculation operator to be surrounded by spaces.
The problem was that this property was being caught in the selector whitespace regex. This is fixed by adding additional constraints into the regex - more specifically, it does not allow the regex to select text that has opening/closing braces, a semicolon, or a percent sign, while leaving the combinators the same.
As this was fixed, the subsilver unit test failed, because the CSS file contained a font property which was not being parsed by the minifier. I then added support, in the font family regex, for the font property, with its additional properties. All unit tests now pass.
Additional unit tests for CSS have been added, for testing the minification of font properties as well as the calc() function.

I've deprecated this minifier and switched the project to https://github.com/tubalmartin/YUI-CSS-compressor-PHP-port by default. If you'd still like to fix this, please rebase master. The contents of the min directory are now in the root.


update Japanese toc.yaml and fix translation: "ja/basics"

updated Japanese toc.yaml based on recent translation status.
updated Japanese translation of two files: translations/ja/basics/multiple-systems.ipynb and translations/ja/basics/quantum-circuits.ipynb.

@0sophy1 @veenaiyuri could you please review this?


WARNING: Cannot set inventory. No player logged in.

Running Arch Linux
Pretty sure I did everything right
Phone (Marshmallow) asked me if I wanted to install the cert for apps/vpn or for wifi, but I did it for both

Just close the app and re-open it. The app has to receive the player information message before it'll accept the inventory one.

left the game open for 10 minutes, it just keeps looping the same message in the output

You have to close and reopen the game at the connection screen.


Memoize and type inference differences when early return

Hello,
While writing some code detected that certain styles of memoization produce different return types for the methods:
class Foo
  def foo
    @foo ||= begin
      "awesome"
    end
  end

  def bar
    return @bar if @bar

    @bar = "awesome"
  end

  def baz
    @bar ||= "awesome"
  end
end

pp typeof(Foo.new.foo) # => String
pp typeof(Foo.new.bar) # => String?
pp typeof(Foo.new.baz) # => String

As you can see, Foo#bar will never return nil, but seems that early return is being detected as such possibility.
The begin...end approach works good for multi-line methods, but it nest things a bit further so might be confusing (this also happen for Rubyst, and multi-line return methods)
Wondering if this is a bug or is the expected behavior.
Thank you.
:heart: :heart: :heart:

I think the other alternative is use if local = @instance approach:
class Foo
  def bar2
    if bar2 = @bar2
      bar2
    else
      @bar2 = "awesome
    end
  end
end

  def meh
    var = @bar
    return var if var

    @bar = "awesome"
  end

You could also do
class Foo
  def meh
    var = @bar
    return var if var

    @bar = "awesome"
  end
end

although is not something so idiomatic.
The behavior you see en Foo#bar is detailed in http://crystal-lang.org/docs/syntax_and_semantics/if_var.html .
In #foo and #baz works because the return type is gather from the expression and not form the instance variable.

Thank you @bcardiff, I read that section of the doc but since it doesn't particularly mention about method's signature, was wondering if was worth asking.
Definitely the local = @instance and return local if local reads better than nested ifs, but again, is not very idiomatic :smile:
Once again, thank you for the response, if there is interest, I will send a pull request to improve the docs section with this detail.
Cheers.

If you desugar ||= you will find that || assigns the left hand side to a temporary local variable, according to the docs. From there it's more clear why it works that way.
But yes, anything we can add/change to improve the docs is welcome :-)

http://crystal-lang.org/docs/syntax_and_semantics/or.html and http://crystal-lang.org/docs/syntax_and_semantics/assignment.html

@luislavena if you want you can send a PR to improve the docs on this. Otherwise, I think we can close this.

Can we close this @luislavena @asterite ?

Sounds good


syntax for comment filter

this filter
*
text != "#survey"

doesn't hide note with an opening text "#survey" nor commented with it.
tested with https://www.openstreetmap.org/note/3708726
tested also with
^
text != "#survey"

but it doesn't work either
What's wrong with my syntax?

You're asking for a negative substring match, which I haven't done yet.

Added negative substring match, this should work now:
^
text !~= "#survey"

Thanks. but it produce a "syntax error"

Are you on the latest version?

If not, try reloading the webpage.


Created sink parallel execution (#624)

This is a proof of concept. Please validate the idea before I write all methods implementations/tests because for me the issue description can be interpreted in a couple of ways.

This is a proof of concept. Please validate the idea before I write all methods implementations/tests because for me the issue description can be interpreted in a couple of ways.

That was the idea @MattSzm, I like it :)

Will do a release after once merged, with all these recent mongo improvements

Hi @paualarco I found should update many documents per each received request whereas requests are grouped in lists. Requests from a single group are executed at once in parallel. test being flaky.
[info]   60 was not equal to 40 (MongoSinkSuite.scala:294)

I've added the commit which fixes this. Fortunately, it was a problem with the test - not with the feature.
What happened:
    val e1 = genEmployeesWith(name = Some(name1), n = 10).sample.get
    val e2 = genEmployeesWith(name = Some(name2), age = Some(31), n = 20).sample.get
    val e3 = genEmployeesWith(name = Some(name3), n = 30).sample.get

    val u1 = (Filters.eq("name", name1), Updates.set("name", name3))
    val u2 = (Filters.eq("name", name2), Updates.combine(Updates.set("name", name1), Updates.inc("age", 10)))

In the test case, we run these updates in parallel, so the results depend on the order.

u1 first and u2 second -> we have 40 items with name3 (10 + 30)
u2 first and u1 second -> we change items with name2 to name1 and next we change all items with name1 to name3 which gave us 60 items with name3.

I'm sorry for the mistake. But, we can be sure now, that these calls are made in parallel haha :D

@MattSzm yep there is some flaky test that need fixing... the failures are mainly related to random generators in combination with parallel tests. I will merge your pr after addressing my comment :)


Replace autoplay with play()

According to https://chromium-review.googlesource.com/c/chromium/src/+/1353928, autoplay doesn't work on muted video that are not visible. This PR makes sure we document play() instead.
FYI @mounirlamouri

:tada: This has been pushed live to https://developers.google.com/web/


Snapcraft builds are always auto rejected

Preflight Checklist

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[x] I have searched the issue tracker for a bug that matches the one I want to file, without success.

Issue Details

Electron Forge Version:

6.0.0-beta.51

Electron Version:

8.2.3

Operating System:

Ubuntu 18.04 x64

Last Known Working Electron Forge version::

N/A

Expected Behavior
The created snapcraft files should be able to be uploaded and pass review.
Actual Behavior
The snap builds always fail the automatic review and are rejected with this:
checksums do not match. Please ensure the snap is created with either 'snapcraft pack <DIR>' (using snapcraft >= 2.38) or 'mksquashfs <dir> <snap> -noappend -comp xz -all-root -no-xattrs -no-fragments'.
If using electron-builder, please upgrade to latest stable (>= 20.14.7). See https://forum.snapcraft.io/t/automated-reviews-and-snapcraft-2-38/4982/17 for details.
security-snap-v2_squashfs_repack_checksum What does this mean?
found errors in file output: unusual mode 'rwsr-xr-x' for entry './swach/chrome-sandbox' security-snap-v2_squashfs_files
human review required due to 'deny-connection' constraint (interface attributes). If using a chromium webview, you can disable the internal sandbox (eg, use --no-sandbox) and remove the 'allow-sandbox' attribute instead.
For QtWebEngine webviews, export QTWEBENGINE_DISABLE_SANDBOX=1 to disable its internal sandbox.
declaration-snap-v2_plugs_connection (browser-sandbox, browser-support)

To Reproduce

Additional Information
I have read in a bunch of places to use --no-sandbox which I am doing with this:
if (process.platform === 'linux') {
  app.commandLine.appendSwitch('--no-sandbox');
}

I have also tried setting browserSandbox: false in the forge config. My current config:
    {
      name: '@electron-forge/maker-snap',
      platforms: ['linux'],
      config: {
        confinement: 'strict',
        description: 'A robust color management tool for the modern age.',
        features: {
          audio: true,
          browserSandbox: false,
          webgl: true
        },
        grade: 'stable',
        name: 'swach',
        summary: 'A robust color management tool for the modern age.'
      }
    },

Is there a way to get this to work?

Closing in favor of https://github.com/electron-userland/electron-installer-snap/issues/74

@malept wherever the issue should live, the problem exists in both places and will have to be documented. Do you have any feedback here on how to fix this?

wherever the issue should live, the problem exists in both places and will have to be documented.

It's still a duplicate issue and it's linked so I don't see a problem with marking this as duplicate and closing it.

Do you have any feedback here on how to fix this?

I would need to make some time to investigate this, although I maintain this in my very limited free time, so I don't know when that will be.
For the record, the reasons for enabling browser sandbox for Electron >= 5.0.0 is documented here: https://github.com/electron-userland/electron-installer-snap/pull/22

@malept I see in that PR you linked part of the changes added a console.warn saying 'The browser-sandbox feature will trigger a manual review in the Snap store.'. So does that mean there is no possible way to build an electron app that can pass auto review and it will always be rejected and require manual review?
I see that the PR says this was implemented to support https://github.com/electron/electron/pull/17269, but is sandbox required for Electron apps to run at all on Linux? I am still confused why this is the default with no options to disable it.

Reopening this to review/make some snap improvements

@VerteDinde I'm using https://github.com/davidwinter/electron-forge-maker-snap to get snap to work, since the base lib didn't support it

This was fixed upstream in electron-installer-snap, closing this as Fixed.


Setup nightly build against staging

as discussed between @ayushkovskiy , @anayden , @asvetlov :

all builds are primarily tested against dev (already done),
all master builds are tested against both dev and staging (already done),
every night cookiecutter is tested against staging in order to show its workability.

done:

master is being tested against staging nightly
release is being tested against staging hourly


generate @nullable / @notnull annotations in the Java library

This PR adds @Nullable and @Notnull annotations to the Java side of the library. This allows consumers to better know when they're using a value that might be null. This could be useful going forward as some of the fields that today return InstanceRefs where kind == Instance.Null, may change in the future to instead return null values (today we check for null via instanceRef.getKind() == InstanceKind.Null; in the future, we'd check instanceRef == null).
Done in 3 commits for easier review.
This does find several places in the Flutter IntelliJ plugin where we're potentially dereferencing null. I have some concerns about this PR however; IntelliJ's nullability support doesn't just work at analysis time - it inserts runtime checks as well. Overall, I think that landing this change could actually make the plugin less stable (it would start to throw lots of IllegalArgExceptions at runtime).
It does look like there are ways to disable the runtime component of this behavior: https://www.jetbrains.com/help/idea/nullable-and-notnull-annotations.html. We may want to disable the runtime nullability checks in general.
@bkonyi @jacob314
Not 100% sure about landing this PR, but putting it out there to get people's thoughts.

Is this PR still valid? If so, we'll probably want to upload this to Gerrit.

I'll close it - it's useful to know that we could do this (and NNBD annotations to the Java code) if we choose to.


[Question] How to set network proxy?

Hi:
The Binance domains are blocked in some areas, how to set network proxy if using this lib?
Thanks

Hi there,
The second parameter for both REST clients lets you pass parameters to the HTTP client used in my connectors (Axios):
https://github.com/tiagosiebler/binance/blob/master/src/main-client.ts#L78
https://github.com/tiagosiebler/binance/blob/master/src/usdm-client.ts#L80
One of the axios configuration parameters is for proxies:
https://axios-http.com/docs/req_config
This example passes the example from axios into the main REST client:
import { MainClient } from 'binance';

const axiosOptions = {
    proxy: {
    protocol: 'https',
    host: '<IP_ADDRESS>',
    port: 9000,
    auth: {
      username: 'mikeymike',
      password: 'rapunz3l'
    }
  }
}
const client = new MainClient({ }, axiosOptions);

Hi there,
The second parameter for both REST clients lets you pass parameters to the HTTP client used in my connectors (Axios): https://github.com/tiagosiebler/binance/blob/master/src/main-client.ts#L78 https://github.com/tiagosiebler/binance/blob/master/src/usdm-client.ts#L80
One of the axios configuration parameters is for proxies: https://axios-http.com/docs/req_config
This example passes the example from axios into the main REST client:
import { MainClient } from 'binance';

const axiosOptions = {
    proxy: {
    protocol: 'https',
    host: '<IP_ADDRESS>',
    port: 9000,
    auth: {
      username: 'mikeymike',
      password: 'rapunz3l'
    }
  }
}
const client = new MainClient({ }, axiosOptions);

Does websocket client support proxy?

Does websocket client support proxy?

Not at the moment - it simply opens a connection to the ws urls directly:
https://github.com/tiagosiebler/binance/blob/master/src/websocket-client.ts#L159
If you're willing to research how to add proxy support to the ws module when it opens a connection, and implement it (ideally avoiding new dependencies as much as possible), I'll gladly review a pull request. If you're worried about doing it alone or just want to generally discuss this, I also recommend joining the node traders engineering community on telegram: https://t.me/nodetraders

Does websocket client support proxy?

Not at the moment - it simply opens a connection to the ws urls directly: https://github.com/tiagosiebler/binance/blob/master/src/websocket-client.ts#L159
If you're willing to research how to add proxy support to the ws module when it opens a connection, and implement it (ideally avoiding new dependencies as much as possible), I'll gladly review a pull request.
If you're worried about doing it alone or just want to generally discuss this, I also recommend joining the node traders engineering community on telegram: https://t.me/nodetraders

The websocket traffics can go through proxy by using a custom http.Agent implementation like [https-proxy-agent][] or
[socks-proxy-agent].
More details: https://github.com/websockets/ws#how-to-connect-via-a-proxy
I have tested successfully using https-proxy-agent.

Sounds good! If you're willing on making the change (in a way that doesn't break existing functionality), I'd gladly review a pull request.
It would also be ideal if these modules could be injected somehow, instead of adding them as a dependency (as they do bring other dependencies as well, which increase module size for others using this connector in frontend projects).
Perhaps a parameter for the websocket client constructor (or a setter method like wsClient.setHttpAgent(httpsproxyagent)), as well as documentation in the readme for using this connector with proxies.
Looks like that would work, based on the https proxy agent docs: https://github.com/TooTallNate/node-https-proxy-agent#ws-websocket-connection-example

Both http proxy and socks proxy repo works.  If using socks5 proxy, the proxy addr should be something like 'socks://<IP_ADDRESS>' instead of 'socks5://<IP_ADDRESS>'.

Sounds good! If you're willing on making the change (in a way that doesn't break existing functionality), I'd gladly review a pull request.
It would also be ideal if these modules could be injected somehow, instead of adding them as a dependency (as they do bring other dependencies as well, which increase module size for others using this connector in frontend projects).
Perhaps a parameter for the websocket client constructor (or a setter method like wsClient.setHttpAgent(httpsproxyagent)), as well as documentation in the readme for using this connector with proxies.
Looks like that would work, based on the https proxy agent docs: https://github.com/TooTallNate/node-https-proxy-agent#ws-websocket-connection-example

Both http proxy and socks proxy repo works. If using socks5 proxy, the proxy addr should be something like 'socks://<IP_ADDRESS>' instead of 'socks5://<IP_ADDRESS>'.

Sounds good! If you're willing on making the change (in a way that doesn't break existing functionality), I'd gladly review a pull request.
It would also be ideal if these modules could be injected somehow, instead of adding them as a dependency (as they do bring other dependencies as well, which increase module size for others using this connector in frontend projects).
Perhaps a parameter for the websocket client constructor (or a setter method like wsClient.setHttpAgent(httpsproxyagent)), as well as documentation in the readme for using this connector with proxies.
Looks like that would work, based on the https proxy agent docs: https://github.com/TooTallNate/node-https-proxy-agent#ws-websocket-connection-example

I moticed the websocket component is using isomorphic-ws which does not support option when create. So i am not sure if it's possible to use agent as proxy solution.

Sounds good! If you're willing on making the change (in a way that doesn't break existing functionality), I'd gladly review a pull request.
It would also be ideal if these modules could be injected somehow, instead of adding them as a dependency (as they do bring other dependencies as well, which increase module size for others using this connector in frontend projects).
Perhaps a parameter for the websocket client constructor (or a setter method like wsClient.setHttpAgent(httpsproxyagent)), as well as documentation in the readme for using this connector with proxies.
Looks like that would work, based on the https proxy agent docs: https://github.com/TooTallNate/node-https-proxy-agent#ws-websocket-connection-example

Both http proxy and socks proxy repo works. If using socks5 proxy, the proxy addr should be something like 'socks://<IP_ADDRESS>' instead of 'socks5://<IP_ADDRESS>'.

@inix could you kindly give some details to instruct how websocket using proxy?


Support for obtaining production/development mode from Vaadin in Vaadin 24

Feature proposal
Right now the implementation defines if the mode is production or not, based on a system property.
In Vaadin 24 it is possible to obtain that configuration programatically. It would be great that by default that the production status to be obtained from there in Vaadin 24.
Describe solution expectations
My expectation is that the code should call isProductionMode
Additional information
No response

In version 2.0 of the add-on we had
https://github.com/FlowingCode/ErrorWindowAddon/blob/90137633f83098c9bbdd000d8264105ed13ffaac/error-window-vaadin/src/main/java/com/flowingcode/vaadin/addons/errorwindow/ErrorWindow.java#L185-L189


Revamp command duration helper/plugin

Description
Combine themes/command_duration.theme.bash and plugins/cmd-returned-notify.plugin.bash, and rewrite them to use $EPOCHSECONDS (or $SECONDS on older Bash) while eliminating temporary files on disk.
Motivation and Context
Removing the temp file reduces complexity (no need to locate $TMPDIR, read file back), reduces bug surface (what happens if /tmp cleaner runs before prompt returns?), and improves performance (no need to touch the disk!). Adopting $EPOCHSECONDS removes entirely the need for subshells or external date invocation, improving performance and reducing points of failure. Sharing the preexec hook reduces total hooks running, and reduces duplicate code.
And, of course, command_duration didn't work at all on Mac OS X since BSD date doesn't support %1N; now it works perfectly on both Mac and Linux (and BSD!) and doesn't use date at all.
How Has This Been Tested?
This change is live in my branch on my system now.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)

Checklist:

[x] My code follows the code style of this project.
[x] If my change requires a change to the documentation, I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] If I have added a new file, I also added it to clean_files.txt and formatted it using lint_clean_files.sh.
[x] I have added tests to cover my changes, and all the new and existing tests pass.

I've just discovered cmd-returned-notify.plugin and now I'm confused why there's two of these...?

I've just discovered cmd-returned-notify.plugin and now I'm confused why there's two of these...?

So, command-duration is used for themes (to display information in the prompt) while the plugin is used to notify (BEL) when tasks are completed. They have similar usage, but quite different user interface

I'm marking this draft b/c I think I'm going to try to just merge with the plugin. Use one function to store the start time, then let the plugin and the theme separately use the same variable for (a) beep, or (b) prompt display.

I've had to rebase on my shellcheck (#1917) branch, but shellcheck is passing now!

@cornfeedhobo, if I haven't overloaded you already, I'd love your eyes on this one! This branch is based on my shellcheck branch, but this PR is specifically about the command_duration.theme.bash and plugin/cmd-returned-notify. All the changes under lib are covered by other PRs that haven't been merged yet.

Rebased on current master (plus my shellcheck branch). Although obviously this PR won't be ready to merge until shellcheck is, I'd love if someone had some time to look at the changes to command_duration and cmd-returned-notify. 😃

I will review this after we handle all of the shellcheck changes

Ok! I'm marking this Ready For Review. I've stripped out everything besides lib/theme and lib/command_duration and this should be ready to test and merge!

I would super appreciate if someone could test this PR and review it, even though it's obviously too large to merge in one go. If it's approved, I'll do the work to extract it from this mess and open a new clean PR just for this component.

Finally at long last I've pulled out everything else from this branch leaving only my refactoring from last July!

Finally at long last I've pulled out everything else from this branch leaving only my refactoring from last July and August!

It's ready! All the prerequisites are merged! This thing is finally ready to go!

Rebased on current master

Rebased & ready!

BATS error should be fixed by #2105.


allow use of custom TeX Live repository

Makes the texlive repository configurable in case you need to install older versions of texlive.

@codingjoe thanks for the review. I changed the stuff you commented on. I also just tested the buildpack for repositories that do not have a custom url and everything worked fine (the latest latex was installed). So nothing should break for existing users.

Cool, please make sure to tag this version. I know we haven'd done that before, but we should


Add AWS Elastic Transcoder support

This commit brings @phuongdh's AWS Elastic Transcoder work into the core with a little bit of cleanup. I also transposed the feature table in README.md, because it's easier to add new rows for new transcoders than it is to add new columns.

Changes Unknown when pulling 6bb867a20fdea72ac76e50d9f96256e2b5eb8261 on elastic_transcoder into ** on master**.

Also fixes #6

💯 Thanks @phuongdh and @mbklein!


GWT 2.7 compile error

I get this error while compilation:
Adding '1' new generated units
            Warnings in '/var/folders/xh/1xkfq26532j97q23qw5pdhs40000gn/T/gwt-codeserver-3203567117696984680.tmp/test.mobile.MobilePhoneGapIOS/compile-2/gen/com/google/gwt/query/client/LazyGQueryImpl.java'
               See snapshot: /var/folders/xh/1xkfq26532j97q23qw5pdhs40000gn/T/com.google.gwt.query.client.LazyGQueryImpl4185916206034052650.java
            Ignored 1 unit with compilation errors in first pass.

The other issue that i notice is  with IFrameWithDocTypeLinker which extends IFrameLinker
Since GWT 2.7 uses xsiframe by default it causes the following warning.
Invoking Linker IFrame
[WARN] IFrame linker is deprecated; consider switching to the xsiframe linker
Is this even possible to be moved to xsiframe  and still have ie8 work?


request: Allow year in birthday command to be optional somehow

This originally came up in the help channels with a user asking if they could not specify their birth year just because they weren't comfortable doing so.
I considered the fact that since the underage user filter is optional and you don't need the year to check if its the users birthday that perhaps a setting to make the year optional would help.
Since the command uses newDate to turn the date provided into time.Time. Maybe a default year (just a placeholder) could work?

Could try and PR it myself but I'd rather take input on the idea first.

Sounds good to me; for the default year idea, note that it needs to be a leap year to ensure February 29 is allowed.


Merging flat model implementation

WIP: 4 Tests are still failing.

@ziccardi what's the status here ?
mind sending a little update, here or on the aerogear-dev list? Would be nice to get this in ... since it's a bit of blocking other work, e.g. the GSoC stuff

There are 4 tests failing due to an arquillian error. A problem with
shrinkwrap:
java.lang.RuntimeException: Could not invoke deployment method: public
static org.jboss.shrinkwrap.api.spec.WebArchive
I already cherry-picked all the commits for the changes we did in the 1.1.x
branch.
Cheers,
Massimiliano
On Fri, Aug 4, 2017 at 7:07 PM, Matthias Wessendorf <
<EMAIL_ADDRESS>wrote:

@ziccardi https://github.com/ziccardi what's the status here ?
mind sending a little update, here or on the aerogear-dev list? Would be
nice to get this in ... since it's a bit of blocking other work, e.g. the
GSoC stuff
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aerogear/aerogear-unifiedpush-server/pull/872#issuecomment-320302173,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABEqmy9gadHLVpTZuWDhQTtoqaQTt_Nkks5sU0_SgaJpZM4OrWeT
.

ok, thx for info!
I try to look as well
On Sat, 5 Aug 2017 at 08:56, Massimiliano Ziccardi<EMAIL_ADDRESS>wrote:

There are 4 tests failing due to an arquillian error. A problem with
shrinkwrap:
java.lang.RuntimeException: Could not invoke deployment method: public
static org.jboss.shrinkwrap.api.spec.WebArchive
I already cherry-picked all the commits for the changes we did in the 1.1.x
branch.
Cheers,
Massimiliano
On Fri, Aug 4, 2017 at 7:07 PM, Matthias Wessendorf <
<EMAIL_ADDRESS>wrote:

@ziccardi https://github.com/ziccardi what's the status here ?
mind sending a little update, here or on the aerogear-dev list? Would be
nice to get this in ... since it's a bit of blocking other work, e.g. the
GSoC stuff
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<
https://github.com/aerogear/aerogear-unifiedpush-server/pull/872#issuecomment-320302173
,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/ABEqmy9gadHLVpTZuWDhQTtoqaQTt_Nkks5sU0_SgaJpZM4OrWeT
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/aerogear/aerogear-unifiedpush-server/pull/872#issuecomment-320421187,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJnzhq1e6BlcLUslxkLvkX7krdMpwPcks5sVBIvgaJpZM4OrWeT
.

--
Sent from Gmail Mobile

Added some config changes and fixes to it


Fix apiVersion of stable/zeppelin chart with k8s 1.17.0

With K8s v1.17.0 the stable/zeppelin chart is not working anymore
Versions to reproduce

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-13T11:51:44Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-07T21:12:17Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"}

$ helm version
version.BuildInfo{Version:"v3.0.2", GitCommit:"19e47ee3283ae98139d98460de796c1be1e3975f", GitTreeState:"clean", GoVersion:"go1.13.5"}

Error during helm install:

$ helm install testzeppelin2 stable/zeppelin --debug
install.go:149: [debug] Original chart version: ""
install.go:166: [debug] CHART PATH: /Users/chris/Library/Caches/helm/repository/zeppelin-1.1.0.tgz

Error: unable to build kubernetes objects from release manifest: unable to recognize "": no matches for kind "Deployment" in version "extensions/v1beta1"
helm.go:76: [debug] unable to recognize "": no matches for kind "Deployment" in version "extensions/v1beta1"
unable to build kubernetes objects from release manifest
helm.sh/helm/v3/pkg/action.(*Install).Run
	/private/tmp/helm-20191220-82547-1gmzo4a/src/helm.sh/helm/pkg/action/install.go:231
main.runInstall
	/private/tmp/helm-20191220-82547-1gmzo4a/src/helm.sh/helm/cmd/helm/install.go:214
main.newInstallCmd.func1
	/private/tmp/helm-20191220-82547-1gmzo4a/src/helm.sh/helm/cmd/helm/install.go:116
github.com/spf13/cobra.(*Command).execute
	/private/tmp/helm-20191220-82547-1gmzo4a/pkg/mod/github.com/spf13/cobra@v0.0.5/command.go:826
github.com/spf13/cobra.(*Command).ExecuteC
	/private/tmp/helm-20191220-82547-1gmzo4a/pkg/mod/github.com/spf13/cobra@v0.0.5/command.go:914
github.com/spf13/cobra.(*Command).Execute
	/private/tmp/helm-20191220-82547-1gmzo4a/pkg/mod/github.com/spf13/cobra@v0.0.5/command.go:864
main.main
	/private/tmp/helm-20191220-82547-1gmzo4a/src/helm.sh/helm/cmd/helm/helm.go:75
runtime.main
	/usr/local/Cellar/go/1.13.5/libexec/src/runtime/proc.go:203
runtime.goexit
	/usr/local/Cellar/go/1.13.5/libexec/src/runtime/asm_amd64.s:1357

The Problem is in deployment.yaml Fixed version looks for me including the mandatory selector spec and the updated apiVersion: apps/v1

apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ .Release.Name }}-zeppelin
  labels:
    app: {{ template "zeppelin.name" . }}
    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
spec:
  selector:
    matchLabels:
      app: {{ template "zeppelin.name" . }}
      release: {{ .Release.Name }}
  template:
    metadata:
      labels:
        app: {{ template "zeppelin.name" . }}
        release: {{ .Release.Name }}

....

Hey! I'm going to submit a patch for this issue. @schmichri are you ok with me using your changes?


Use otel tracerProvider interface instead of specific type

[x] The purpose of this PR is explained in this or a referenced issue.
[x] The PR does not update generated files.

These files are managed by the codegen framework at Azure/autorest.go.

[ ] Tests are included and/or updated for code changes.
[x] Updates to CHANGELOG.md are included.
[x] MIT license headers are included in each file.

This PR allows custom tracer providers to be used by accepting a tracer provider interface, instead of relying on the specific struct used in otelsdk.
For an example scenario, one might want to get the globally configured tracer provider, instead of defining a new one.
sc, err := aztables.NewServiceClientFromConnectionString("...", &aztables.ClientOptions{
	ClientOptions: azcore.ClientOptions{
		TracingProvider: azotel.NewTracingProvider(otel.GetTracerProvider(), nil),
	},
})

otel.GetTracerProvider() returns the registered global trace provider. If none is registered then an instance of NoopTracerProvider is returned.

@microsoft-github-policy-service agree