[Feature] Support loading Rive animations from Expo Assets

This is a follow-up to #123 and #185 - please refer to these issues for additional context.

Description
This issue seeks to add support for Expo Assets to the React Native Rive integration.
Expo Assets enables developers to load custom assets asynchronously without needing to explicitly bundle them into the native app code. This enables features like hot-reloading during local development, as well as the ability to deploy updates through EAS update
Without this, there is a lot of friction that discourages the use of Rive on an Expo project:

During local development, you can't hot-reload Rive animations. You need to do a full build of your custom dev client.

After deployment, it is not possible to update the Rive animations embedded in the app without a new native build being published to the app store. There is no way to update the animations over EAS Update.

Current behavior
On iOS, it is already possible to use Expo Assets using the instructions found in the initial issue (#123)
On Android, this does not work. The Rive adaptor chokes when it receives a file:// URL.
Expected behavior
I can pass in a file:// URL from Expo Asset into the Rive adapter for React Native, and it works on all platforms.

We are considering using Rive in our Expo app. Our current two options are
a) Download the rive assets with urls, which isn't a great user experience especially on startup.
b) Do a new dev build every time we update something (5-6 minutes), which is not a great developer experience.
This feature seems critical if you are going to get any wider adoption in react-native.

Glad I found this issue. Thank you. Will be sticking with Lottie

I finally have a solution. Hope this makes its way into Rive eventually...but it requires 2 steps:

edit your metro config so that it knows to bundle *.riv files:

config.resolver["assetExts"] = [
  ...(config.resolver.assetExts || []),
  // for rive animations
  "riv",
];

Write a wrapper around the default Rive component in order to convert the required asset:

import React, { forwardRef } from 'react';
import Rive, { RiveRef } from "rive-react-native";
// @ts-ignore
import resolveAssetSource from 'react-native/Libraries/Image/resolveAssetSource';

type RiveComponentProps = Omit<React.ComponentProps<typeof Rive>, 'url' | 'resourceName'> & {
  source: any
}

export const RiveAnimation = forwardRef<RiveRef, RiveComponentProps>(
  (props, ref) => {

    const { source, ...riveProps } = props;
    const resolved = resolveAssetSource(source);

    return (
      <Rive
        ref={ref}
        {...riveProps}
        url={resolved.uri}
      />
    );
  }
);

Then you can call the component:
  <RiveAnimation
    source={require('assets/animations/your-animation.riv')}
   {...otherProps}
  />

  This works just like images in expo and react-native. In development, the file is served by metro, so it's super fast and dynamic to change images. In production, the asset is bundled and the appropriate local uri is handled for you. It just works.

  I just tested in both environments and it works great. SOOOO much better than every other solution I've seen here on github.

Hey @tslater
Thanks a lot for the code snippet!
We implemented the same and it works great on IOS. On Android though it only works in development mode ; not in production. Does this work for you?

Thanks @tslater for the code 👍
It's seems code crash when I used an external URL in the source property of <RiveAnimation />.
This version works for me on iOS (simu) and Android (emu):
import React, { forwardRef, useMemo } from "react";
import Rive, { RiveRef } from "rive-react-native";
// @ts-ignore
import resolveAssetSource from "react-native/Libraries/Image/resolveAssetSource";

type RiveComponentProps = Omit<
  React.ComponentProps<typeof Rive>,
  "url" | "resourceName"
> & {
  source: string | number;
};

const isValidUrl = (uri: string | undefined): boolean => {
  if (!uri) return false;
  return uri.startsWith("http") || uri.startsWith("file");
};

export const RiveAnimation = forwardRef<RiveRef, RiveComponentProps>(
  (props, ref) => {
    const { source, ...riveProps } = props;

    const riveConfig = useMemo(() => {
      if (typeof source === "string" && isValidUrl(source)) {
        return { url: source };
      }

      const resolved = resolveAssetSource(source);
      const uri = resolved?.uri;
      const isUrl = isValidUrl(uri);

      return {
        resourceName: !isUrl && uri ? uri : undefined,
        url: isUrl ? uri : undefined,
      };
    }, [source]);

    return <Rive ref={ref} {...riveProps} {...riveConfig} />;
  }
);

Then I can use these three types of source:
// Import
import truckV7 from "../assets/animations/truck_v7.riv";
// ...
<RiveAnimation source={truckV7} />;

// Require
<RiveAnimation source={require("../assets/animations/truck_v7.riv")} />

// Remote URL
<RiveAnimation source={"https://public.uat.rive.app/community/runtime-files/148-325-tape.riv"} />

Also, when .riv files are loaded locally like that, It looks like there is a graphic white blink on iOS (simu) when animationName is set but maybe it's just my implementation that's incorrect.
https://github.com/user-attachments/assets/14475d20-5cf3-4ef5-b494-f65950060ce6

@guval-gh If you look at the react native docs, when you use a remote url, you should use the url prop.
Link to the docs: https://help.rive.app/runtimes/overview/react-native#id-3.-add-the-rive-component
Here's the example:
import Rive from 'rive-react-native';

function App() {
  return <Rive
      url="https://public.rive.app/community/runtime-files/2195-4346-avatar-pack-use-case.riv"
      artboardName="Avatar 1"
      stateMachineName="avatar"
      style={{width: 400, height: 400}}
  />;
}

Can you try that and let me know if it works or not?

@tslater
Yes, when we use the classical <Rive />component, we can use url property.
But I spoke about your custom component <RiveAnimation />.
If I would like to use it with import, require and remote url, I needed to modify the ` code a bit.

@guval-gh I'm unsure of what you mean. Have you tried using the url prop with the wrapped component code I provided? I forwards all the props, so it should work. What error or behavior do you see if you use the url prop?
Did you get it working with modifications? Do you want to share those?

@tslater I mean, of course I can use the url props but, if I use the custom <RiveAnimation /> component dynamically, I need that the custom property source works no matter what.
With your code, is the source pass is a remote url, the code crash.
So I just modify it a little bit to handle the three possibilities (source as import, require or remote url).
Yes, it works, I share and I share it just above https://github.com/rive-app/rive-react-native/issues/241#issuecomment-2461128365


VR and AR support

Hi
I have some requirement like that:
Online shopping and booking the hotel room with Vr experince
3D map view by eegeo i have to create my own icon of VR in eegeo map of Store
When i click on VR icon it in show me actual virtual reality of that store is that possible in eegeo

Please see the response to issue #43 - our maps are VR & AR capable and repositories demonstrating the capability are linked in that issue.
Alternatively please email<EMAIL_ADDRESS>for direct contact with our business development team!


Update links to proper repos

This PR updates links across the docs to point them at the right place.

docs/design/ -> https://git.k8s.io/community/contributors/design-proposals/
docs/devel/ -> https://git.k8s.io/community/contributors/devel/
docs/proposals/ -> https://git.k8s.io/community/contributors/design-proposals/
http(s)?://github.com/kubernetes/(.*?)/(blob|tree)/master/ -> https://git.k8s.io/$2/

The goal of this is to get rid of the redirect stubs in kubernetes/kubernetes/docs/ (ref: https://github.com/kubernetes/kubernetes/pull/48029)
@kubernetes/sig-docs-maintainers @chenopis

This change is

I'm going to wait to merge this until all of the 1.7 PRs are in.

Ok, all the v1.7 PRs are in, so I'm going to merge this into master then resolve any conflicts w/ release-1.7.


Moving expected doesn't work for nested types

It seems like this implementation of expected is unable to select the move constructor on GCC >= 5 for types that are more complex. While this compiles without issue:
#include <expected.hpp>

struct Foo {
    Foo() {}
    Foo(Foo&) = delete;
    Foo(Foo&&) {}
};

tl::expected<Foo, std::exception_ptr> bar() {
    Foo foo;
    return { std::move(foo) };
}

adding std::vector (which has move constructors as well) into the mix will make it fail on GCC >= 5. It compiles fine on Clang, and GCC 4.9.
#include <expected.hpp>
#include <vector>

struct Foo {
    Foo(Foo&) = delete;
    Foo(Foo&&) {}
};

tl::expected<std::vector<Foo>, std::exception_ptr> bar() {
    std::vector<Foo> foos;
    return { std::move(foos) };
}

This seems to be because GCC's __is_trivially_constructible instantiates the copy-constructor for std::vector<Foo> in an SFINAE-unfriendly manner, causing a hard error. I'll see if I can find a workaround.

Ah, it's because std::vector still defines a copy constructor, even if the underlying type is not copy-constructible. Hmm. I suspect I might need an icky workaround which tests ::value_type on containers or something.

Interestingly this is fixed in GCC8: https://godbolt.org/g/Mev1ik

Looks like this commit fixed it: https://github.com/gcc-mirror/gcc/commit/b4d90ee21694777d1558cc9d2d29ac82cb7b168c
Here's a relevant bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70472

I pushed a fix for the std::vector case. It's pretty awful, but I've asked on the GCC bug if there's a better workaround. Let me know if this works for you.

Note that you'll need to #include <vector> before #includeing expected, as I don't want to force all users with an affected compiler to #include <vector>.

Thanks for the fix! However, I wasn't looking for a std::vector-specific solution (we use various different types). I switched to https://github.com/martinmoene/expected-lite  which didn't have this issue.

Cool, if you don't need the performance benefit of propagating triviality then that should work fine!

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80654 could be related too


Handle/parse XML attributes: https://github.com/jpadilla/django-rest-framework-xml/issues/16

Based on this issue: https://github.com/jpadilla/django-rest-framework-xml/issues/16
Changes to handle/parse XML attributes.

@bukosabino this looks good, any chance you could add some tests for this?

Hi @jpadilla ,
I have added one test based on this comment: https://github.com/jpadilla/django-rest-framework-xml/issues/16#issuecomment-498244280
Let me know if everything looks good for you.
Best,
Dario


Light background needed.

I use this color scheme with vim-markdown. Could you please make light background mode for day light?

Thanks for the suggestion. I'll work on this! But it may take some time to adjust colors.

Hi, I just added the version for light background. Hope you like it.

I like light background of open color. Thank you for your rapid and great response! 😺


Request money - The intermediate page is visible when requesting money to a new user

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

Action Performed:

Go to URL https://staging.new.expensify.com/
Log in any user
Click on FAB button - Request money
Choose someone with NO chat with you
Complete the request money process

Expected Result:
The intermediate page is not visible
Actual Result:
The intermediate page is visible when requesting money to a new user
Workaround:
Unknown
Platform:

Where is this issue occurring?

Web
Mobile Web

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: No
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

https://user-images.githubusercontent.com/93399543/198303303-ab5d4966-5832-462c-87ce-b7e7a78a5c0d.mp4
https://user-images.githubusercontent.com/93399543/198303651-7909b269-f10d-43b8-abab-9296f8ccc2c3.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

@marcochavezf I got a solution for this already!


TINKERPOP3-713 Remove dependency on groovy-console which contains creative commons licenses

Updates two pom files - for gremlin-groovy and gremlin-driver to remove the groovy-all and use specific groovy files needed.
Also removed jline dependency from gremlin-groovy - not needed and also caused version conflicts.

fixing pull request for TINKERPOP3-713 to include just the files for that change.  Will close this pull request and submit a new one.


Is requirements.txt needed?

There is already a setup.py file which defines the requirements. tsalib probably doesn't need a requirements.txt file since it's not used as a standalone application.

fixed in 6d26d2a3e7507f5e0b32d2d3efda2a298300ee6e. removed duplication.


Rescue TaskConfigurationError on *Task.run()

What are you trying to accomplish with this PR?
Make sure that *Task.run() won't raise in case of a TaskConfigurationError, returning false instead. This means that we'll keep the previous behaviour, essentially.
How is this accomplished?
I'm just rescuing the new exception (that replaced FatalDeploymentError in some cases).

Not needed, see https://github.com/Shopify/kubernetes-deploy/pull/583#discussion_r332428310.


Backup options request

This is a feature request.
Could the backup/restore options be opened up a bit. Great that there is a G-drive option but not ideal for anyone who doesnt trust Google (most people) or the enterprise. Could there be an option to create an archive and upload to SCP/SFTP/FTP and then have a schedule of that too?
Had a quick few searches in the issues but couldn't find anything relating to this.

We made the backups fully pluggable in 18.1.9. Nextcloud is coming to 18.1.10. SCP is queued up for a later date, no later than 18.7. I'm closing this since the work is done and additional options can be added by users. :)


Fix 64-bit Wine builds

Things done

[ ] Tested using sandboxing (nix-build --option build-use-chroot true or nix.useChroot on NixOS)
Built on platform(s)

[ ] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Closes #14627. Still building but it seems to progress further already. cc @vcunat

wine64 built fine, but wineWow obviously wants to build a special GCC for itself, which would take a while... I suppose we don't want to build this GCC on Hydra (we don't build WOW version there anyway) so I'll hide it.

I'll test wine-wow now, as I need it anyway.

Nitpick: I'd drop "add gcc49_multi" from the commit name.

Yep, thanks -- fixed.

Updated to include mention of the upstream bug.

Very good work! Nitpick: I expect the next release will be 5.4 and not 5.3.1.
I'm still building, as I'm without access to a fast machine ATM.

Reworded it to be versioning policy agnostic ~_^. I've built it -- winecfg runs wine but I haven't tested it further. Since you have something to actually run (if I understand correctly) let's wait for you to finish.

I/we do, but it may take ~~24h before I get any results from that. It's probably not worth to wait for that.

OK, let's merge then -- notepad runs fine, at least.


Support multiple operations acting on the same object in one migration

Migrations are composed of arbitrarily many operations, but with the limitation that a later operation in a migration cannot act on an object that has been created or modified by an earlier operation.
This limitiation severely impacts the usefulness of having multiple operations per migration.
It should be possible to compose arbitrary operations without this restriction.

This was raised in the specific case of creating a table then adding an index to it in https://github.com/xataio/pgroll/issues/203.


[Q]module 'whisper' has no attribute 'load_model'

Hi,
Try this simple python code after the Whisper setup:
import whisper
model = whisper.load_model("base")
and get this error : "AttributeError: module 'whisper' has no attribute 'load_model'"
The whisper command CLI , works fine . This error is if I try to run in IDE
Can you help ?
Eran

Hi @feitgemel,
Wrong repo, you probably mean https://github.com/openai/whisper


Feature Request - Splunk Infrastructure Monitoring

Hi Guilhem,
Just a thought for an enhancement to your, already excellant, app - some kind of monitoring of the Splunk infrastructure would be very useful. Whilst there is some capability in the Monitoring Console, to have Indexers, Searchheads, Heavy Forwarders, etc monitored from a single resource would make it a lot simpler to manage/monitor.
The problem with much of the Splunk infrastructure is that they don't, necessarily, generate events that are indexed outside of the _internal index e.g. clients checking in with the deployment server or throughput metrics for indexers.
Regards,
Mark.

Hi @cidermark
Thank you ;-)
Right, TrackMe has always been focussing exclusively on the data itself, thus I appreciate this is a valid use too.
Will look into this

Super-fast! Thanks.

Thanks @cidermark !
This is upcoming, finishing a few qualification and will be published very soon ;-)
Thanks again for sharing your thoughts!


Redirecting Standard Input

The code does has RedirectStandardInput = true but I am actually looking to implement it by redirecting stdin from a string parameter of lines if it is indeed possible as I want to avoid having to write say a Python script out to a file before executing it.  (I had attempted this on my own unsucessfully before turning to your code.) Let me make it clear as one can do:
ConsoleApp("...python.exe", "-c import "platform;print(platform.architecture()[0]);exit(0)"")
ConsoleApp("...python.exe", "<bits.py")
After writing out a "bits.py" containing:
platform
print(platform.architecture()[0])
exit(0)
But I want to actually invoke a ConsoleApp like library with ("...python.exe", ref string stdin, string.. args)
ConsoleApp("...python.exe", ref stdin, null) say where string stdin in this case =
@"platform
print(platform.architecture()[0])
exit(0)
"
Is it even possible or must I write out the python scripts e.g. "bits.py" to  temp file and do a ConsoleApp("...python.exe", "<bits.py") all the time.
Am I being too abitious or niave to think that this could and should even be possible.  BTW I am mostly interested in CPython (MinGW) from C# (for geospatial scripting using OSGeo4W pyQGIS and GDAL-OGR)  that concerns me and interests me in this..
Let me know if you can offer any advice? Regards.

I noticed that the stdin Write and WriteLine are missing form the package that are in the original StackOverflow example code which I can try.  I was also using "cmd.exe /c ""...\python.exe" -c ... 2>&1"" to merge stderr with stdout.  I also discovered from another posting that my Writes may not have been getting to the Python process so I will try it again without the cmd.exe as I no lomnger need it uisng either of your codes modified again although I am curious why you dropped the stdin Writes.

Nope I have had no joy either with MinGW or GnuWin32 "cat.exe" WriteLine or Write and I pretty  that the ConsoleAppManager is doing the right thing thread-wise but it just doesnt get through or may depend upon the nature of the getch() type calls in python.exe cat.exe notepad.exe etc.
I even tried notepad.exe..

Supplying input redirect parameters doesn't work with Process.Start for some reason so the only option I can think of is exposing Write/WriteLine on StandardInput. You will then be able to call app.WiteLine(...) to provide input to your console application. I can add Write/WriteLine to ConsoleApp if that will help.

I tried it with my own code and the ConsoleAppManager similar to yours from here and attached: https://stackoverflow.com/questions/21848271/redirecting-standard-input-of-console-application
ConsoleAppManager.cs.txt
Still no joy with C python.exe cat.exe's notepad.exe etc.
if you put it in I will try it again and tell you if it works but for now I am keeping my same API with a "#filename" as first input row which I then write as a Temp filename and execute the command with the file on disk as the last parameter something much like a bash SheBang if it exists and the code is trvial.  Works like a charm and hides this file action code under the API so I can change the former code later without touching the API if I ever get stdin redirection truly working but I do have the feeling that it may indeed be more trouble than it is worth.
The only hint to the problem and solution I have found is here: https://stackoverflow.com/questions/9506606/console-input-redirect
So if I really want to pursue as an answered stated it may be case of looking into C++ code here for this: https://sourceforge.net/projects/console/
Which I am not going to pursue just at the moment as I have my interim solution and I can random overwrite with chars to the same Temp file length before deleting if I wish to secure my scripts.
But do let me know if you put Write/WriteLine in and I will test again.  This seems like a must have if one truly wants to encapsulate Async Console App functionality such as in your solution.  It is frustating and annoying to have to resort to a hack without fixing it however elegant my "#filename" (which is quite general for any app with file parameter and not only Python BTW) hack might be for now and I can help you to improve ConsoleApp and expand its user base as there is nothing out there that does input redirection sucessfully other than full replacement shells internally like that above to look into.  :-)
Kindest Regards.

You could use a generated random Temp filename instead of the "#filename.py" first line and hide the effective pseudo-redirected stdin to disk file entirely (as far as the API is concerned it would appear as a string stdin) but I prefer to use the namimg for easier debugging disabling its overwrite and deletion and being able to find the file created in Temp by name for now! Only an issue if an when I actually have multiple windows/threads doing the same #filename.py Python processing at the same time for now!

Supplying input redirect parameters doesn't work with Process.Start for some reason so the only option I > can think of is exposing Write/WriteLine on StandardInput. You will then be able to call app.WiteLine(...) > to provide input to your console application. I can add Write/WriteLine to ConsoleApp if that will help.

Please do add so I can ditch the ConsoleAppManager code and revist your Writes from ConsoleApp you can basically copy their Write/WriteLine code into yours for now.
Thanks.

I've added support for Write and WriteLine, see usage example in should_get_input_redirect() test. New package published to nuget.org, hope this helps.


Implement active config-jdbc

This is a prototype implementation of #49, by introducing  quarkus.config.source.jdbc.cache configuration which defaults to true to choose between in-memory or actively getting values from database

I'm not totally sure if it is a good idea for the source to do a lookup on each configuration lookup. This can potentially explode the number of queries being executed, especially at startup.
Also, we have to remember that changing a configuration does not mean that Quarkus will change its behavior. For instance, don't expect Quarkus to change the http.port if the value changes. Probably this is most suited for user configuration, but we need to be careful to not give the impression that all configuration is reloadable.

Your points are valid. The use case for this is not Quarkus configurations, but mainly the business specific configuration which can be reloadable.

If we are going to move forward with this, I think we need to hook up with the default Quarkus datasource provider, instead of having something completely set on the side.
This means that we need to move this source to be runtime only, because data sources are not available during static init (and that was one of the reasons we created our own datasource, but only for the purposes of filling the config and then discarded). With this change, the datasource will be long-lived, and potentially if the user creates its own instances of Config, we will just be pilling up connection pools.

Hi @radcortez, Sorry for the late response, I have updated the PR, unfortunately I have no experience building Quarkus extensions, I tried to use BeanContainerBuildItem to access the default datasource, but I always ended up in a cycle detected error, I am now accessing the datasource directly using CDI.current() but this does throw some exceptions around.
It does work as it is, but if there are better ways, please point me in the right direction.
thanks!

Hi @radcortez, Sorry for the late response, I have updated the PR, unfortunately I have no experience building Quarkus extensions, I tried to use BeanContainerBuildItem to access the default datasource, but I always ended up in a cycle detected error, I am now accessing the datasource directly using CDI.current() but this does throw some exceptions around.

Ah, I thought that the datasource was created at static init, but it is created during runtime init, so after both Config instances (static and runtime).

It does work as it is, but if there are better ways, please point me in the right direction. thanks!

The only real way to do this properly is to revert back and create our own datasource, but it needs to be exposed as a configuration, so it can be tuned properly if required.
Sorry for the inconvenience :(

The only real way to do this properly is to revert back and create our own datasource, but it needs to be exposed as a configuration, so it can be tuned properly if required.

Could you please elaborate more on this? What should be exposed?

The only real way to do this properly is to revert back and create our own datasource, but it needs to be exposed as a configuration, so it can be tuned properly if required.

Could you please elaborate more on this? What should be exposed?

The datasource configuration. In the current main implementation, we reuse the properties for username, password, connection etc. But the the pool configuration is fixed:
https://github.com/quarkiverse/quarkus-config-extensions/blob/1ba4be4751d3867a59996aadde57fe623e2052ff/jdbc/runtime/src/main/java/io/quarkiverse/config/jdbc/runtime/Repository.java#L53-L72
So I think we need to expose some of this configuration, so we can tune the pool. We probably need to set aside the connection as well, in case the connection for the config doesn't match the quarkus config source. This is mostly to avoid confusion on how to configure the required datasource for config.

@radcortez I have updated the PR, please check

@radcortez I have updated the PR, please check

Thank you for the update. I believe we may have some issues regarding thread safety. Can you verify? Thanks!

Thank you for the update. I believe we may have some issues regarding thread safety. Can you verify? Thanks!

Hopefully it's in a better state now.

@aster-phoenix Sorry for taking some time. There are some compile issues. Can you please fix them? Thank you!

@radcortez sorry about that, fixed

@radcortez sorry about that, fixed!

Thanks. I've done another review of the code. Almost there. These should be easier to fix.

@radcortez I have updated the PR

Hi @aster-phoenix, Sorry again. I think we only have one last thing to fix and we are good to go. Thank you for your patience.

Hi @radcortez, I updated PR, closed statements in finally block, but ResultSet should be auto closed since it's defined in try with resources, right?

Thank you for your time, effort and valuable input, and my apologies for going back and forth multiple times.


[Feature Request]: Auto scale neko-rooms

Reopening thread https://github.com/m1k1o/neko-rooms/issues/48 for deeper discussion

Motivation
codx project offers free time-limited coding rooms for learning. So it requieres to be able to scale up/down neko-rooms based on the users demand.
@m1k1o: What do you think is the easier small first step we can take on this?

docker swarn
Treafik load balancer
k8s

Thanks
Resources
https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler

I think it would be docker swarm. Because that API is part of the docker and traefik can work nicely on top of that.

Rreading...
https://traefik.io/blog/traefik-and-docker-swarm-a-dynamic-duo-for-cloud-native-container-networking/
https://dockerswarm.rocks/traefik-v1/traefik/


Ch refactor server

Coverage decreased (-1.4%) to 88.329% when pulling 42ae7dd321bf5e891033f55b2855ae2f64dad44d on ch-refactorServer into 87b6b3d63658330f86817c49e8e98cb70e4e5bae on develop.

Coverage decreased (-1.5%) to 88.267% when pulling a046a17ab719b6d966939724390e74bee36da32f on ch-refactorServer into 87b6b3d63658330f86817c49e8e98cb70e4e5bae on develop.

Coverage decreased (-1.5%) to 88.267% when pulling 73f111c280af4f4316a5dadf6afbba8bc791f28d on ch-refactorServer into 87b6b3d63658330f86817c49e8e98cb70e4e5bae on develop.

Coverage decreased (-0.8%) to 88.948% when pulling 1b189d51e9dd8b3af43df15d22d6320d4e96a740 on ch-refactorServer into 87b6b3d63658330f86817c49e8e98cb70e4e5bae on develop.

Coverage decreased (-0.8%) to 88.948% when pulling 1920a78149609ab871a02ea7a5294eeb60921784 on ch-refactorServer into 87b6b3d63658330f86817c49e8e98cb70e4e5bae on develop.

Coverage decreased (-0.8%) to 88.992% when pulling a22c691d98d25d9f420397c3ef7c1725a37daa5a on ch-refactorServer into 87b6b3d63658330f86817c49e8e98cb70e4e5bae on develop.

Coverage decreased (-0.8%) to 88.992% when pulling 4ae57a5cc15828aad9a65e51f516d7dc1df764dc on ch-refactorServer into 87b6b3d63658330f86817c49e8e98cb70e4e5bae on develop.

Coverage decreased (-0.8%) to 88.992% when pulling f5025e4581ebf671c618fb9f7d6238e9f572091f on ch-refactorServer into 87b6b3d63658330f86817c49e8e98cb70e4e5bae on develop.

Coverage decreased (-1.07%) to 88.684% when pulling 332d474bbef9307b182b96530100d7b1f36a371b on ch-refactorServer into 87b6b3d63658330f86817c49e8e98cb70e4e5bae on develop.

Coverage decreased (-1.0%) to 88.786% when pulling 52c34705e9e56810ece292a21cbaf02762a5d18f on ch-refactorServer into 87b6b3d63658330f86817c49e8e98cb70e4e5bae on develop.


Doc: Python 3.5 is required for SSL

http://aiosmtpd.readthedocs.io/en/latest/
"Requirements: You need at least Python 3.4 to use this library. Python 3.3 might work if you install the standalone asyncio library, but this combination is untested."
You should mention that Python 3.5 is required for SSL (for ssl.MemoryIO).
See also issue #16 ;-)

Good point, thanks!


Updating default endpoint for OTLP endpoint to use http://. OTLP cons…

…tructor takes insecure parameter; config file uses secure attribute-- 'not' logical operator needed.
Description

Updates to make OTLP exporter work with default configuration.

Testing

Standard pipeline ran.

Documentation

Generated documentation has not changed.

This is an interesting one. I think @pavolloffay told me passing http would break the exporter in javaagent. Do we truly need to pass the protocol here?

I think @pavolloffay told me passing http would break the exporter in javaagent. Do we truly need to pass the protocol here?

not in javaagent but in goagent


java.lang.IndexOutOfBoundsException: with Presto 331

2020-03-20T02:23:58.914Z        ERROR   SplitRunner-147-94      io.prestosql.execution.executor.TaskExecutor    Error processing Split 20200320_021857_00999_pg3ku.3.3-47  (start = 1.654072930317E7, wall = 301460 ms, cpu = 74010 ms, wait = 190255 ms, calls = 580)
java.lang.IndexOutOfBoundsException: Index (658) is greater than or equal to list size (0)
:
        at io.prestosql.operator.LookupJoinOperator$JoinProcessor.lambda$processProbe$3(LookupJoinOperator.java:477)
        at io.prestosql.operator.PartitionedLookupSourceFactory$SpillAwareLookupSourceProvider.withLease(PartitionedLookupSourceFactory.java:438)
        at io.prestosql.operator.LookupJoinOperator$JoinProcessor.processProbe(LookupJoinOperator.java:474)
        at io.prestosql.operator.LookupJoinOperator$JoinProcessor.getOutput(LookupJoinOperator.java:389)
        at io.prestosql.operator.LookupJoinOperator$JoinProcessor.process(LookupJoinOperator.java:686)
        at io.prestosql.operator.LookupJoinOperator$JoinProcessor.process(LookupJoinOperator.java:139)
        at io.prestosql.operator.WorkProcessorUtils$3.process(WorkProcessorUtils.java:319)
        at io.prestosql.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
        at io.prestosql.operator.WorkProcessorOperatorAdapter.getOutput(WorkProcessorOperatorAdapter.java:188)
        at io.prestosql.operator.Driver.processInternal(Driver.java:379)
        at io.prestosql.operator.Driver.lambda$processFor$8(Driver.java:283)
        at io.prestosql.operator.Driver.tryWithLock(Driver.java:675)
        at io.prestosql.operator.Driver.processFor(Driver.java:276)
        at io.prestosql.execution.SqlTaskExecution$DriverSplitRunner.processFor(SqlTaskExecution.java:1075)
        at io.prestosql.execution.executor.PrioritizedSplitRunner.process(PrioritizedSplitRunner.java:163)
        at io.prestosql.execution.executor.TaskExecutor$TaskRunner.run(TaskExecutor.java:484)
        at io.prestosql.$gen.Presto_331____20200319_214358_2.run(Unknown Source)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)

2020-03-20T02:23:58.914Z        ERROR   SplitRunner-147-94      io.prestosql.execution.executor.TaskExecutor    Error processing Split 20200320_021857_00999_pg3ku.3.3-47  (start = 1.654072930317E7, wall = 301460 ms, cpu = 74010 ms, wait = 190255 ms, calls = 580)
java.lang.IndexOutOfBoundsException: Index (658) is greater than or equal to list size (0)
        at it.unimi.dsi.fastutil.objects.ObjectArrayList.get(ObjectArrayList.java:310)
        at io.prestosql.operator.LookupJoinOperator$JoinProcessor.processProbe(LookupJoinOperator.java:474)
        at io.prestosql.operator.LookupJoinOperator$JoinProcessor.getOutput(LookupJoinOperator.java:389)
        at io.prestosql.operator.LookupJoinOperator$JoinProcessor.process(LookupJoinOperator.java:686)
        at io.prestosql.operator.LookupJoinOperator$JoinProcessor.process(LookupJoinOperator.java:139)
        at io.prestosql.operator.WorkProcessorUtils$3.process(WorkProcessorUtils.java:319)
        at io.prestosql.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
        at io.prestosql.operator.WorkProcessorOperatorAdapter.getOutput(WorkProcessorOperatorAdapter.java:188)
        at io.prestosql.operator.Driver.processInternal(Driver.java:379)
        at io.prestosql.operator.Driver.lambda$processFor$8(Driver.java:283)
        at io.prestosql.operator.Driver.tryWithLock(Driver.java:675)
        at io.prestosql.operator.Driver.processFor(Driver.java:276)
        at io.prestosql.execution.SqlTaskExecution$DriverSplitRunner.processFor(SqlTaskExecution.java:1075)
        at io.prestosql.execution.executor.PrioritizedSplitRunner.process(PrioritizedSplitRunner.java:163)
        at io.prestosql.execution.executor.TaskExecutor$TaskRunner.run(TaskExecutor.java:484)
        at io.prestosql.$gen.Presto_331____20200319_214358_2.run(Unknown Source)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)

Could you share the steps to reproduce?

We run 100s of jobs from Airflow to Presto cluster. So I don't have the exact steps. Basically we were running lots of queries. Failure was reported to Grafana, so I just grepped the log file for this.
We are using Java 11 (Corretto) with ZGC

Have you ever used the past version or is it the first version in your environment?

We use Presto on the AWS with blue-green setup. So every new rollout happens on the new boxes and the old boxes gets killed. We were using 318 with Java 8, in which query would fail because of the GC pauses. That's why we went with new setup.

@sandeshh the exception:
java.lang.IndexOutOfBoundsException: Index (658) is greater than or equal to list size (0)
        at it.unimi.dsi.fastutil.objects.ObjectArrayList.get(ObjectArrayList.java:310)
        at io.prestosql.operator.LookupJoinOperator$JoinProcessor.processProbe(LookupJoinOperator.java:474)

can show up in the logs when query is killed and the Join's Build side is cleaned up before the Join's Probe side.
(the cleanup is asynchronous, and we won't change this; the cleanup must be robust)
Is this your case?
Or did you observe a query failure with the above exception?

@sandeshh Do you have spill enabled?

Yes, I have enabled spill.

@sandeshh Could you also see @findepi reponse: https://github.com/prestosql/presto/issues/3169#issuecomment-601557711. Does that fit your case?

@sandeshh In addition to @findepi's question, would it be possible for you to try Presto 318 with Java 11 + ZGC to see if it reproduces there? If yes, then it's Java version related (unlikely), otherwise it's Presto version related.

Earlier we were giving 50% cluster memory as max per query memory. After
changing query max to 30% of cluster memory and rebuilding the cluster, we
have not seen this error. We can close this for now. Thanks All.
On Fri, Mar 27, 2020 at 10:54 PM David Phillips<EMAIL_ADDRESS>wrote:

@sandeshh https://github.com/sandeshh In addition to @findepi
https://github.com/findepi's question, would it be possible for you to
try Presto 318 with Java 11 + ZGC to see if it reproduces there? If yes,
then it's Java version related (unlikely), otherwise it's Presto version
related.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/prestosql/presto/issues/3169#issuecomment-605401234,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA5S42ZVC6MWHALSNKP6QG3RJWGIHANCNFSM4LP6YMTA
.

I'm seeing a very similar error with presto-server-331 while attempting a query using the hive-hadoop2 connector:
2020-04-30T23:08:40.649Z	ERROR	SplitRunner-15-75	io.prestosql.execution.executor.TaskExecutor	Error processing Split 20200430_225617_00112_5yc46.2.0-74  (start = 3.820089125954287E10, wall = 724510 ms, cpu = 37699 ms, wait = 1254 ms, calls = 51)
java.lang.IndexOutOfBoundsException: Index (27703) is greater than or equal to list size (0)
	at it.unimi.dsi.fastutil.objects.ObjectArrayList.get(ObjectArrayList.java:310)
	at io.prestosql.$gen.PagesHashStrategy_20200430_230746_202.positionEqualsRowIgnoreNulls(Unknown Source)
	at io.prestosql.operator.PagesHash.positionEqualsCurrentRowIgnoreNulls(PagesHash.java:208)
	at io.prestosql.operator.PagesHash.getAddressIndex(PagesHash.java:162)
	at io.prestosql.operator.JoinHash.getJoinPosition(JoinHash.java:91)
	at io.prestosql.operator.PartitionedLookupSource.getJoinPosition(PartitionedLookupSource.java:143)
	at io.prestosql.operator.JoinProbe.getCurrentJoinPosition(JoinProbe.java:87)
	at io.prestosql.operator.LookupJoinOperator$JoinProcessor.advanceProbePosition(LookupJoinOperator.java:639)
	at io.prestosql.operator.LookupJoinOperator$JoinProcessor.processProbe(LookupJoinOperator.java:554)
	at io.prestosql.operator.LookupJoinOperator$JoinProcessor.lambda$processProbe$3(LookupJoinOperator.java:477)
	at io.prestosql.operator.PartitionedLookupSourceFactory$SpillAwareLookupSourceProvider.withLease(PartitionedLookupSourceFactory.java:438)
	at io.prestosql.operator.LookupJoinOperator$JoinProcessor.processProbe(LookupJoinOperator.java:474)
	at io.prestosql.operator.LookupJoinOperator$JoinProcessor.getOutput(LookupJoinOperator.java:389)
	at io.prestosql.operator.LookupJoinOperator$JoinProcessor.process(LookupJoinOperator.java:686)
	at io.prestosql.operator.LookupJoinOperator$JoinProcessor.process(LookupJoinOperator.java:139)
	at io.prestosql.operator.WorkProcessorUtils$3.process(WorkProcessorUtils.java:319)
	at io.prestosql.operator.WorkProcessorUtils$ProcessWorkProcessor.process(WorkProcessorUtils.java:372)
	at io.prestosql.operator.WorkProcessorOperatorAdapter.getOutput(WorkProcessorOperatorAdapter.java:188)
	at io.prestosql.operator.Driver.processInternal(Driver.java:379)
	at io.prestosql.operator.Driver.lambda$processFor$8(Driver.java:283)
	at io.prestosql.operator.Driver.tryWithLock(Driver.java:675)
	at io.prestosql.operator.Driver.processFor(Driver.java:276)
	at io.prestosql.execution.SqlTaskExecution$DriverSplitRunner.processFor(SqlTaskExecution.java:1075)
	at io.prestosql.execution.executor.PrioritizedSplitRunner.process(PrioritizedSplitRunner.java:163)
	at io.prestosql.execution.executor.TaskExecutor$TaskRunner.run(TaskExecutor.java:484)
	at io.prestosql.$gen.Presto_331____20200430_225457_2.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

I believe the cause is that the S3 API is returning 503 errors and rate-limiting PrestoSQL when it attempts to fetch the data. While the query that was logging the above was executing, we tried another query, and got the following error:
io.prestosql.spi.PrestoException: Failed to list directory: s3://REDACTED/REDACTED
	at io.prestosql.plugin.hive.util.HiveFileIterator$FileStatusIterator.processException(HiveFileIterator.java:185)
	at io.prestosql.plugin.hive.util.HiveFileIterator$FileStatusIterator.hasNext(HiveFileIterator.java:164)
	at io.prestosql.plugin.hive.util.HiveFileIterator.computeNext(HiveFileIterator.java:80)
	at io.prestosql.plugin.hive.util.HiveFileIterator.computeNext(HiveFileIterator.java:38)
	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:141)
	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:136)
	at java.base/java.util.Spliterators$IteratorSpliterator.tryAdvance(Spliterators.java:1811)
	at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState$0(StreamSpliterators.java:294)
	at java.base/java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(StreamSpliterators.java:206)
	at java.base/java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(StreamSpliterators.java:169)
	at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:300)
	at java.base/java.util.Spliterators$1Adapter.hasNext(Spliterators.java:681)
	at io.prestosql.plugin.hive.BackgroundHiveSplitLoader.loadSplits(BackgroundHiveSplitLoader.java:290)
	at io.prestosql.plugin.hive.BackgroundHiveSplitLoader.access$300(BackgroundHiveSplitLoader.java:107)
	at io.prestosql.plugin.hive.BackgroundHiveSplitLoader$HiveSplitLoaderTask.process(BackgroundHiveSplitLoader.java:216)
	at io.prestosql.plugin.hive.util.ResumableTasks$1.run(ResumableTasks.java:38)
	at io.prestosql.$gen.Presto_331____20200430_225348_2.run(Unknown Source)
	at io.airlift.concurrent.BoundedExecutor.drainQueue(BoundedExecutor.java:78)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.io.IOException: com.amazonaws.services.s3.model.AmazonS3Exception: Please reduce your request rate. (Service: Amazon S3; Status Code: 503; Error Code: SlowDown; Request ID: ; S3 Extended Request ID: null), S3 Extended Request ID: null
	at io.prestosql.plugin.hive.s3.PrestoS3FileSystem$1.hasNext(PrestoS3FileSystem.java:324)
	at io.prestosql.plugin.hive.util.HiveFileIterator$FileStatusIterator.hasNext(HiveFileIterator.java:161)
	... 19 more
Caused by: com.amazonaws.services.s3.model.AmazonS3Exception: Please reduce your request rate. (Service: Amazon S3; Status Code: 503; Error Code: SlowDown; Request ID: ; S3 Extended Request ID: null)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1726)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1381)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1127)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:784)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:745)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:726)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:686)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:668)
	at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:532)
	at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:512)
	at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:5052)
	at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4998)
	at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4992)
	at com.amazonaws.services.s3.AmazonS3Client.listObjectsV2(AmazonS3Client.java:938)
	at io.prestosql.plugin.hive.s3.PrestoS3FileSystem$2.computeNext(PrestoS3FileSystem.java:545)
	at io.prestosql.plugin.hive.s3.PrestoS3FileSystem$2.computeNext(PrestoS3FileSystem.java:535)
	at com.google.common.collect.AbstractSequentialIterator.next(AbstractSequentialIterator.java:75)
	at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:47)
	at com.google.common.collect.Iterators$ConcatenatedIterator.hasNext(Iterators.java:1332)
	at io.prestosql.plugin.hive.s3.PrestoS3FileSystem$1.hasNext(PrestoS3FileSystem.java:321)
	... 20 more

2020-04-30T23:08:40.649Z	ERROR	SplitRunner-15-75	io.prestosql.execution.executor.TaskExecutor	Error processing Split 20200430_225617_00112_5yc46.2.0-74  (start = 3.820089125954287E10, wall = 724510 ms, cpu = 37699 ms, wait = 1254 ms, calls = 51)
java.lang.IndexOutOfBoundsException: Index (27703) is greater than or equal to list size (0)
at it.unimi.dsi.fastutil.objects.ObjectArrayList.get(ObjectArrayList.java:310)
at io.prestosql.$gen.PagesHashStrategy_20200430_230746_202.positionEqualsRowIgnoreNulls(Unknown Source)
at io.prestosql.operator.PagesHash.positionEqualsCurrentRowIgnoreNulls(PagesHash.java:208)
at io.prestosql.operator.PagesHash.getAddressIndex(PagesHash.java:162)
at io.prestosql.operator.JoinHash.getJoinPosition(JoinHash.java:91)

@mpontillo for this part, see my comment above (https://github.com/prestosql/presto/issues/3169#issuecomment-601557711)

2020-04-30T23:08:40.649Z	ERROR	SplitRunner-15-75	io.prestosql.execution.executor.TaskExecutor	Error processing Split 20200430_225617_00112_5yc46.2.0-74  (start = 3.820089125954287E10, wall = 724510 ms, cpu = 37699 ms, wait = 1254 ms, calls = 51)
java.lang.IndexOutOfBoundsException: Index (27703) is greater than or equal to list size (0)
at it.unimi.dsi.fastutil.objects.ObjectArrayList.get(ObjectArrayList.java:310)
at io.prestosql.$gen.PagesHashStrategy_20200430_230746_202.positionEqualsRowIgnoreNulls(Unknown Source)
at io.prestosql.operator.PagesHash.positionEqualsCurrentRowIgnoreNulls(PagesHash.java:208)
at io.prestosql.operator.PagesHash.getAddressIndex(PagesHash.java:162)
at io.prestosql.operator.JoinHash.getJoinPosition(JoinHash.java:91)

@mpontillo for this part, see my comment above (https://github.com/prestosql/presto/issues/3169#issuecomment-601557711)

Caused by: com.amazonaws.services.s3.model.AmazonS3Exception: Please reduce your request rate. (Service: Amazon S3; Status Code: 503; Error Code: SlowDown; Request ID: ; S3 Extended Request ID: null)

@mpontillo can you please create a separate, specific issue about S3 rate limiting causing query failures?
So that we can discuss what should be appropriate resolution for that case?
I am going to close this issue, as not being specific enough to be actionable.
Thanks for undertanding.

I'll open a new issue. In my case, the query still appears to be running, but doesn't complete in a reasonable amount of time. I'm accessing the same data in two mostly-identical connectors; one is using hdfs:// and one is using s3://. The hdfs:// version completes in under a minute, but I can leave the s3:// version up for hours; it continues to write exceptions like this to the log and never completes. I only noticed we were hitting the rate limit because I was using rclone to access the same bucket, and it printed errors.

Filed #3654.


WIP: Deprecate backend parameter in stc.plot()

This PR deprecates the backend parameter in plot_source_estimates
Closes https://github.com/mne-tools/mne-python/issues/8394

For now, I used a fixture to skip test_stc_mpl when any 3d backend is present. Other solutions:

allow a "nobackend" 3d backend (maybe useful in the future?)
test _plot_mpl_stc directly (subroutine of stc.plot() but dedicated for mpl)

following conversation on the original issue and I would not deprecate this param.

So... I can only update it so that the internal call to set_3d_backend() is at least coherent.

I guess the patch half-coverage is because I have a branch that remains.
One call to stc.plot(backend=pyvista) should solve this

@GuillaumeFavelier Can you add a changelog entry? Then it would be good to merge.

I'm on it :+1:
I'm just trying to make codecov happy before that :)

I think we should backport this…

go for it


pub serve polymer linter false warning

This issue was originally filed by @financeCoding

pub serve --all --mode=debug will throw the following warning
[Warning from polymer (Linter) on spark_widgets|example/spark_button/index.html]:
example/spark_button/index.html:11:3: To run a polymer application you need to include the following HTML import: <link rel="import" href="packages/polymer/polymer.html">. This will include the common polymer logic needed to boostrap your application. The old style of initializing polymer with boot.js or initPolymer are now deprecated.
When seeing the following import in code of a polymer element in a subdirectory
<link rel="import" href="../packages/polymer/polymer.html">

This issue has been moved to dart-lang/polymer-dart#198.


Some ligatures are not working

The ligature for "usercentric" does not work because the substring "user" already has a ligature.
Same story for "lean"/"lean in" and "social media"/"social media expert".
See: http://i.imgur.com/OvSkKie.png

Yep, known issue. I'm keeping https://github.com/RoelN/SansBullshitSans/issues/13 open in case there's a solution.


More bug fixes from staging

Putting everything together is when bugs are found

Pull Request Test Coverage Report for Build 1606

9 of 17 (52.94%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 66.808%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

util/passport.js
3
11
27.27%

Totals

Change from base Build 1603:
-0.02%

Covered Lines:
6740

Relevant Lines:
9492

💛  - Coveralls


Added Pokemon Generator Game [Issue #2872]

PR Description 📜
Please include summary related to the issue you have fixed and describe your PR in brief over here by specifying the issue number on which you were working below
Fixes #2872

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x ] I have performed a self-review of my own code or work.
[x ] I have commented my code, particularly in hard-to-understand areas.
[x ] My changes generates no new warnings.
[x ] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x ] I have added screenshot for website preview in assets/images
[x ] I have added entries for my game in main README.md
[x ] I have added README.md in my folder
[x ] I have added working video of the game in README.md (optional)
[x ] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @killerraj369 ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

I have completed my Work please review and merge my pr if no further changes are required possibly by eod 😄.
Thank You !!

@kunjgit Can you please review my pr

Thank you  @killerraj369 , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


Support using directives instead of controller+template

Directives are a great way of encapsulating logic, behaviour and template in one Angular 1.x "component". Please add support for using directives to the router. I'm happy provide my input on this in case it is accepted.
Proposed syntax:
$router.config([
    { path: '/'  , component: 'home'  },
    ...
]);

And then
home.js
.directive('HomeComponent', [function(){
    return {
        restrict: 'AE',
        replace: true,
        templateUrl: 'home.tpl.html',
        controller: HomeController
    }
}])

function HomeController($router){
     ...
}

Looks  like this issue was already raised 100 issues ago #161


permission

Safari on iphone does not respond to clicking the recording, does it need to get permission

Same on the iPad.
Seems to work OK on Chrome on the PC


GOLD grammar - different Alternative notation

Hi all, could you please help me?
I have GOLDparser grammar:
`            const string testedGrammer = @"
""Case Sensitive"" = False
""Start Symbol""   =
Identifier          = ({Letter}?|{Digit}+)
 ::=
 ::= Identifier
";
`
this input does not match the grammar:
            const string expression03 = @"45646";
But if I change the notation for the Identifier to:
Identifier          = ({Digit}+|{Letter}?)
everything works well.
Could you please help me?
Thanks,
Tomas

Hi Tomas,
Thanks for submitting the issue, but this is a side-effect of using a recursive descent parser vs. a state parser.
In Eto.Parse, the first alternative {Letter}? will always match and will not try the second alternative, even if it is "more valid".  This means the order of the alternatives matter in Eto.Parse, even when using other grammars.
In more detail, {Letter}? basically means, if the current character is a letter, it is a match, otherwise it is still a match with a zero-length.
Hope this helps!
Curtis.

Thanks, Curtis!


Fix TypeError when processing relative imports

Fixes lp:1560134
aec68a784 added module names to error messages,
however it caused a TypeError for relative imports
that do not specify a module such as:
from . import x
This fixes the TypeError, and also adds the necessary
leading dots for relative import error messages.
Add tests for various types of relative imports.

Note that I also have another approach that is narrower in what it fixes (i.e. not fixing the error messages for relative star imports), but it also adds a RelativeImportation which may be useful in the future.

If someone else could review this and give it a :+1: I'd really appreciate it. I'm pressed for time today and this is an important bugfix. I'll do the release as soon as the review is good.

It is a bit late here; I'll be up again in a few hours and can do some more testing and address any additional review comments arising.

I don't really have an opinion on the patch, but would like to see this fixed of course.  I've subscribed to this thread so once the patch lands, I can cherry pick it into the Debian/Ubuntu packages, or if a new upstream release will happen soon after, I'll be happy to upload it.

As Barry i also hit the problem now and would like to see it addressed.  If i may, what about merging and releasing and seeing if anyone gets problems?  As it currently stands 1.2 produces the traceback  (i have flakes failing for 7 files in one project) where 1.1 was fine.

Certainly, if a new upstream was released with this patch, I'd just upload it to Debian/Ubuntu and that would solve it.  I'll end up doing it that way anyway for a new upstream, when we can drop this patch.
Okay, let me see about importing this patch into the Debian package instead of the previous quick hack.

just released 1.2.3 to fix this

We should do a 1.2.3 hotfix with the version <IP_ADDRESS> so we don't miss out on this opportunity ;)

Looks like the 1.2.3 tag is missing from the repo...

whoops, forgot to push. Fixed now, thanks.


Upgrade plugins if needed

Each plugin installed through the docker image is now tracked using a
marker file containing the version that was installed through the image.
If later, the container is started from a docker image containing newer
plugins, existing plugins will be upgraded if they haven't been upgraded
in the mean time and if the new docker image provides a new version of
them.

it would be nice to add a test to https://github.com/jenkinsci/docker/blob/master/tests/tests.bats#L54 to prevent regressions

@carlossg done


viz: make sunburst work again

I don't know if this is a fix or just a workaround as the problem looks more like having a duplicated metric column that the current code is not able to handle. Anyway this makes sunburst work for me so it's an improvement nonetheless.
Thanks @simobasso for the help!
Fix #673

Coverage decreased (-0.006%) to 81.03% when pulling 020c763be27e3dcd9719b6e59a77b66d14552afa on xrmx:fixsunburst into 8135c240dc178014f03c943ba1b9beab26716325 on airbnb:master.


Firehose deprecation

As per email below, the firehose endpoint is being removed.
This will effect...

CF Firehose tab
App logs tab
Deploy app logs
metrics component (see https://github.com/bosh-prometheus/firehose_exporter)

Need to decide on how to support older cf's with firehose and newer cf's with new log streaming method
Hi there,

Following the last thread about the deprecation of the /containermetrics endpoint, the Loggregator team would like to continue on its path of deprecations. Next on the chopping block is the /firehose endpoint. We understand that this endpoint is used by a few integrations, so we will provide reference implementations and documents for migrating away from the firehose to the newer loggregator endpoints (namely, the RLP Gateway and LogCache). Depending on the feedback we receive to this email, we would like to proceed with the removal of the firehose endpoint in three months - meaning that the loggregator release being cut in three month’s time won't have support for that endpoint anymore.

You can find some example consumers and the documentation of the RLP here:

Go: https://github.com/cloudfoundry/log-stream-cli

Go Client: https://github.com/cloudfoundry/go-loggregator/blob/master/rlp_gateway_client.go

Java: https://github.com/cloudfoundry-community/jmx-consumer-release/tree/develop/src/jmxconsumer

Docs: https://github.com/cloudfoundry/loggregator/blob/master/docs/rlp_gateway.md

Here are some example consumers and the documentation of the Log Cache:

Go: https://github.com/cloudfoundry/log-cache-cli

Go Client: https://github.com/cloudfoundry/log-cache/tree/master/pkg/client

Docs: https://github.com/cloudfoundry/log-cache/blob/master/README.md

Our desire to remove endpoints on the trafficcontroller is based on our plan to get rid of the trafficcontroller - and then everything in loggregator that still references the V1 api and protocol. This will help us to significantly reduce code complexity, but it will also allow us to operate much more efficiently. This should result in reduced overhead for the logging pipeline and ultimately lower infrastructure costs for the logging components in a CF deployment.

Please let us know if you have any comments or concerns.

Johannes

PM of #loggregator

Firehose is now no longer going to deprecated
https://lists.cloudfoundry.org/g/cf-dev/message/9126
"
We in the Logging and Metrics team have decided to cancel the deprecation of the Loggregator V1 Firehose.
We had previously planned to deprecate the V1 then the V2 Firehose in favor of more modern, scalable APIs with more sustainable support paths (namely, logs over syslog and metrics over Prometheus endpoints). Difficulties encountered by downstream integrators, and concerns that have come up about the performance of the version of the V2 Firehose API accessible to outside integrations (1), have postponed the deprecation timeline significantly. This, combined with a shift in priority towards work on cf-for-k8s, has led us to believe that deprecation of the V1 Firehose is no longer the best path for operators, integrations, or ourselves.

https://github.com/cloudfoundry/loggregator-release/issues/406

"


Integration pulls only zero data values from Octopus

My integration appears to work fine other than it only pulls zeros for electricity & gas consumption. 'Octopus Energy Electricity Current Rate' is pulled correctly.

I've created a display for sensor.octopus_energy_electricity_16kxxxxxxxx_latest_consumption and see 0 reported, same for gas consumption.

For the days prior to setting up the integration, the Energy dashboard correctly reports "There is no data for this period." So I'm confident that I'm retrieving data from Octopus, but it's 0's.

I've downloaded raw data from Octopus and see consumption values in the Excel file that results.

The only related log entry shows...

Logger: homeassistant.helpers.entity
Source: helpers/entity.py:661
First occurred: 27 November 2021, 12:00:18 (11 occurrences)
Last logged: 09:00:21
Update of sensor.octopus_energy_electricity_16kxxxxxxxx_latest_consumption is taking over 10 seconds
Update of sensor.octopus_energy_gas_g4ksxxxxxxxx_latest_consumption is taking over 10 seconds
Update of sensor.octopus_energy_electricity_16kxxxxxxxx_previous_accumulative_consumption is taking over 10 seconds
Any assistance would be very much appreciated.
Thank you.

Not sure how I missed this yesterday, could this be the cause of the problem...
This error originated from a custom integration.
Logger: custom_components.octopus_energy
Source: custom_components/octopus_energy/api_client.py:21
Integration: Octopus Energy (documentation, issues)
First occurred: 29 November 2021, 12:30:36 (1 occurrences)
Last logged: 29 November 2021, 12:30:36
Unexpected error fetching rates data: Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 187, in _async_refresh
self.data = await self._async_update_data()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 147, in _async_update_data
return await self.update_method()
File "/config/custom_components/octopus_energy/init.py", line 81, in async_update_data
tariff_code = await async_get_current_agreement_tariff_code(client, config)
File "/config/custom_components/octopus_energy/init.py", line 54, in async_get_current_agreement_tariff_code
account_info = await client.async_get_account(config[CONFIG_MAIN_ACCOUNT_ID])
File "/config/custom_components/octopus_energy/api_client.py", line 21, in async_get_account
data = await response.json(content_type=None)
File "/usr/local/lib/python3.9/site-packages/aiohttp/client_reqrep.py", line 1113, in json
return loads(stripped.decode(encoding))
File "/usr/local/lib/python3.9/json/init.py", line 346, in loads
return _default_decoder.decode(s)
File "/usr/local/lib/python3.9/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/local/lib/python3.9/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Hello, sorry for the late response. Unfortunately when I wrote this integration I was in the process of switching over to Octopus Energy. It was only upon switching did I realise they didn't provide live consumption data (previous day gets populates at roughly 8:00 the next day).
I'll remove the current consumption sensors in the next release to avoid confusion.

I've noticed my daily previous accumulative gets in to HA any time between 11-12 (lunch time) and 3-5pm. I usually get electricity accumulative first (around lunch time), followed by gas later.
I'm an ex-Avro customer moved as a result of SoLR.
I, too, always notice the current usage values are always 0.0. I was also under the impression it was due to the fact the API is always a day out, so we shouldn't expect to see the current usage populated.

Thanks for the clarification. I'm now using previous consumption and can see consumption data in the HA Energy dashboard. I did set up 'Octopus Energy Electricity Previous Rate' as the rate in the HA Energy dashboard - this sensor shows the correct rate when I check it, but my cost is displayed a zero in the HA Energy dashboard. Not such a big issue - thanks for your help.


Make component more accessible

Alaska Airlines Pull Request
This fixes multiple accessibility issues with the dialog.
Fixes #3
Fixes #4
Fixes #8
Fixes #9
Fixes #22
Summary:

Implement custom getter/setter to run accessibility enhancements (outlined below) when this.open changes
Focus dialog on open and return focus to triggering element on close
Add event listener to window to close dialog when ESC pressed (unless dialog is a modal)
Add aria-hidden and inert to outside elements when modal is opened to trap focus (uses inert polyfill)
Use role="dialog" instead of dialog element due to screen reader issues with the dialog element
Refactor transition (#22) -- the timeout logic was resulting in a bad state if you quickly reopened the dialog. Transitioning visibility: hidden fixed the bug, but now the close transition is broken (see to-do list).
Code cleanup and refactoring to better describe use of internal functions
Swap out polymer CLI for web-dev-server

TODO:

[ ] Test with voiceover
[ ] Resolve TODOs in code
[ ] Fix CSS transition on close
[ ] Make linter happy

Type of change:
Please delete options that are not relevant.

[x] New capability
[x] Revision of an existing capability

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team

@geoffrich this PR needs to be moved to auro-interruption

This PR is to be moved to the new auro-interruption repo.


Fixes compile error E0446 and arithmetic operation overflow

Includes a fix for compilation error E0446 (private type in public interface) and runtime arithmetic operation overflow.

@cmr , @bit-shift 's pull req seems to be fixing your build error. Will you consider review his PR and merging it?


[C++] Cover CBv2 Pass0 counter in Apply test

Extend Apply test to prevent regression of Apply overload for CompactBinary v2 Pass0.

LGTM


Atomic Updates for Date Fields

Problem
Prisma has support for atomic updates on numeric fields, where for example you can increment a numeric column by 1 for all matching rows, without first having to select all those rows and manually increment each one.
I'm requesting Prisma add the ability to do the same with date fields.  For example - being able to add one day, or one month, to a date/datetime column on all matching rows.
Suggested solution
Something like this would be very helpful:
const updatePosts = await prisma.post.updateMany({   data: {     publishDate: {       add: {"days": 6},     },     takeDownDate: {       subtract: {"months": 1, "days": 2}     },     updateDate: {       set: (new Date())     }   }, })
Alternatives
The alternative is either to select all rows and update the dates piecemeal, or to use raw SQL, both of which have significant drawbacks.  Selecting and updating creates the possibility of a race condition if multiple threads are trying to update the same data at the same time.  It is also potentially much slower, especially across larger data sets, then allowing the database to perform the update directly.  Using Raw SQL just undercuts the whole purpose of using prisma.

For completeness, can you edit your post to add the raw SQL that could currently be used to workaround this? Thanks.

All set!  Of course different databases may need different syntax, I am using Postgres and found this to be the most straightforward.


⚠ Bofrost.de has degraded performance

In 105f9de, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 767 ms

Resolved: Bofrost.de performance has improved in 105a649.


improved dark-mode

Description

Improved the dark mode button
Added transition while toggling dark/light mode

Fixes #172

Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Explain the Testing instructions
Test Configuration:

Operating system: Windows
Version: 10 pro
Text-editors used: VS code
Browser: Chrome, Firefox, Tor, Edge

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented on my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

ATTACH SCREEN-SHOTS
https://user-images.githubusercontent.com/32588231/114917367-7ce03d00-9e43-11eb-91c3-894d853b11a5.mp4
@himanshu007-creator
@SnehaVeerakumar

That's great @Aditya201551
@himanshu007-creator Merge this PR. It looks great.

That's great @Aditya201551
@himanshu007-creator Merge this PR. It looks great.

Thanks!


Strange behaviour of dashboard page on ios

Sometimes it cuts half of the page while scrolling - for no reason.

Possibly it can be a mobile menu wrapper bug.

This is a 100vh bug from the ancient times
https://webdesignerwall.com/tutorials/css-fix-for-ios-vh-unit-bug
https://allthingssmitty.com/2020/05/11/css-fix-for-100vh-in-mobile-webkit/


feat(productlistings): [CAPI-63] [POC] Add facets, pagination, and basic controllers for PLP v2

This POC adds basic support for PLP v2 functionality:

basic engine and controller
Pagination controller
Facets controller

We'll most likely want to have a CommerceEngine in its own commerce sub-package, to support all commerce experiences offered through headless.
CAPI-63

Closing this in favor of the productized version of this POC:

https://github.com/coveo/ui-kit/pull/3129
https://github.com/coveo/ui-kit/pull/3130
https://github.com/coveo/ui-kit/pull/3135


SignInForm.vue need to be cleaned up

Sign in has the authStore being imported directly into it, make it use props and clean out commented code

Hi @Tykki , how are you? Dino here, I'm a Jr Frontend Developer and I'd like to contribute to this project, if you'd let me :)
I forked your repo and after installing the project dependencies I tryied to run it, but I got this error in the browser console: Uncaught FirebaseError: Installations: Missing App configuration value: "apiKey" (installations/missing-app-config-values).     at getMissingValueError.
There is any .env file avaliable so I can use it here or some other configuration I have to do?
Thanks!


Auto reconnect fails with some peers

Background
After restart lnd doesn't connect to some nodes. I use hybrid mode so Tor shouldn't be used for these. The channels are stuck in reconnect loop with little to no information. However, if I manually issue the connect command (using lncli or RTL) they connect successfully and stay online until the next lnd restart. Maybe there are some significant differences between the auto reconnect loop and the manual one? Could be related to #5632
Your environment

version of lnd: healthcheck/v1.2.0-1-gcac8da819
which operating system (uname -a on *Nix): Raspbian 5.10.63-v7l+
version of btcd, bitcoind, or other backend: bitcoind v22.0

Steps to reproduce
Here's the log (there might be some unrelated messages for different channels here, the node lnd has trouble connecting to is<PHONE_NUMBER>92521f4ac8abd9bd8088123446d126f648ca35e60f88177dc149ceb2, the channel point is 4c53746b9e98fe6979583c391d5a027ec27071bb9baebba4dcb47da67544be7e:1):
Oct 24 15:49:05 fullnode lnd[6231]: 2021-10-24 15:49:05.630 [INF] SRVR: Established connection to:<PHONE_NUMBER>92521f4ac8abd9bd8088123446d126f648ca35e60f88177dc149ceb2@<IP_ADDRESS>:9735
Oct 24 15:49:05 fullnode lnd[6231]: 2021-10-24 15:49:05.630 [INF] SRVR: Finalizing connection to<PHONE_NUMBER>92521f4ac8abd9bd8088123446d126f648ca35e60f88177dc149ceb2@<IP_ADDRESS>:9735, inbound=false
Oct 24 15:49:05 fullnode lnd[6231]: 2021-10-24 15:49:05.808 [INF] PEER: NodeKey(026165850492521f4ac8abd9bd8088123446d126f648ca35e60f88177dc149ceb2) loading ChannelPoint(4c53746b9e98fe6979583c391d5a027ec27071bb9baebba4dcb47da67544be7e:1)
Oct 24 15:49:05 fullnode lnd[6231]: 2021-10-24 15:49:05.809 [INF] HSWC: Removing channel link with ChannelID(7ebe4475a67db4dca4bbae9bbb7170c27e025a1d393c587969fe989e6b74534d)
Oct 24 15:49:05 fullnode lnd[6231]: 2021-10-24 15:49:05.809 [INF] HSWC: ChannelLink(4c53746b9e98fe6979583c391d5a027ec27071bb9baebba4dcb47da67544be7e:1): starting
Oct 24 15:49:05 fullnode lnd[6231]: 2021-10-24 15:49:05.809 [INF] HSWC: Trimming open circuits for chan_id=692594:688:1, start_htlc_id=2091
Oct 24 15:49:05 fullnode lnd[6231]: 2021-10-24 15:49:05.809 [INF] HSWC: Adding live link chan_id=7ebe4475a67db4dca4bbae9bbb7170c27e025a1d393c587969fe989e6b74534d, short_chan_id=692594:688:1
Oct 24 15:49:05 fullnode lnd[6231]: 2021-10-24 15:49:05.809 [INF] NTFN: New block epoch subscription
Oct 24 15:49:05 fullnode lnd[6231]: 2021-10-24 15:49:05.810 [INF] CNCT: Attempting to update ContractSignals for ChannelPoint(4c53746b9e98fe6979583c391d5a027ec27071bb9baebba4dcb47da67544be7e:1)
Oct 24 15:49:05 fullnode lnd[6231]: 2021-10-24 15:49:05.810 [INF] HSWC: ChannelLink(4c53746b9e98fe6979583c391d5a027ec27071bb9baebba4dcb47da67544be7e:1): HTLC manager started, bandwidth=2001896044 mSAT
Oct 24 15:49:05 fullnode lnd[6231]: 2021-10-24 15:49:05.810 [INF] HSWC: ChannelLink(4c53746b9e98fe6979583c391d5a027ec27071bb9baebba4dcb47da67544be7e:1): attempting to re-synchronize
Oct 24 15:49:05 fullnode lnd[6231]: 2021-10-24 15:49:05.810 [INF] PEER: Negotiated chan series queries with<PHONE_NUMBER>92521f4ac8abd9bd8088123446d126f648ca35e60f88177dc149ceb2
Oct 24 15:49:05 fullnode lnd[6231]: 2021-10-24 15:49:05.810 [INF] DISC: Creating new GossipSyncer for peer=026165850492521f4ac8abd9bd8088123446d126f648ca35e60f88177dc149ceb2
Oct 24 15:49:05 fullnode lnd[6231]: 2021-10-24 15:49:05.812 [INF] HSWC: ChannelLink(4c53746b9e98fe6979583c391d5a027ec27071bb9baebba4dcb47da67544be7e:1): received re-establishment message from remote side
Oct 24 15:49:06 fullnode lnd[6231]: 2021-10-24 15:49:06.381 [INF] PEER: unable to read message from 03a09f56bba3d2c200cc55eda2f1f069564a97c1fb74345e1560e2868a8ab3d7d0@<IP_ADDRESS>:9735: EOF
Oct 24 15:49:06 fullnode lnd[6231]: 2021-10-24 15:49:06.381 [INF] PEER: disconnecting 03a09f56bba3d2c200cc55eda2f1f069564a97c1fb74345e1560e2868a8ab3d7d0@<IP_ADDRESS>:9735, reason: read handler closed
Oct 24 15:49:06 fullnode lnd[6231]: 2021-10-24 15:49:06.583 [INF] DISC: Removing GossipSyncer for peer=03a09f56bba3d2c200cc55eda2f1f069564a97c1fb74345e1560e2868a8ab3d7d0
Oct 24 15:49:06 fullnode lnd[6231]: 2021-10-24 15:49:06.583 [INF] HSWC: Removing channel link with ChannelID(4125fbc74e89754752b3365899eea7fa77ea80e12780f2a9c88677e9ee04651d)
Oct 24 15:49:06 fullnode lnd[6231]: 2021-10-24 15:49:06.583 [INF] HSWC: ChannelLink(1c6504eee97786c8a9f28027e180ea77faa7ee995836b3524775894ec7fb2541:1): stopping
Oct 24 15:49:06 fullnode lnd[6231]: 2021-10-24 15:49:06.584 [INF] HSWC: ChannelLink(1c6504eee97786c8a9f28027e180ea77faa7ee995836b3524775894ec7fb2541:1): exited
Oct 24 15:49:07 fullnode lnd[6231]: 2021-10-24 15:49:07.689 [INF] SRVR: Established connection to:<PHONE_NUMBER>3d2d37b285dae4df40b413d8c6c791fbee7797bc5dc70812196d7d5c@<IP_ADDRESS>:9735
Oct 24 15:49:07 fullnode lnd[6231]: 2021-10-24 15:49:07.690 [INF] SRVR: Finalizing connection to<PHONE_NUMBER>3d2d37b285dae4df40b413d8c6c791fbee7797bc5dc70812196d7d5c@<IP_ADDRESS>:9735, inbound=false
Oct 24 15:49:07 fullnode lnd[6231]: 2021-10-24 15:49:07.710 [INF] PEER: unable to read message from<PHONE_NUMBER>92521f4ac8abd9bd8088123446d126f648ca35e60f88177dc149ceb2@<IP_ADDRESS>:9735: EOF
Oct 24 15:49:07 fullnode lnd[6231]: 2021-10-24 15:49:07.710 [INF] PEER: disconnecting<PHONE_NUMBER>92521f4ac8abd9bd8088123446d126f648ca35e60f88177dc149ceb2@<IP_ADDRESS>:9735, reason: read handler closed

After issuing lncli connect<PHONE_NUMBER>92521f4ac8abd9bd8088123446d126f648ca35e60f88177dc149ceb2@<IP_ADDRESS>:9735:
Oct 24 15:56:45 fullnode lnd[6231]: 2021-10-24 15:56:45.355 [INF] SRVR: Established connection to:<PHONE_NUMBER>92521f4ac8abd9bd8088123446d126f648ca35e60f88177dc149ceb2@<IP_ADDRESS>:9735
Oct 24 15:56:45 fullnode lnd[6231]: 2021-10-24 15:56:45.355 [INF] SRVR: Finalizing connection to<PHONE_NUMBER>92521f4ac8abd9bd8088123446d126f648ca35e60f88177dc149ceb2@<IP_ADDRESS>:9735, inbound=false
Oct 24 15:56:45 fullnode lnd[6231]: 2021-10-24 15:56:45.522 [INF] PEER: NodeKey(026165850492521f4ac8abd9bd8088123446d126f648ca35e60f88177dc149ceb2) loading ChannelPoint(4c53746b9e98fe6979583c391d5a027ec27071bb9baebba4dcb47da67544be7e:1)
Oct 24 15:56:45 fullnode lnd[6231]: 2021-10-24 15:56:45.523 [INF] HSWC: Removing channel link with ChannelID(7ebe4475a67db4dca4bbae9bbb7170c27e025a1d393c587969fe989e6b74534d)
Oct 24 15:56:45 fullnode lnd[6231]: 2021-10-24 15:56:45.523 [INF] HSWC: ChannelLink(4c53746b9e98fe6979583c391d5a027ec27071bb9baebba4dcb47da67544be7e:1): starting
Oct 24 15:56:45 fullnode lnd[6231]: 2021-10-24 15:56:45.524 [INF] HSWC: Trimming open circuits for chan_id=692594:688:1, start_htlc_id=2091
Oct 24 15:56:45 fullnode lnd[6231]: 2021-10-24 15:56:45.524 [INF] HSWC: Adding live link chan_id=7ebe4475a67db4dca4bbae9bbb7170c27e025a1d393c587969fe989e6b74534d, short_chan_id=692594:688:1
Oct 24 15:56:45 fullnode lnd[6231]: 2021-10-24 15:56:45.524 [INF] HSWC: ChannelLink(4c53746b9e98fe6979583c391d5a027ec27071bb9baebba4dcb47da67544be7e:1): HTLC manager started, bandwidth=2001896044 mSAT
Oct 24 15:56:45 fullnode lnd[6231]: 2021-10-24 15:56:45.524 [INF] NTFN: New block epoch subscription
Oct 24 15:56:45 fullnode lnd[6231]: 2021-10-24 15:56:45.524 [INF] HSWC: ChannelLink(4c53746b9e98fe6979583c391d5a027ec27071bb9baebba4dcb47da67544be7e:1): attempting to re-synchronize
Oct 24 15:56:45 fullnode lnd[6231]: 2021-10-24 15:56:45.524 [INF] PEER: Negotiated chan series queries with<PHONE_NUMBER>92521f4ac8abd9bd8088123446d126f648ca35e60f88177dc149ceb2
Oct 24 15:56:45 fullnode lnd[6231]: 2021-10-24 15:56:45.525 [INF] DISC: Creating new GossipSyncer for peer=026165850492521f4ac8abd9bd8088123446d126f648ca35e60f88177dc149ceb2
Oct 24 15:56:45 fullnode lnd[6231]: 2021-10-24 15:56:45.524 [INF] CNCT: Attempting to update ContractSignals for ChannelPoint(4c53746b9e98fe6979583c391d5a027ec27071bb9baebba4dcb47da67544be7e:1)
Oct 24 15:56:45 fullnode lnd[6231]: 2021-10-24 15:56:45.526 [INF] HSWC: ChannelLink(4c53746b9e98fe6979583c391d5a027ec27071bb9baebba4dcb47da67544be7e:1): received re-establishment message from remote side

After that the peer is connected and stays connected. There are 4-5 peers like that that I'm connected to. The majority of them (about 40 peers) work fine. However, if it's possible to connect to them reliably at all, just not automatically, it means the issue is still on our side.
Expected behaviour
lnd should connect by itself with no manual intervention.
Actual behaviour
I have to connect manually to those peers.

One more thing to add. I had a couple of cases when a peer (AcrossFIRE IIRC) got disconnected with the same EOF reason (so random connection reset I assume) and fell into the same unsuccessful reconnect loop never being able to stay connected. I waited for a bit and watched the logs, it looked like the above, no reasonable errors just connect/disconnect. Then I forced connection using lncli and it instantly connected and worked as it should.
I also noticed this sometimes happens during forwarding a payment so the HTLC gets stuck at my node until I reconnect one of the peers. IIRC, it was the incoming channel peer. Another time an outgoing channel peer was disconnected during rebalance, after I reconnected it manually the attempt resolved quickly and proceeded as usual.
Connection reset during forward/payment isn't very rare but it usually reestablishes quickly and the process resumes. Sometimes, however, it gets stuck like this. As I understand there's already in-band pings that should prevent TCP connections from timing out. Otherwise that would explain why connection reset only happens when there's actual data to send/receive to/from the peer in question.
Maybe it's important but I use OpenVPN to my VPS and forward ports to my home node using iptables. I guess if that were a problem I'd see more of these issues but 90% of the peers work fine and only a few of my peers (always the same) have this problem.

ok cool, i have managed to reproduce this. Seems like it has something to do with the combo of peers having both clearnet and onion addresses advertised plus using hybrid mode. Diving into this today

ok i think I found the issue (still need to figure out the best fix):

so this happens when a peer has multiple working addresses advertised (say 1 clearnet and 1 tor)
on start up, in establishPersistentConnections,  all the peers known addresses are loaded and we attempt to connect to each one to see which is successful.
we try both and if one is successful, we close the other connection request.
but on the peer's side: they get the first request, they accept it, then they get the second one and assume that the previous one is stale and so they close the first one. Mean while we have already closed the second one.

Before this PR, the above would also happen but we would then kickoff peerTerminationWatcher which would only attempt to reconnect to a single address of the peer.
Now with that PR we also attempt to connect to the multiple addresses in peerTerminationWatcher which is why the problem just continues.
The reason that manual connection works is that we also just attempt the one address during that.
So, I see 2 possible solutions:

Either the peer's logic (so their InboundPeerConnected function) needs to be updated to not close the first connection if the second one came very soon after the first. Or:
the reconnection logic on our side needs to be updated to not attempt 2 connection requests at once. We should instead have a queue of addresses we want to try and then only try the next one once we know the first has failed.

I think option 2 seems cleaner.

For the record, can confirm that this issue is fixed for me. After running the version from master all alive peers connect successfully and stay connected. Thank you for your great work :pray:

yay! Glad to hear @rkfg! 🚀 thanks for the feedback!

I have a similar issue, it looks like sometimes my node can't reconnect to some peers. After a while, the channel gets force closed.
I am using lncli version 0.14.2-beta commit=v0.14.2-beta.
2022-05-29 23:04:10.077 [INF] PEER: unable to read message from 038fe1bd966b5cb0545963490c631eaa1924e2c4c0ea4e7dcb5d4582a1e7f2f1a5@<IP_ADDRESS>:9735: EOF
2022-05-29 23:04:10.078 [INF] PEER: disconnecting 038fe1bd966b5cb0545963490c631eaa1924e2c4c0ea4e7dcb5d4582a1e7f2f1a5@<IP_ADDRESS>:9735, reason: read handler closed
2022-05-29 23:04:10.077 [DBG] DISC: Processing network message: peer=038fe1bd966b5cb0545963490c631eaa1924e2c4c0ea4e7dcb5d4582a1e7f2f1a5@<IP_ADDRESS>:9735, source=038fe1bd966b5cb0545963490c631eaa1924e2c4c0ea4e7dcb5d4582a1e7f2f1a5, msg=ChannelAnnouncement, is_remote=true
2022-05-29 23:04:10.180 [DBG] SRVR: Peer 038fe1bd966b5cb0545963490c631eaa1924e2c4c0ea4e7dcb5d4582a1e7f2f1a5@<IP_ADDRESS>:9735 has been disconnected
2022-05-29 23:04:10.180 [DBG] FNDG: Cancelling all reservations for peer 038fe1bd966b5cb0545963490c631eaa1924e2c4c0ea4e7dcb5d4582a1e7f2f1a5
2022-05-29 23:04:10.180 [DBG] FNDG: No active reservations for node: 038fe1bd966b5cb0545963490c631eaa1924e2c4c0ea4e7dcb5d4582a1e7f2f1a5
2022-05-29 23:04:10.180 [INF] DISC: Removing GossipSyncer for peer=038fe1bd966b5cb0545963490c631eaa1924e2c4c0ea4e7dcb5d4582a1e7f2f1a5
2022-05-29 23:04:10.180 [DBG] SRVR: Notifying that peer 038fe1bd966b5cb0545963490c631eaa1924e2c4c0ea4e7dcb5d4582a1e7f2f1a5@<IP_ADDRESS>:9735 is offline
2022-05-29 23:04:10.180 [DBG] SRVR: removing peer 038fe1bd966b5cb0545963490c631eaa1924e2c4c0ea4e7dcb5d4582a1e7f2f1a5@<IP_ADDRESS>:9735
2022-05-29 23:04:10.180 [DBG] PRNF: PeerNotifier notifying peer: 038fe1bd966b5cb0545963490c631eaa1924e2c4c0ea4e7dcb5d4582a1e7f2f1a5 offline
2022-05-29 23:04:10.180 [DBG] BTCN: Disconnected from 038fe1bd966b5cb0545963490c631eaa1924e2c4c0ea4e7dcb5d4582a1e7f2f1a5@<IP_ADDRESS>:9735 (reqid 129)


etl: add Ignore annotation to tests

Add @Ignore annotation to all tests apart from the first one in EtlTest.

Fixed in PR #284, thanks @superklamer! :)


[SCB-944] IT optimize

Coverage decreased (-0.07%) to 86.212% when pulling 3be13ce82ceffc8e22672e57872db54125174620 on wujimin:it-optimize into 37230e4f06772b066750169c291f04408c4e88ca on apache:master.


Convert CSV to FoodObject

After completing issue #10 convert CSV parsed object to the correct type.

In the FoodPage component the title of the fruit/vegetable is missing.  Since the data structure has been updates, I think this one was not updated yet.


Ignore pypackages directory

Description
Ignore __pypackages__ directory
(used by some IDEs in similar way as .venv)
Type of change

[ ] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[x] Configuration Update
[ ] Bump-up dependent library

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 95.15%. Comparing base (c52740f) to head (d0a9f29).
Report is 36 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #887      +/-   ##
==========================================
+ Coverage   94.57%   95.15%   +0.57%
==========================================
  Files          55       55
  Lines        2011     2044      +33
==========================================
+ Hits         1902     1945      +43
+ Misses        109       99      -10

see 1 file with indirect coverage changes

/approve


Add lstm support for TFLM

Signed-off-by: Niranjan Yadla<EMAIL_ADDRESS>

@petewarden @advaitjain
Please review and let me know your comments..

It looks like you might need to remove some of the functions you added to the portable version from the tensorflow/lite/kernels/internal/tensor_utils.h file. Here's a failing build:
https://source.cloud.google.com/results/invocations/101404ff-682f-445d-b20e-d938616a6880/targets/%2F%2Ftensorflow%2Flite%2Fjava%2Fdemo%2Fapp%2Fsrc%2Fmain:TfLiteCameraDemo/log
ERROR: /tmpfs/src/github/tensorflow/tensorflow/lite/kernels/internal/BUILD:759:11: C++ compilation of rule '//tensorflow/lite/kernels/internal:kernel_utils' failed (Exit 1): clang failed: error executing command external/androidndk/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -gcc-toolchain external/androidndk/ndk/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64 -target ... (remaining 77 argument(s) skipped)
In file included from tensorflow/lite/kernels/internal/kernel_utils.cc:19:
./tensorflow/lite/kernels/internal/tensor_utils.h:142:13: error: redefinition of 'ApplyReluToVector'
inline void ApplyReluToVector(const float* __restrict__ vector, int v_size,
            ^
./tensorflow/lite/kernels/internal/portable_tensor_utils.h:121:13: note: previous definition is here
inline void ApplyReluToVector(const float* __restrict__ vector, int v_size,
            ^
In file included from tensorflow/lite/kernels/internal/kernel_utils.cc:19:
./tensorflow/lite/kernels/internal/tensor_utils.h:150:13: error: redefinition of 'ApplyRelu1ToVector'
inline void ApplyRelu1ToVector(const float* __restrict__ vector, int v_size,
            ^
./tensorflow/lite/kernels/internal/portable_tensor_utils.h:129:13: note: previous definition is here
inline void ApplyRelu1ToVector(const float* __restrict__ vector, int v_size,
            ^
In file included from tensorflow/lite/kernels/internal/kernel_utils.cc:19:
./tensorflow/lite/kernels/internal/tensor_utils.h:175:13: error: redefinition of 'ApplySignbitToVector'
inline void ApplySignbitToVector(const float* __restrict__ vector, int v_size,
            ^
./tensorflow/lite/kernels/internal/portable_tensor_utils.h:137:13: note: previous definition is here
inline void ApplySignbitToVector(const float* __restrict__ vector, int v_size,
            ^
In file included from tensorflow/lite/kernels/internal/kernel_utils.cc:19:
./tensorflow/lite/kernels/internal/tensor_utils.h:192:13: error: redefinition of 'ApplyActivationToVector'
inline void ApplyActivationToVector(const float* __restrict__ vector,
            ^
./tensorflow/lite/kernels/internal/portable_tensor_utils.h:145:13: note: previous definition is here
inline void ApplyActivationToVector(const float* __restrict__ vector,
            ^
4 errors generated.

Closed, since the PR has been pulled in https://github.com/tensorflow/tensorflow/commit/d76dffffa4b6b17066d5b049afd5323a807965ec


[TOWNS-12637] Update RuleEntitlementV2 to revert when zero length rule data is passed in

Previously setEntitlement RuleEntitlementV2 ignored empty rule datas, but this created a bit of confusion with createSpace when the architect assumed a rule data was set when creating the minter role.
Here we update the contract to just always revert when setEntitlement doesn't actually set an entitlement as an extra guard to avoid creating spaces with an invalid view of entitlements on the minter role.

Note to self: Need to deploy and update Architect to use this new module for new spaces


[stress] stress test rerun failed jobs feature

closes #5361

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

Just some exit handling and naming comments otherwise this is looking good. I think because the variables are untyped and getting used across so much code we need to be extra careful that the variable names describe their underlying values accurately.

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow


Trigger modal to open based on a prop boolean value

This a temporary solution, but think you should implement it better than my solution. This basically triggers the stripe modal to show based on a boolean value. Would prefer to have a prop that triggers the stripe modal to open up without having to click on the button.
Basically I wanted the stripe modal to open after a validation check is done on a form. Once the form was valid then the stripe modal is triggered to open. Currently you only have an onClick that triggers the modal to open.
ISSUE: The only issue is that once the modal opens and the user closes it, it won't be opened again. That's because say you have a boolean value in your state that you initially set with false. Then you change it to true and the modal opens up. When you close the modal, that state value is still set to true. Which when you try to trigger the modal again, it won't open. My temporary solution was to do a setTimeout and reset that boolean to false after 1 second.
Also, the prop name (showModal) is not a good name. Doesn't communicate that it is a trigger boolean for the modal to open up. So definitely use another name.
Hope this clears what I'm trying to get across.

Any thoughts on implementing this? We also want to be able to automatically trigger the modal w/o user interaction (the 'Pay w/ card' button).

Hey @muhanad40 thanks for contribution! I'll finally have some time to make some improvements to this component as its now part of my full-time job 👍
Top of the list is making this more "react-like", IE the UI will be a function of the props passed and will no longer depend on clicks and such.

I need this feature too so I'm pulling it into my project until it's officially merged. Thanks Mandarin.

See comments in #28, I've added a new prop desktopShowModal. In my testing, it worked as intended with a couple caveats:

THIS WILL NOT WORK ON MOBILE, nothing that can be done about this
You must set the prop to false from the function passed as token when receiving a token object, or the popup will open again on its own.