Questions about Silence of Maintainers

react-native-push-notification has been abandoned for a while, so this package is pretty much the only well-done, free and maintained package for RN push notifications now.
It seems like you guys are maintaining the project, because commits are still coming in. But y'alls are so silent in regards to issues and PRs. How come?

They aren't maintaining it, hence why all of the PRs to fix and make this useable. It is depressing to look at 50% of the PRs getting closed from stalebot just because the owners don't want to review. I hope someone steps up and becomes more active but I really don't see that happening looking at this history of issues.

Hm.
That's very unfortunate - that means there's no free and maintained package for cross-platform React Native push notifications. That's strange, since it's a very important feature for many apps.
React Native Community have a maintained package for iOS notifications, hopefully they'll take up one for Android (or, even better, cross platform). I know they were having discussions about that in the past.

One solution could be for someone to fork this, make the changes and actively review and respond to PRs and issues. All you would need is to set docs and publish this as a package.
(Looking at the license I see nothing limiting you from doing this)

Is this package not useable for production apps? I'm running into problems already and I have barely started.

Oh it's usable.
I know there are some issues with linking, but that's about it. Proper looking requires going through a few GitHub issues to see what problems people have run into.

I think there are some alternatives if you don't intend to have local notifications, like react-native-firebase

Yes, but the package doesn't handle notifications in general well anymore because they cut support for it recently.

Yes, but the package doesn't handle notifications in general well anymore because they cut support for it recently.

Yeah, they have a paid package now - https://github.com/invertase/react-native-firebase/issues/2566#issuecomment-578762231

Is this package not useable for production apps? I'm running into problems already and I have barely started.

You can but you more or less have to look through issues and PR's to piece together a working package. For me this included https://github.com/wix/react-native-notifications/pull/496, https://github.com/wix/react-native-notifications/pull/502 and https://github.com/wix/react-native-notifications/issues/517. There may be more depending on what you're intending to do. My implementation was fairly basic.

@puremana not to mention the #525 issue which I'm facing right now! I receive the notification on Android but it has no title nor Body.
:((((
Having a hard time here!

@tattivitorino try implementing this PR https://github.com/wix/react-native-notifications/pull/496, I had the same issue

@puremana do you think it's safe and ok to use this https://www.npmjs.com/package/patch-package to implement this PR? I've never done it!

@puremana do you think it's safe and ok to use this https://www.npmjs.com/package/patch-package to implement this PR? I've never done it!

Looks good to me

@puremana thank you! the PR #496 fixed the title and body in the foreground notification, but the icon is not showing! Any insights?

@puremana thank you! the PR #496 fixed the title and body in the foreground notification, but the icon is not showing! Any insights?

Is the icon not showing for both the foreground and background. or just the background? This may help - #517

I have installed react-native-firebase v6xx with this component.
On Android work (with some errors).
But on iOS i receive notif from firebase console with FCM token with app in bg and closed, but Notifications events arent trigered.
Some idea to fix this?
i can't believe react native i don't have an official component for push notifications. In all my apps push always are a headache.

@luisfuertes I suggest you make your own issue for this.
I'd prefer if people only comment on this thread if they're talking about the maintenance of this repo.

@andersonaddo its ok


Indicate folder location in returned object

So we have a large KML file divided into different folders. These layers are styled differently via GeoJSON so we need to find of way of indicating which folder the feature is in.
Currently, it looks like it returns a flat array of objects, which makes sense because that's the GeoJSON standard. Any thoughts about maybe adding a properties item to each feature which could indicate the parent folder name?
If possible maybe pass an options object to the function to enable the adding of folder names inside of the properties?
tj.kml(kml, {indicateFolders: true});

Found a better way... closed

That makes sense, thanks!
I finally decided to use @FBrusquetti solution as seen in #64 , just add the folder info to the toGeoJSON returned:
https://github.com/FBrusquetti/togeojson/commit/4219d384d80cbf4b7fe743c482e0ac54990f5bef


vcfnp package has been deprecated!

Should be easy to switch to scikit-allel from the same author (http://scikit-allel.readthedocs.io/en/latest/ )

done! but you have to change the times for reading a vcf in AraGeno..
might be bit different now with this package


Keyboard view goes off screen on navigation bar animation

When the navigation bar becomes visible as an animation on the view controller, the keyboard doesn't adjust its view and is thus off screen.  I'm trying to figure out how to fix this, maybe you have a quick answer?  Great work, by the way!

Sorry, I think the problem was that I added this to a UITableViewController.  When I turned it into a normal UITableView and set constraints using Auto Layout, the problems went away.  For some reason, the text input area will still disappear sometimes while the iOS8 autocomplete suggestion bar is visible, but that's probably a separate issue.  (And using the view in this manner requires you to adjust the height of the tableView when the keyboard is visible, of course)

Hey aernum,
Thanks for reporting the issue. It seems a little odd that you can't add
the view as a subview of a viewcontroller as that is probably the majority
case. Are there any other details to the case you had in the first email?

UITableViewController
Add Message Composer as a subview
Animate navigation bar visible

I don't think I ever tested this case explicitly as a I usually add the
tableview as a subview of a regular UIViewController as you did later.
Also if you have time can you reproduce the textview dissappearance and let
me know how to make it happen?
Thanks!
Oskar
On Wed, Mar 4, 2015 at 5:47 PM, aernum<EMAIL_ADDRESS>wrote:

Sorry, I think the problem was that I added this to a
UITableViewController. When I turned it into a normal UITableView and set
constraints using Auto Layout, the problems went away. For some reason, the
text input area will still disappear sometimes while the iOS8 autocomplete
suggestion bar is visible, but that's probably a separate issue. (And using
the view in this manner requires you to adjust the height of the tableView
when the keyboard is visible, of course)
—
Reply to this email directly or view it on GitHub
https://github.com/oseparovic/MessageComposerView/issues/9#issuecomment-77290663
.

I've got a similar problem, when I tried to add  the MessageComposerView to UITableViewController in viewDidLoad the messageComposerView appear just under the the screen view.
To see it I need to scroll and hold down, so I can't interact with it.
Please advise?

Hey can you try to pull the latest code? I haven't updated the lib in a little while. I just pushed up the latest code from my working copy. It seems to be working on iOS 8 iPhone 6 simulator when added to a UITableViewController


Hi,Do you have plan to  add vp9 encoder?

Once there is support in Hardware, VP9 Encoder support will be added.

Yes, it's in plan. But you only get it when hardware opened to public.Sorry about this.

Not planned at this time, until hardware supports.


OAuth2 client flow with authorization code grant is not possible with anonymous auth

Disclaimer
I know this library is deprecated, but I was forced to migrate to an older Springboot stack.
Summary
The OAuth2 client authorization flow with authorization code grant type does not work together with anonymous authentication.
Is a hack/workaround available?
Actual Behavior
I need to allow anonymous users (with anonymous HTTP session / authentication) to access remote OAuth2 resources protected by authorization code grant.
I can successfully redirect users to the remote Authorization/IDP login page, but get exceptions everytime I'm trying to complete the auth flow.
There are two issues I face:

If I redirect the user back to the URL for OAuth2ClientAuthenticationProcessingFilter, the filter properly requests and obtains an access token. However, the next thing it tries to do is:

OAuth2Authentication result = tokenServices.loadAuthentication(accessToken.getValue());

Which fails on BadCredentialsException("Could not obtain user details from token"), because the DefaultTokenService tries to call tokenStore#readAccessToken, but the InMemoryTokenStore is entirely empty at this point.

If I redirect the user back to a different URL, not protected by a OAuth2ClientAuthenticationProcessingFilter I cannot even obtain the access token. When trying to call restTemplate.getAccessToken() in a RestController, the call fails in AccessTokenProviderChain due to this exception:

if (auth instanceof AnonymousAuthenticationToken) {
    if (!resource.isClientOnly()) {
        throw new InsufficientAuthenticationException(
                "Authentication is required to obtain an access token (anonymous not allowed)");
    }
}

I've tried to use my own implementation of AccessTokenProviderChain, that simply omits this check, and at first look it seems to work, but I am not sure if this is a correct approach sufficient for multitenancy.
Expected Behavior
I expect there would be no checks in regards to anonymous authentication. Why should it matter if we have some user details or not? All I want to do is to call some protected resource on behalf of an anonymous user, that provided consent at the Authorization Server.
This is perfectly plausible and doable in Spring Security 5.2.x, because I've already done so, but I need to port the solution to spring security oauth2.
Why does the AccessTokenProviderChain check for anonymous auths?
What do I need to override and reimplement for this scenario to work?
Configuration
I'm using simple @EnableOAuth2Client, DefaultTokenServices (since I don't want to fetch user data from any remote service), InMemoryTokenStore (since that's the simplest one available out of the box).
Version
Springboot 1.5.13, Spring Security OAuth 2.0.15.RELEASE.

Thanks for getting in touch, but it feels like this is a question that would be better suited to Stack Overflow. As mentioned in the guidelines for contributing, we prefer to use GitHub issues only for bugs and enhancements. Feel free to update this issue with a link to the re-posted question (so that other people can find it) or add some more details if you feel this is a genuine bug.

Yes, I guess you could call this a bug - OAuth2 flow with authorization code grant is not working with anonymous auth.
But, that's just a matter of phrasing. I wrote the issue report this way, because I'd like to settle on a workaround, since waiting for a new bugfix release and upgrading is not an option for me.

All I want to do is to call some protected resource on behalf of an anonymous user, that provided consent at the Authorization Server

This is not a valid use case. The authorization_code grant involves an authenticated user to grant access (consent) to the client to access it's protected resources. For further details, you can review the authorization_code grant flow.

All I want to do is to call some protected resource on behalf of an anonymous user, that provided consent at the Authorization Server

This is not a valid use case. The authorization_code grant involves an authenticated user to grant access (consent) to the client to access it's protected resources. For further details, you can review the authorization_code grant flow.

Respectfully sir, it is a valid use case.
Indeed, a user has to be authenticated, but not necessarily at a 3rd party Spring client application. A user is authenticated at the Authorization server. After authenticating at the Authorization server, he provides consent for the 3rd party app's access and is redirect back to a third party application (Spring app in this case),  where his presence may be completely anonymous. The only thing to take care of is to properly map the returned auth_code and access tokens to the correct anonymous HTTP session, otherwise there could be no multitenancy.
This is perfectly doable in Spring Security 5.2.x. Each anonymous authentication has a separate HTTP session, and OAuth2 Authorized clients are bound to the specific session.
There is no need to have the user authenticated in a Spring client application (third-party in the spec). The OAuth2 standard does not require it - in fact the third-party's access management is out of scope of the OAuth2 spec.

@mdindoffer Thanks for clarifying your issue further. Yes, you are correct, the user does not need to be authenticated with the client app, however, does need to be authenticated with the provider.
As the next step in helping you troubleshoot this issue, it would be helpful if you could provide a minimal sample that reproduces the issue. Then I could look at your sample and advise on a solution.

@jgrandja NP, I have created a tiny Springboot client app with OAuth credentials for testing provided.
Take a look at https://github.com/mdindoffer/oauth-client-poc
Just boot it up, and open http://localhost:8080/initNewAuth to initiate the authorization flow.
If you'd prefer to read through the code here, I will paste the contents below:

AuthController.java
package eu.dindoffer.example.oauth.client.impl;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.security.core.context.SecurityContext;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.oauth2.client.OAuth2RestOperations;
import org.springframework.security.oauth2.common.OAuth2AccessToken;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

@Controller
public class AuthController {

  private static final Logger LOG = LoggerFactory.getLogger(AuthController.class);
  private OAuth2RestOperations exampleProviderRestTemplate;

  public AuthController(OAuth2RestOperations exampleProviderRestTemplate) {
      this.exampleProviderRestTemplate = exampleProviderRestTemplate;
  }

  @GetMapping("/initNewAuth")
  public void initNewAuth(HttpServletRequest request, HttpServletResponse response) throws IOException {
      LOG.info("Initiating new auth request");
      //clear the session
      clearCurrentAuthentication(request);
      //Create a new session and store any data if needed (omitted for brevity)
      HttpSession session = request.getSession();
      //Redirect to initiate OAuth flow with an example provider
      response.sendRedirect("/oauth2/authorization/example-provider");
  }

  @GetMapping(value = "/authorize/oauth2/code/{providerId}", params = "!error")
  public void handleSuccessfulAuth(@PathVariable String providerId) {
      LOG.info("OAuth grant successful for provider {}", providerId);
      //try to obtain access token
      OAuth2AccessToken accessToken = exampleProviderRestTemplate.getAccessToken();
      LOG.info("Obtained access token: {}", accessToken);
      //Now do stuff, e.g. try to call protected resources with an access token...
  }

  @GetMapping(value = "/authorize/oauth2/code/{providerId}", params = "error")
  public void handleFailedAuth(@PathVariable("providerId") String providerId,
                               @RequestParam("error") String error,
                               @RequestParam(value = "error_description", required = false) String errorDescription,
                               @RequestParam(value = "error_uri", required = false) String errorUri) {
      LOG.error("Caught an unsuccessful auth for provider {}, with error {}", providerId, error);
  }

  /**
   * Performs a manual logout by removing any current authentication present.
   * Invalidates the session of the provided request, removes the Authentication
   * object from security context and detaches the security context from the current thread.
   *
   * @param request current HTTP request
   */
  private void clearCurrentAuthentication(HttpServletRequest request) {
      HttpSession session = request.getSession(false);
      if (session != null) {
          LOG.debug("Invalidating session:{}", session.getId());
          session.invalidate();
      }
      SecurityContext context = SecurityContextHolder.getContext();
      context.setAuthentication(null);
      SecurityContextHolder.clearContext();
  }
}

application.yml
logging:
level:
  org.springframework:
    security: DEBUG

eu.dindoffer.example.oauth.client:
oauth:
  example-registration:
    clientId: b7d43f9b-a78a-4907-a6d2-a5e94c15dbc0
    clientSecret: 22f7c0f6-0218-4fd9-a4b7-500faaa2b2da
    accessTokenUri: https://webapi.developers.erstegroup.com/api/csas/sandbox/v1/sandbox-idp/token
    userAuthorizationUri: https://webapi.developers.erstegroup.com/api/csas/sandbox/v1/sandbox-idp/auth
    authenticationScheme: header
    clientAuthenticationScheme: form
    preEstablishedRedirectUri: http://localhost:8080/authorize/oauth2/code/example
    use-current-uri: false
    scope: kyc

AppConfig.java
package eu.dindoffer.example.oauth.client.config;

import eu.dindoffer.example.oauth.client.impl.MyAccessTokenProviderChain;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.oauth2.client.OAuth2ClientContext;
import org.springframework.security.oauth2.client.OAuth2RestOperations;
import org.springframework.security.oauth2.client.OAuth2RestTemplate;
import org.springframework.security.oauth2.client.filter.OAuth2ClientAuthenticationProcessingFilter;
import org.springframework.security.oauth2.client.filter.OAuth2ClientContextFilter;
import org.springframework.security.oauth2.client.token.AccessTokenProvider;
import org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeAccessTokenProvider;
import org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeResourceDetails;
import org.springframework.security.oauth2.config.annotation.web.configuration.EnableOAuth2Client;
import org.springframework.security.oauth2.provider.token.DefaultTokenServices;
import org.springframework.security.oauth2.provider.token.store.InMemoryTokenStore;
import org.springframework.web.filter.CompositeFilter;

import javax.servlet.Filter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

@Configuration
@EnableOAuth2Client
public class AppConfig extends WebSecurityConfigurerAdapter {

  @Autowired
  private OAuth2ClientContext oauth2ClientContext;

  @Override
  protected void configure(HttpSecurity http) throws Exception {
      http.authorizeRequests()
              .anyRequest().permitAll();
  }

  @Bean
  public OAuth2RestOperations exampleProviderRestTemplate(OAuth2ClientContext oauth2ClientContext) {
      OAuth2RestTemplate oAuth2RestTemplate = new OAuth2RestTemplate(exampleRegistrationResourceDetails(), oauth2ClientContext);
//TODO Uncomment this for an attempted workaround by avoiding anonymous auth checks
//        MyAccessTokenProviderChain myAccessTokenProviderChain = new MyAccessTokenProviderChain(Collections.<AccessTokenProvider>singletonList(
//                new AuthorizationCodeAccessTokenProvider()
//        ));
//        oAuth2RestTemplate.setAccessTokenProvider(myAccessTokenProviderChain);
      return oAuth2RestTemplate;
  }

  @Bean
  @ConfigurationProperties("eu.dindoffer.example.oauth.client.oauth.example-registration")
  public AuthorizationCodeResourceDetails exampleRegistrationResourceDetails() {
      return new AuthorizationCodeResourceDetails();
  }

  @Bean
  public FilterRegistrationBean oauth2ClientFilterRegistration(OAuth2ClientContextFilter filter) {
      FilterRegistrationBean registration = new FilterRegistrationBean();
      registration.setFilter(filter);
      registration.setOrder(-100);
      return registration;
  }

  @Bean
  public FilterRegistrationBean oauthLoginFilterRegistration() {
      FilterRegistrationBean registration = new FilterRegistrationBean();
      registration.setFilter(oauth2LoginFilter());
      registration.setOrder(-100);
      return registration;
  }

  private Filter oauth2LoginFilter() {
      CompositeFilter filter = new CompositeFilter();
      List<Filter> filters = new ArrayList<>();

      // add a new filter dedicated to an example OAuth2 provider
      OAuth2ClientAuthenticationProcessingFilter exampleOauthProviderFilter =
              new OAuth2ClientAuthenticationProcessingFilter("/oauth2/authorization/example-provider");
      OAuth2RestOperations exampleProviderRestTemplate = exampleProviderRestTemplate(oauth2ClientContext);
      exampleOauthProviderFilter.setRestTemplate(exampleProviderRestTemplate);

      DefaultTokenServices defaultTokenServices = new DefaultTokenServices();
      defaultTokenServices.setTokenStore(new InMemoryTokenStore());
      exampleOauthProviderFilter.setTokenServices(defaultTokenServices);

      filters.add(exampleOauthProviderFilter);

      // add filters for additional providers here...

      filter.setFilters(filters);
      return filter;
  }
}

MyAccessTokenProviderChain.java
package eu.dindoffer.example.oauth.client.impl;

import org.springframework.security.access.AccessDeniedException;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.oauth2.client.resource.OAuth2ProtectedResourceDetails;
import org.springframework.security.oauth2.client.resource.UserRedirectRequiredException;
import org.springframework.security.oauth2.client.token.AccessTokenProvider;
import org.springframework.security.oauth2.client.token.AccessTokenProviderChain;
import org.springframework.security.oauth2.client.token.AccessTokenRequest;
import org.springframework.security.oauth2.common.OAuth2AccessToken;
import org.springframework.security.oauth2.common.OAuth2RefreshToken;

import java.util.List;

public class MyAccessTokenProviderChain extends AccessTokenProviderChain {

  public MyAccessTokenProviderChain(List<? extends AccessTokenProvider> chain) {
      super(chain);
  }

  /**
   * Basically the same implementation as parent, sans the:
   * 1. Anonymous auth check
   * 2. Interaction with the ClientTokenServices
   */
  @Override
  public OAuth2AccessToken obtainAccessToken(OAuth2ProtectedResourceDetails resource, AccessTokenRequest request) throws UserRedirectRequiredException, AccessDeniedException {
      OAuth2AccessToken accessToken = null;
      OAuth2AccessToken existingToken = null;
      Authentication auth = SecurityContextHolder.getContext().getAuthentication();

      if (resource.isClientOnly() || (auth != null && auth.isAuthenticated())) {
          existingToken = request.getExistingToken();
          if (existingToken != null) {
              if (existingToken.isExpired()) {
                  OAuth2RefreshToken refreshToken = existingToken.getRefreshToken();
                  if (refreshToken != null) {
                      accessToken = refreshAccessToken(resource, refreshToken, request);
                  }
              } else {
                  accessToken = existingToken;
              }
          }
      }
      // Give unauthenticated users a chance to get a token and be redirected

      if (accessToken == null) {
          // looks like we need to try to obtain a new token.
          accessToken = obtainNewAccessTokenInternal(resource, request);

          if (accessToken == null) {
              throw new IllegalStateException(
                      "An OAuth 2 access token must be obtained or an exception thrown.");
          }
      }
      return accessToken;
  }
}

@mdindoffer I took a look at the sample and have a couple of things to point out.
First, if your application acts as a client only, then no need to register OAuth2ClientAuthenticationProcessingFilter as this is meant to be used in a resource server. Take notice of the member ResourceServerTokenServices tokenServices, which is intended to be used by a resource server.
Second, the workaround for MyAccessTokenProviderChain (omitting the AnonymousAuthenticationToken check) looks fine to me.
An alternative workaround is registering a custom Filter that is placed right after the AnonymousAuthenticationFilter, that simply swaps the AnonymousAuthenticationToken to a custom CustomAuthenticationToken in the SecurityContext so that it forces the AnonymousAuthenticationToken check to pass in the default AccessTokenProviderChain. It's a hack but IMO it's easier to swap in/out a Filter. NOTE: You could override AnonymousAuthenticationFilter.createAuthentication() to create a custom AbstractAuthenticationToken.

Thank you very much for the advice!
I have since then moved the stack to ScribeJava, however the custom Filter solution looks cleaner to me as well. I will definitely try to use it when/if I'll come back to spring-sec-oauth.
As far as I'm concerned, this issue can be closed, as a reasonable workaround exists, but I'll leave the decision to you.

@mdindoffer I'm sorry to hear you moved off of Spring Security OAuth. Is there a reason you moved to ScribeJava instead of Spring Security's 5.x OAuth 2.0 support? I'm more curious than anything as feedback is always welcome. Also, in case you are not aware, we just started the new project Spring Authorization Server.
Either way, I'll close this issue since a workaround has been provided.

Well, I currently work as a contractor for a large company. For reasons unknown, they have built their own "framework" for microservices on top of SpringBoot and Spring Cloud that is forced upon every project. I'm working on a new microservice in an older project built with an older version of the proprietary framework (with SpringBoot 1.5.13) and was told specifically to not upgrade. I guess because of compatibility or maintenance issues? The "microservices" share a common maven parent with common dependency management
TLDR: There's no technical reason why, other than bad architectural and management decisions. Spring Security 5 has good enough support for OAuth2.

Thanks for the feedback @mdindoffer !


Remove the doc decorator in favor of a jsdoc annotation.

Remove the doc decorator in favor of a jsdoc annotation. This removes complexity and stack traces.
Remove classes for ops as they can now be floating functions.
op now takes a dictionary mapping function name to the method, allowing op callers to use the sugar const pad = op({pad_});, attaching a name to the returned op function as well as naming the scope.

Verified no change in number of symbols exported:
Found:
  7 headings
  29 subheadings
  173 methods

Corresponding doc generator change: https://github.com/tensorflow/tfjs-website/pull/180
Corresponding layers change: https://github.com/tensorflow/tfjs-layers/pull/267

This change is

Yay, this is great! I wanted to suggest that myself when I noticed those.
The doc decorator needlessly polluted transplited code with __decorate function in each file.

Yup +1, we were being too fancy. Learned our lesson :)


Create io.datasette.llm in Application Support on install

Small on here... I think you need to create the io.datasette.llm directory on install (or check before logging).
I've tried installing llm via brew and pip, and both get this error from the sqlite logging after successfully running a command:
$ llm 'hello world'
Hello! How can I assist you today?
Traceback (most recent call last):
  File "/Users/mikestenhouse/.asdf/installs/python/3.11.4/bin/llm", line 8, in <module>
    sys.exit(cli())
             ^^^^^
  File "/Users/mikestenhouse/.asdf/installs/python/3.11.4/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mikestenhouse/.asdf/installs/python/3.11.4/lib/python3.11/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/Users/mikestenhouse/.asdf/installs/python/3.11.4/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mikestenhouse/.asdf/installs/python/3.11.4/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mikestenhouse/.asdf/installs/python/3.11.4/lib/python3.11/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mikestenhouse/.asdf/installs/python/3.11.4/lib/python3.11/site-packages/llm/cli.py", line 266, in prompt
    db = sqlite_utils.Database(log_path)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mikestenhouse/.asdf/installs/python/3.11.4/lib/python3.11/site-packages/sqlite_utils/db.py", line 339, in __init__
    self.conn = sqlite3.connect(str(filename_or_conn))
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: unable to open database file

I create io.datasette.llm myself manually and everything's fine:
~/Library/Application Support $ mkdir io.datasette.llm
~/Library/Application Support $ llm 'hello world'
Hello! How can I assist you today?

Some versions:
llm 0.8
Python 3.11.4
Homebrew 4.1.6
macOS 13.5.1
👋🏻

Hah yeah this is a bug - that folder is meant to be created automatically but clearly there's a case where it isn't.


[ARC-577] Fix relative imports in customresources.py

branch: feature/ARC-577-fix_relative_imports

Done in #28


Actually set the $specified_profile_id when checking

Otherwise it will never use the specified profile id.

Btw SantinoPetrovic is our new developer at intendit :)


Fixing nuget targets file for XDK VS2017

@jasonsandlin,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Passthrough does not provide the IMoniotringProducer when a passive entity is created

This failed an Ehcache test: https://github.com/ehcache/ehcache3/issues/1677
This blocked Ehcache PR: https://github.com/ehcache/ehcache3/pull/1676

As a workaround, I'll check the null return. But we said that IMonitoringProducer was a platform-provided service and that it was always there. So I expect it to be there ;-)
When doing passthrough testing, when creating passive entity, the IMonitoringProducer provided by platform does not exist and is null.
Ses Ehcache test:
ClusteredStateRepositoryReplicationTest.testClusteredStateRepositoryReplication
The IMonitoringProducer is null.

I'll put a workaround at the moment that will disable management if IMonitoringProducer is not found, but this need to be resolved ASAP because we will do some HA test with passive entities and we will need the IMonitoringProducer to be there in passthrough when creating passive entities.

Are you running on the latest release?  I have a test that does pretty well the same thing (in order to test node interaction and best-efforts data from the passive) and it works fine.  The service is looked up the same way, too.

@jd0-sag : Ehcache is using 1.0.13.beta.

So, this problem is happening when the entity is created during replication and synchronization (after restarting the active) or just in one path?
Given that we have a test doing the same lookup, without issue, you will probably need to debug into passthrough to see if the ServiceProvider is present or why else it fails to be resolved.  If anything, I would suspect that there might be something like a class loader mismatch but that would surprise me since we would probably see that in our tests.

I think your right with your 1st hypothesis. If you look at the test, when the failure happened, the test thread was stopped at:
    clusterControl.terminateActive();
    clusterControl.waitForActive();

You also have some test like that ? killing active and wait after ?

I didn't have that in my test but, after adding it, everything still works.
Additionally, that shouldn't involve creating a passive entity (terminating the active will cause the previous passive to be promoted to active) and the waiting for active doesn't do anything.
Further, I don't see the thread being stopped there, in your screenshot, since you are looking at the server thread.

I don't know what to say ;-)
This is an ehcache test that i am not familiar with, I just saw that in this case, IMonotoringProducer was null.
So except by telling that what I observed is wrong, I don't know what I could tell you expect try checkout ehcache code and run the test and you will see ;-)
You just have to add these lines in the creation of PassiveEhcacheEntity:
IMonitoringProducer monitoringProducer = services.getService(new BasicServiceConfiguration<>(IMonitoringProducer.class));
Objects.requireNonNull(monitoringProducer)

And you will see the test failing.

Since you already have the test and can verify it, can you check to see what is in the ServiceProvider collection being consulted?
For this test, they can successfully request the IMonitoringProducer in the active case?

I don't know because I only request the 'IMonitoringProducer' from a passive entity. We do not need it from an active entity.

Take a look to verify if this is a classloader issue (you should be able to see the instance there, resolving to a different instance of the same class).  We suspect that, if you are in a different classloader when IMonitoringProducer is loaded, you are getting a mismatch.  Passthrough doesn't have explicit support for CommonComponent.

Here is what I did. I added:
    IMonitoringProducer monitoringProducer = services.getService(new BasicServiceConfiguration<>(IMonitoringProducer.class));
    System.out.println(getClass().getSimpleName() + " monitoringProducer=" + monitoringProducer + " classloader=" + (monitoringProducer == null ? null : monitoringProducer.getClass().getClassLoader()));
    Objects.requireNonNull(monitoringProducer);

In EhcachePassiveEntity and EhcacheActiveEntity, as first lines in the ctor.
Than I run ClusteredStateRepositoryReplicationTest .
Here is the output:
EhcachePassiveEntity monitoringProducer=null classloader=null
EhcacheActiveEntity monitoringProducer=null classloader=null

Here is how passthrough is initialized:
    this.clusterControl = PassthroughTestHelpers.createActivePassive(STRIPENAME,
        new PassthroughTestHelpers.ServerInitializer() {
          @Override
          public void registerServicesForServer(PassthroughServer server) {
            server.registerServerEntityService(new EhcacheServerEntityService());
            server.registerClientEntityService(new EhcacheClientEntityService());
            server.registerServerEntityService(new VoltronReadWriteLockServerEntityService());
            server.registerClientEntityService(new VoltronReadWriteLockEntityClientService());
            server.registerExtendedConfiguration(new OffHeapResourcesProvider(getOffheapResourcesType("test", 32, MemoryUnit.MB)));

            UnitTestConnectionService.addServerToStripe(STRIPENAME, server);
          }
        }
    );

    clusterControl.waitForActive();
    clusterControl.waitForRunningPassivesInStandby();

So... IMonitoringProducer is simply not there at all!
I tried to do the same thing in our test in tc-platform, and I am unable to reproduce. BUT: we do not have passives and passive entities yet! So perhaps because of that. Or... perhaps because Ehcache is using its own ConnectionService: UnitTestConnectionService
Please have a look at ClusteredStateRepositoryReplicationTest in Ehcache. This test can be run directly from within the IDE and is fast.
So for the moment, we can leave this open. Once I'll add some HA testing, I'll check if I have the same issue.
If yes, it means there's an issue in passthrough with passives and it will be a blocker for us.
If not, then it means these failures are only in Ehcache, and it could be the way Ehcache does their testing with passthrough. Perhaps it has an impact on the IMonitoringProducer. This will also be a blocker for us.

IMonitoringProducer will never appear as a registered service provider since it is provided by the implementation.  In the case of passthrough, this is PassthroughMonitoringProducer.
The test that you did doesn't provide any information since the problem is with the classloader of IMonitoringProducer being different between the your requesting code and the code which actually implements it.  Since the services.getService is essentially looking something up by class instance match, this will fail if they are in different class loaders.
To determine if this is the case, you will need to take that example you had in the debugger and see why it failed to find the service.  Is there anything implementing IMonitoringProducer in the service registry being consulted, and just has a different class instance, or is it missing, altogether.

I looked into this (debugged why we weren't returning something in that test) and the problem is that there is no IStripeMonitoring implementation registered.  Since this means that the data can't be sent anywhere, it doesn't return a service.
Passthrough treats this the same way, on both the active and the passive, and then allows the wrapper to switch modes if the server becomes active.
The real server uses the same logic.

In our internal tests, we register an IStripeMonitoring service provider as a built-in but any mechanism to install this would work.
So, to summarize:  Both passthrough and core will return null for IMonitoringProducer, on both active and passive, is there is no IStripeMonitoring implementation registered.
The rationale being that this is the only way to receive data from the service and returning non-null would imply, to the caller, that the data was going somewhere.

There's an issue with that @jd0-sag. On passive servers, an entity could just fetch a IMonitoringProducer and use it, whether there is a monitoring service or not, because the IMonitoringProducer  is just a "network bridge" in this case, and the monitoring service does nothing on passives. It is not related at all to any IStripeMonitoring. IStripeMonitoring  is just on actives ?

While the IStripeMonitoring is only consulted on the active, the stripe is consistently configured so we wouldn't expect only some servers in the stripe to have it.

ok! so in this case, I'll change our implementation to support null IMonitoringProducer in our configuration object


yolox performance on nuscenes

Hi, can I ask how is the 2d mAP of Pretrained YOLOX-800 and Pretrained YOLOX-640 on nuImage dataset.

Sorry, I can not find the 640 results, but here is the 800 results:
2022-02-04 04:29:26,053 - mmdet - INFO - Epoch(val) [12][2056]	bbox_mAP: 0.4260, bbox_mAP_50: 0.6690, bbox_mAP_75: 0.4520, bbox_mAP_s: 0.2290, bbox_mAP_m: 0.4210, bbox_mAP_l: 0.5550, bbox_mAP_copypaste: 0.426 0.669 0.452 0.229 0.421 0.555

Sorry, I can not find the 640 results, but here is the 800 results:
2022-02-04 04:29:26,053 - mmdet - INFO - Epoch(val) [12][2056] bbox_mAP: 0.4260, bbox_mAP_50: 0.6690, bbox_mAP_75: 0.4520, bbox_mAP_s: 0.2290, bbox_mAP_m: 0.4210, bbox_mAP_l: 0.5550, bbox_mAP_copypaste: 0.426 0.669 0.452 0.229 0.421 0.555

thanks。

One more question, how to pretrain the YOLOX models on nuImage? following the training settings used for training YOLOX on COCO or following the setting in mmdetection3d? Thanks in advance.


'onScan' is not defined

Hi, Im trying to use your library for my work but its not working properly.
Following is my code used in my project
import React from 'react';
import './App.css';
import { Cameras, Scanner } from 'react-instascan';

function App() {
	return (

			<Cameras>
				{(cameras) => (

Scan the code!

						<Scanner camera={cameras[0]} onScan={onScan}>
							<video style={{ width: 400, height: 400 }} />
						</Scanner>

				)}
			</Cameras>

	);
}

export default App;

according to the docs it should work but Im getting this error
Failed to compile
src\App.js
  Line 12:44:  'onScan' is not defined  no-undef

Search for the keywords to learn more about each error.
This error occurred during the build time and cannot be dismissed.

Could you please tell me whats wrong here?

Oh Now I Got it what's exactly the issue is..
the onScan is supposed to return a result which isnt mentioned in the docs.
The correct format proceeds as below
import React, { useState } from 'react';
import { Cameras, Scanner } from 'react-instascan-new';
function App() {
	const [ state, setState ] = useState({
		scanResult: ''
	});

	const scanResult = (qrCode) => {
		setState({ ...state, scanResult: qrCode });
	};
	return (

QR Code: {state.scanResult}

			<Cameras>
				{(cameras) => (

						<Scanner camera={cameras[0]} onScan={scanResult} options={{ mirror: false }}>
							<video style={{ width: '200px', height: '400px' }} />
						</Scanner>

				)}
			</Cameras>

	);
}

export default App;


chore: Address github.com/pkg/sftp Denial of Service (DoS)

Motivation
This change will fix the CVE reported by https://app.snyk.io/vuln/SNYK-GOLANG-GITHUBCOMPKGSFTP-569475
Modifications
Only go.mod and go.sum will be changed using a github.com/pkg/sftp module version without the security issue.
Result
Avoid issues like Denial of Service (DoS) caused by the old version of the github.com/pkg/sftp module

@ckadner @Jooho Could you help me reviewing this change?

Closing PR since it's a duplicate of #480


Slash zeros

Slashed some more zeros and fixed a bug re table formatting (though station callsign should always be preset)

Based off wrong branch


RS512 is not supported in PlayJwt

Hey there, I wanted to use your library in your project. In the documentation, it says RS512 is supported but I get You can only use HMAC algorithms for [play.http.session.algorithm] error. Isn't it implemented?

It is but Play expects symmetric algorithms for session encryption, that's why you can only use HMAC for the config file. You will probably need to use a custom way to encrypt it.

@orkunkl in order to use RS512 or asymmetric algorithms should be enough to instantiate your java.security.PublicKey somewhere, i.e:
val publicKey: PublicKey = (
  decodeBase64 andThen
  newX509EncodedKeySpec andThen
  keyFactory.generatePublic
)(yourPublicKeyBase64String)

and then:
Jwt.decode(jwt, publicKey, Seq(JwtAlgorithm.RS512))

Furthermore, you could have your PublicKey inside a file or as a string in your application.conf, it's enough the Base64 piece ;-)


Add zkSync 2 testnet as network and support delegation

Closing this as we added a new network in https://github.com/snapshot-labs/snapshot.js/issues/600 but supporting delegation is not a priority


can we using jsonpath lib to impl jsonpath for jsonb?

https://github.com/besok/jsonpath-rust provides some functionality that I would like to use, is it possible to implement a JsonLike trait for jsonb's Value?

good advice, we can consider add a trait for jsonb's Value.


Fix off-by-one error when itemsPerRow > 1

Found this bug through scrollTo jumping to the wrong space.
This fragment calculates the row index given the list index and itemsPerRow:
Math.ceil(index / itemsPerRow)
When itemsPerRow is 2 and index is 1, expected row index is 0, but actual is 1.

Nice catch!

Thanks for the quick release
and the awesome list component!


Setup integration testing against real Azure services on the CI

We chatted about this with @agoncal

@JonathanGiles mentioned that the tests are not executed against "real" Azure services (as tests could be unstable). They are run against proxies that have recorded specific Azure HTTP responses (this is my understanding, I'm sure @JonathanGiles will clarify this).

It would be great to hear more details.

The Azure SDK uses a mechanism called "PlayBack Testing". Basically it records the network calls when invoking the Azure services, stores the requests/responses in JSon, and then runs the tests against these JSon files.
Here is the test class in AppConfiguration which is setting up the ConfigurationClient to handle either PLAYBACK or RECORD testing https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/appconfiguration/azure-data-appconfiguration/src/test/java/com/azure/data/appconfiguration/ConfigurationClientTest.java#L73
When in PLAYBACK it will override the classpath configured HttpClient with PlaybackClient that is capable of matching up requests with the recorded responses. Or, when in RECORD it will add an HttpPipelinePolicy that will record network calls to create the playback record.
And here is an example of a playback record: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/appconfiguration/azure-data-appconfiguration/src/test/resources/session-records/ConfigurationAsyncClientTest.addConfigurationSettingConvenience[1].json

We could probably try it with the config extension, since it is fairly simple.

Thanks for the explanation, @agoncal.
I think this concept of PlayBack testing could work well for testing on JVM.
For native, I have a bit of methodological concerns: Quarkus native integration tests consist of two substantial parts: 1. a test application 2. assertions. Out of those, only the test app is compiled into native executable. It is compiled together with all its transitive dependencies. I think it would not be correct to switch the production HTTP client for the PlayBack client, because that would result in a substantially different test app. We could miss important native mode issues in that way. I wonder how hard it would be to modify the concept so that the recorded responses would be sent over HTTP by a mock server?
We should definitely use this for JVM testing while we do not have anything better.
A technical question: How does the Azure SDK team handle to life cycle of the recorded responses? Are they updated regularly  - time based, or perhaps on every deployment of the given Azure service?

@ppalaga Good question.
@alzimmermsft do you know how often the JSON requests/responses are updated?

Unfortunately, there isn't an exact answer to how often the playback record are re-recorded as this is left to the maintainer/maintainers of a given SDK. Generally, they should either be re-recorded or updated when new service features are supported by the SDK, but in many cases only new tests are recorded in these cases and minimal updates are applied to existing recordings (for example changing API versions in the JSON file with a find and replace mechanism). And for the SDKs this works as we also perform nightly, or manually triggered if needed, testing against live Azure resources.
I recently began discussions with our engineering systems team on ways we could make it easier, and safer, to record playback recordings by hooking into our existing live testing pipelines but at that time this was more a developer convenience, both internally and externally, and I didn't push too much on this. I can start those discussions up again if there will be a requirement to maintain "fresh" playback recordings. https://github.com/Azure/azure-sdk-tools/issues/5138

I wonder how hard it would be to modify the concept so that the recorded responses would be sent over HTTP by a mock server?

Funny you mention this as this is something we are currently migrating to 😄 https://github.com/Azure/azure-sdk-for-java/issues/24792
We're migrating to an out-of-process mock server instead of using the in-process mock HttpClient.

@alzimmermsft so it is accurate to say that each time we bump the version of the Azure SDK we should re-record the JSON outputs?

FYI I am starting experimenting this feature: https://github.com/quarkiverse/quarkus-azure-services/tree/agoncal/playback

@alzimmermsft so it is accurate to say that each time we bump the version of the Azure SDK we should re-record the JSON outputs?

I may have been a bit unclear on wording there, any time the SDK supports a new Azure service version the playback records should be re-recorded, not any time a new SDK version is released. So, say AppConfiguration releases a new service version that the SDK supports the playback recordings should be re-recorded, but we do new SDK releases every month and those don't require re-recording.

I wonder how hard it would be to modify the concept so that the recorded responses would be sent over HTTP by a mock server?

Funny you mention this as this is something we are currently migrating to smile Azure/azure-sdk-for-java#24792
We're migrating to an out-of-process mock server instead of using the in-process mock HttpClient.

Great news, thanks for the info! We will be able to use it for both JVM and native tests then.

@alzimmermsft when I record my test again the real Azure App Configuration service, it generates a JSON file with empty calls and variables. What is do is just set the AZURE_TEST_MODE variable to RECORD and execute my test. Anything else I should be doing?
{
  "networkCallRecords" : [ ],
  "variables" : [ ]
}

See https://github.com/quarkiverse/quarkus-azure-services/blob/agoncal/playback/playback-tests/azure-app-configuration/src/test/resources/session-records/AzureAppConfigurationTest.azureAppConfiguration.json

@agoncal I don't know much about how the QuarkusTest annotation works, but does the test configure RecordNetworkPolicy in the service client builder when running in RECORD mode? Using ConfigurationClient and ConfigurationClientBuilder as an example:
public class TestExample extends TestBase {
    public ConfigurationClient setupTestClient() {
        ConfigurationClientBuilder builder = new ConfigurationClientBuilder()
            // In PLAYBACK use the PlaybackClient otherwise let the classpath determine the HttpClient.
            .httpClient(getTestMode() == TestMode.PLAYBACK ? interceptorManager.getPlaybackClient() : null)
            .endpoint(endpoint)
            // TokenCredential needs to be mocked in PLAYBACK as it shouldn't require the network in PLAYBACK.
            .credential(getTestMode() == TestMode.PLAYBACK ? mockCredential : realCredential);

        if (getTestMode() == TestMode.RECORD) {
            // Add the RecordNetworkPolicy in RECORD mode to capture requests and responses.
            builder.addPolicy(interceptorManager.getRecordPolicy());
        }

        return builder.builderClient();
    }
}

Today I talked to @backwind1233 who is from Azure Spring Cloud team and responsible for developing spring starter on top of Azure Java SDK (which is quite similar Quarkus Azure service extension). He showed me that Azure Spring Cloud runs integration test against real azure services, for example, this file declares App Config service that will be deployed and tested during the integration testing.
As a result, I think we can circle back and also consider this direction which was the original request. I'll work on it next week and share more later.

I endorse @majguo 's approach to follow the existing practice for Spring Cloud Azure, which is to use actual service instances.

Since I talked to @alzimmermsft, the Azure SDK team created this blog post with a video on there Test Proxy. It's really what we are looking for. Check it out https://devblogs.microsoft.com/azure-sdk/level-up-your-cloud-testing-game-with-the-azure-sdk-test-proxy.

@agoncal @ppalaga @edburns and All - I just created a separate issue #110 to track the enhancement about setting up the integration tests using the Azure SDK test proxy. This issue (#37) will just serve its original request - Setup integration testing against real Azure services on the CI.


ML 8.17 : Lines (Hough) and Edge Detection (Filters) (V)

Description 📜
Video explaining Lines (Hough) and Edge Detection (Filters)
Fixes #7516

Type of change 📝

[x] Video (Animations, screen-recordings, presentations and regular explanatory films are all possibilties etc)

Domain of Contribution 📊

[x] Machine #Learning

Checklist ✅

[x] I follow Contributing Guidelines & 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'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

changes are made sir.


Split Screen

Description of the new feature/enhancement
Being able to split the screen into multiple terminals

You mean panes?

[ ]
M__

related to #1000

[ ]
M__

[ ]


Implement IntoIterator trait

@vil-mo could you please provide a descrpiption of what you want to achieve?

I've silenced this warning in #58, but I think this would be to allow for val in grid vs. the current requirement of for val in grid.iter(). Leaving it off would enforce that you choose a iter method. But I think it's very common that iteration maps to .iter().


Named and Defaulted Function Arguments

Summary
A big part of making usable scientific and data-analysis libraries is the availability and use of named and defaulted function arguments. Take a circle function, for instance. It may take a position and a radius as follows mkCircle : Position -> Radius -> Circle, but it could also take many more specialist arguments. For the people that don't care about this additional power, we want them to just be able to create a circle.
This is where named and default arguments come in. Say, for example, that the circle function defaults position = {0, 0} and radius = 1. This means that a user can just create a circle by calling circle. Named arguments, then, allow users to change just the defaults that they want: circle (radius = 10), or circle (position = {1, 1}).
Support for these is instrumental to the usability of Enso for data processing.
Specification

The Enso interpreter has support for named arguments.
The Enso interpreter has support for defaulted arguments.

Acceptance Criteria & Test Cases

Function application using defaulted or named arguments doesn't compromise on performance.
This functionality is rigorously tested and benchmarked.

Do make sure it is not conflicting with dynamic dispatch. The default arguments in general should not be considered for dispatch, complicating things quite a bit.

A few notes on design:

When should arguments be evaluated?
Needs to do clever lookup in the context of dynamic dispatch.
Should cache argument positions where possible. This can be done using reference equality on arguments and function objects.
Need to support the use case of not using a defaulted argument (dummy syntax).

The initial parser implementation turned out not to work, so is being re-written in order to allow named args to work properly.

Parser has been re-written. Now working on re-building standard arguments on the new model before working with named and defaulted ones.

All argument information is now to the call site, all that remains is to marry the definition arguments and call arguments up.

This now works. Needs some optimisation though.

This is now feature-complete for this task, but needs some refactoring and commenting.


[opencv4] Building package opencv4:x64-windows failed

Host Environment

OS: Windowa 10
Compiler: revision

To Reproduce
Steps to reproduce the behavior:
.\vcpkg install pthreads opencv[ffmpeg]
Failure logs
Computing installation plan...
The following packages will be built and installed:
opencv[core,dnn,ffmpeg,jpeg,png,quirc,tiff,webp]:x64-windows -> 4.5.1

opencv4[core,dnn,ffmpeg,jpeg,png,quirc,tiff,webp]:x64-windows -> 4.5.1
pthreads[core]:x64-windows -> 3.0.0-6
Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x64-windows...
Could not locate cached archive: C:\Users\JAVI-PABLO\AppData\Local\vcpkg\archives\e8\e8cb2d4ca18136a74850b97c4c71b2016b0fd789.zip
Could not locate cached archive: C:\Users\JAVI-PABLO\AppData\Local\vcpkg\archives\94\944696c726d5309e62069d802309367647bc8897.zip
Could not locate cached archive: C:\Users\JAVI-PABLO\AppData\Local\vcpkg\archives\f1\f16c05c9affc47a1b49c4f5db91392783b4da114.zip
Starting package 1/3: opencv4:x64-windows
Building package opencv4[core,dnn,ffmpeg,jpeg,png,quirc,tiff,webp]:x64-windows...
-- Using cached D:/TFG/vcpkg-master/downloads/opencv-opencv-4.5.1.tar.gz
-- Cleaning sources at D:/TFG/vcpkg-master/buildtrees/opencv4/src/4.5.1-e92f755db3.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source D:/TFG/vcpkg-master/downloads/opencv-opencv-4.5.1.tar.gz
-- Applying patch 0001-disable-downloading.patch
-- Applying patch 0002-install-options.patch
-- Applying patch 0003-force-package-requirements.patch
-- Applying patch 0004-fix-policy-CMP0057.patch
-- Applying patch 0005-fix-eigen.patch
-- Applying patch 0006-fix-uwp.patch
-- Applying patch 0008-devendor-quirc.patch
-- Using source at D:/TFG/vcpkg-master/buildtrees/opencv4/src/4.5.1-e92f755db3.clean
CMake Deprecation Warning at scripts/cmake/vcpkg_check_features.cmake:182 (message):
calling vcpkg_check_features without the FEATURES keyword has been
deprecated.
Please add the FEATURES keyword to the call.
Call Stack (most recent call first):
ports/opencv4/portfile.cmake:43 (vcpkg_check_features)
scripts/ports.cmake:142 (include)

-- Using cached D:/TFG/vcpkg-master/downloads/opencv-cache/tiny_dnn/adb1c512e09ca2c7a6faef36f9c53e59-v1.0.0a3.tar.gz
-- Configuring x64-windows
-- Building x64-windows-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:146 (message):
Command failed: D:/CMake/bin/cmake.exe --build . --config Debug --target install -- -v -j5
Working Directory: D:/TFG/vcpkg-master/buildtrees/opencv4/x64-windows-dbg
See logs for more information:
D:\TFG\vcpkg-master\buildtrees\opencv4\install-x64-windows-dbg-out.log
Call Stack (most recent call first):
scripts/cmake/vcpkg_build_cmake.cmake:105 (vcpkg_execute_build_process)
scripts/cmake/vcpkg_install_cmake.cmake:45 (vcpkg_build_cmake)
ports/opencv4/portfile.cmake:385 (vcpkg_install_cmake)
scripts/ports.cmake:142 (include)
Error: Building package opencv4:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with .\vcpkg update, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
Package: opencv4:x64-windows
Vcpkg version: 2021-01-13-d67989bce1043b98092ac45996a8230a059a2d7e
-Please attach any additional failure logs mentioned in the console output.
Logs:
install-x64-windows-dbg-out.log
Additional context
Add any other context about the problem here, such as what you have already tried to resolve the issue.

To give a little bit more of context, I am trying to build darknet in windows. To do so, I have followed this guide: https://medium.com/analytics-vidhya/installing-darknet-on-windows-462d84840e5a , and it crashes when trying to install opencv with vcpkg (as you can see). I have also tried to install darknet using cmake with this guide https://www.youtube.com/watch?v=y5txWv7MVag , but I have the same problem when it starts building the opencv package.
error in cmake:
vcpkg-manifest-install.log
CMake Error at D:/TFG/vcpkg-master/scripts/buildsystems/vcpkg.cmake:898 (message):
vcpkg install failed.  See logs for more information:
D:\TFG\darknet\build_win64\vcpkg-manifest-install.log
Then in the log the error is:
Error: Building package opencv4:x64-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with .\vcpkg update, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
Package: opencv4:x64-windows
Vcpkg version: 2021-01-13-d67989bce1043b98092ac45996a8230a059a2d7e
vcpkg-manifest-install.log
Inside the log the following log is also commented:
install-x64-windows-dbg-out.log

@javi99 ,Thanks for posting this issue,There is an issue here that is the same as yours. You can refer to the solutions given to try. If you have any problems, you can contact me

We have just built OpenCV 4.5.2 on Windows 10 x64 without issues.

Just built darknet from source with OpenCV enabled (Windows 10 x64) and worked like a charm!


Support for CommonJS?

Currently, transform expects that final code uses ES modules, but maybe there could be option to switch to CommonJS require?
Code for require would look something like this:
const declar = t.variableDeclaration('var', [t.variableDeclarator(t.identifier(OBJECT_ASSIGN), t.callExpression(t.identifier('require'), [t.stringLiteral(OBJECT_ASSIGN)]))]);

What do you think? I could create PR for this if you’re interested.

@niksy I apologize for the late response, I am just seeing this now.
I'm not against the change you are suggesting, however I am curious about what you are using this project for. The reason why I'm asking is because I was just recently planning on formally deprecating this project on npm as a lot has changed since this project was created and the primary motivation that lead to me creating this project was an bug in Chrome that was fixed.
Thanks for your interest and contributing in open source 😄

@newoga it’s for the projects which don’t use ES imports and can benefit from not including same code in every file. Granted, there will be less and less projects over time like that, but it can be useful when publishing transpiled code for package and smaller output.
I can create PR if you’re interested.

@niksy Hey, sorry again for the late response. My email still gets overwhelmed from github emails relating to the material-ui project. If this change still has value for you, I'd be glad to accept a PR for it and release a new version.


MariaDB Compatibility

This PR adds compatibility for MariaDB. It exports an additional module for linking the MariaDB client library, which may be imported by the Swift database driver if desired.

@tannernelson Note that vapor/mysql #27 won't work without this PR being approved too :)


Add script to turn flat schema into yaml template for manual entry

The push check can be ignored... maybe we should not run a push check.

No longer needed


Inner element fields not mapping.

Using the 2.0 beta. I have an assets field, with a custom field (a plain text field). The option to map to this is shown in my feed set-up, however the field never gets populated when I run the task. No errors, just nothing mapping.
Tested with uploaded assets and ones just linked via filename. No errors I can see in the logs either.

@shornuk Do the files get imported as well? I'm having troubles getting my files to import in the beta.

There's been a bit of an overhaul on field-mapping, including inner-element fields. Would you be able to give the latest 2.0 master a go?

Awesome, I'll have a try with this a little later this evening. Will report back once I've tested.

OK, just having a little test. Seems to be mapping the assets fields now. Only issue is that it's wiping my Simplemap data. Did you remove/change that in the latest commit?

Ah - I'll likely need to update the PR for Simplemap due to changes described...

Ah! Only tested on a couple of entries and then suddenly realised it was happening!

Refer to latest PR - https://github.com/ethercreative/simplemap/pull/23

Brill. First tests show everything working OK. That's with an XML feed.


Cc3220sf host driver

This PR imports the SimpleLink host driver v <IP_ADDRESS> (which communicates to the Network Coprocessor over dedicated SPI) plus its port to Zephyr for the CC3220SF_LaunchXL.
This is the first step to enable BSD socket offload over WiFi for the CC3220SF.
This is a replacement for the stale, now abandoned, PR #412, and is based on the (merged) SimpleLink SDK v <IP_ADDRESS> update PR #772.

What's the issue with conflict on __errno?

SimpleLink defines its own __errno, but has a feature to use the porting OS's definition.   This patch actually should be using Zephyr's __errno definition.  CONFIG_ERRNO=y, so there should be no conflict.

Can we than move the errno fixes out of the 'ext: simplelink: Add SimpleLink DPL porting layer to Zephyr' patch and into 'ext: simplelink: Enable build of the SimpleLink host driver.'?

Actually, that would be a bit difficult, as in order to enable use of Zephyr's __errno, the dpl_set_errno() function must be defined, which is part of the SimpleLink DPL porting layer, which comes in a later commit.
When staging the commits, it seemed logical to first simply enable the build of the host driver (with CONFIG_ERRNO=n, which defaults to using SimpleLink's __errno); then later, in the DPL porting layer commit, to actually hook into Zephyr's __errno (as it's part of the OS porting task), then set CONFIG_ERRNO=y.

So, to clarify, CONFIG_ERRNO=n is OK for the  'ext: simplelink: Enable build of the SimpleLink host driver.' commit, and creates no conflict.  It just defaults to using SimpleLink's __errno.
The later commit, when DPL layer is ported to Zephyr, then enables using Zephyr's __errno.

Can you rebase, also do we want to update to SDK/HAL version 1_40_01_00?

Rebased.
I reviewed SDK <IP_ADDRESS> vs <IP_ADDRESS> and found no significant functionality differences.
Given the effort to update the SDK file subsets, and the fact this PR is blocking other work, I'd prefer this get merged now, and we update the SDK/HAL versions later if need arises.


merged into a single line

I have a piece of lua code, the config for the plugin neo-tree shown below:

After I move down, the context is shown like this:

See the top line please. The context window shows the lua table entries merged into a single line.  I think this is abnormal, right?
Thank you very much.

Need more investigation. I will re-open it later.


update error page to just show "something went wrong!"

Right now we're showing full strack traces if there's an error - we can hide those behind a user friendly error page because the stack traces should still go to sentry.

Let me know how this works
https://www.figma.com/file/xo32mL5Q9jRPVotbH6nv5h/MDAO-App-(Sandbox-%26-User-Testing)?node-id=6348%3A31369&t=IYzckA3UYB3Cwoco-1

hey that's awesome!  figure we can use it for other types of errors too besides just 404?

hey that's awesome! figure we can use it for other types of errors too besides just 404?

Got it. Made the change 👍

https://www.figma.com/file/xo32mL5Q9jRPVotbH6nv5h/MDAO-App-(Sandbox-%26-User-Testing)?node-id=6352-31137&t=1kRLLF4Qlck192wI-0

@gnomadic as the issue is closed, I'm assuming the fix has been deployed. With that assumption I forced an error by messing with the submission id in URL. I'm able to see stack traces.

hey yeah it's not fixed yet, this issue is open, in the priority lane - it should get into active development soon

@gnomadic / @A4x1 Do we want to give a link to the discord or anything like that?

Eh I don't think so, most of the errors are a 404 or one that can be recovered with a refresh.


It's not possible to pass the string into providerData parameter of SendInvoiceAsync and get valid json subtree of "providerData" node as a result

Here is a sample of result  Im trying to get...

There is a problem with quotes escaping - I don't see the way how to pass a string into current version of SendInvoiceAsync to get valid json in request to telegram api.
If just I don't see the way - please, let me know...
Thank you.

Please provide minimal reproducible example of what you expect to achieve there. For further discussion I suggest you to join our  telegram group https://t.me/joinchat/B35YY0QbLfd034CFnvCtCA.

Sorry, what kind of example do you need?
I want to get valid json as you can see on screen (this is provider requirement). They don't want a "string", they want JSON-node.
No way to get it wih STRING provider data.
This is what I can get with string, and it's not whay whey want.

So, do I still need to give a "reproducable example" or it's enough?
await _botClient.SendInvoiceAsync(identifier, "",
"desc", "payload", paymentToken, "start_parameter", "RUB",
prices,,
/* WHAT TO PLACE HERE TO GET IT AS A PART OF VALID JSON */,

Who are “they”? Bot API clearly states that provider data is a json encoded string, there’s nothing indicating that it should be a valid json node without any particular schema.

Yandex. See here for example, if you are interested in [https://yandex.ru/support/checkout/instructions/telegram.html?lang=ru].
Possibly you are right but Im not sure actually.
Here is quote from a telegram bot api:

A JSON-serialized data about the invoice, which will be shared with the payment provider. A detailed description of required fields should be provided by the payment provider.

So, there is a "data" and "fields". But at the same time there is type of parameter "String".

It probably means that it should serialize required provider data as a json string a put there as json as is. It’s either Telegram or the provider job to deserialize it back.

According to the official documentation for sendInvoice provider_data parameter
provider_data is a JSON-serialized data about the invoice, which will be shared with the payment provider. A detailed description of required fields should be provided by the payment provider.
So this property is provider-specific I i don't see a way for us to provide a convenient way of serializing this data in our library. You have to serialize this data yourself and specify it as a parameter for SendInvoiceAsync.
In your case it could be something like this:
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using System;

var receipt = new Receipt()
{
    Items = new Item[] { new Item() { Description = "Product", Quantity = 1.0M } }
};

var providerData = JsonConvert.SerializeObject(receipt);
Console.WriteLine(providerData);

[JsonObject(MemberSerialization.OptIn, NamingStrategyType = typeof(SnakeCaseNamingStrategy))]
public class Item
{
    [JsonProperty(Required = Required.Always)]
    public string Description { get; set; }
    [JsonProperty(Required = Required.Always)]
    public decimal Quantity { get; set; }
}

[JsonObject(MemberSerialization.OptIn, NamingStrategyType = typeof(SnakeCaseNamingStrategy))]
public class Receipt
{
    [JsonProperty(Required = Required.Always)]
    public Item[] Items { get; set; }
}

With a resulting string:
{"items":[{"description":"Product","quantity":1.0}]}

And a complete request would look like this:
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using System;
using Telegram.Bot.Requests;
using Telegram.Bot.Types.Payments;

var receipt = new Receipt()
{
    Items = new Item[] { new Item() { Description = "Product", Quantity = 1.0M } }
};

LabeledPrice[] productPrices =
{
    new LabeledPrice(label: "PART_OF_PRODUCT_PRICE_1", amount: 150),
    new LabeledPrice(label: "PART_OF_PRODUCT_PRICE_2", amount: 2029),
};

var invoice = new Invoice
{
    Title = "PRODUCT_TITLE",
    Currency = "CAD",
    StartParameter = "start_param",
    TotalAmount = 1,
    Description = "PRODUCT_DESCRIPTION",
};

var sendInvoiceRequest = new SendInvoiceRequest(
    chatId: 1,
    title: invoice.Title,
    description: invoice.Description,
    payload: "payload",
    providerToken: "providerToken",
    startParameter: invoice.StartParameter,
    currency: invoice.Currency,
    prices: productPrices
    )
{
    PhotoUrl = "url",
    PhotoWidth = 600,
    PhotoHeight = 400,
    NeedShippingAddress = true,
    IsFlexible = true,
    NeedName = true,
    NeedEmail = true,
    NeedPhoneNumber = true,
    SendEmailToProvider = true,
    SendPhoneNumberToProvider = true,
    ProviderData = providerData
};

var invoiceRequest = JsonConvert.SerializeObject(sendInvoiceRequest);
Console.WriteLine(invoiceRequest);

[JsonObject(MemberSerialization.OptIn, NamingStrategyType = typeof(SnakeCaseNamingStrategy))]
public class Item
{
    [JsonProperty(Required = Required.Always)]
    public string Description { get; set; }
    [JsonProperty(Required = Required.Always)]
    public decimal Quantity { get; set; }
}

[JsonObject(MemberSerialization.OptIn, NamingStrategyType = typeof(SnakeCaseNamingStrategy))]
public class Receipt
{
    [JsonProperty(Required = Required.Always)]
    public Item[] Items { get; set; }
}

Which gives us a valid JSON request:
{
    "chat_id": 1,
    "title": "PRODUCT_TITLE",
    "description": "PRODUCT_DESCRIPTION",
    "payload": "payload",
    "provider_token": "providerToken",
    "start_parameter": "start_param",
    "currency": "CAD",
    "prices": [
        {
            "label": "PART_OF_PRODUCT_PRICE_1",
            "amount": 150
        },
        {
            "label": "PART_OF_PRODUCT_PRICE_2",
            "amount": 2029
        }
    ],
    "provider_data": "{\"items\":[{\"description\":\"Product\",\"quantity\":1.0}]}",
    "photo_url": "url",
    "photo_width": 600,
    "photo_height": 400,
    "need_name": true,
    "need_phone_number": true,
    "need_email": true,
    "need_shipping_address": true,
    "send_phone_number_to_provider": true,
    "send_email_to_provider": true,
    "is_flexible": true
}

There’s a way to make the library do it, but it will require SendInvoiceAsync method and SendInvoiceRequest to become generic or provider_data to have object type. It will also require a custom json converter and which will make future possibility of STJ support without pulling in Newtonsoft impossible. I don’t think it’s worth.

@karb0f0s  Thank you for a sample...
Anyway, this string will give us "provider_data" with just a string value, not a JSON-node.
Possible it's ok but it not looks like in yandex documentation.
So, I will ask provider (yandex) support about that. There is still exists the possibility of error in theis documentation.
@tuscen yes, that what I was looking for initially...  object or JObject.

@AndreyPolovodov it may be that yandex docs aren't correct regardless this particular case. Try deserializing all the required data as json object and test it with a test token. It should work.

I see your point. Same example here https://habr.com/ru/company/yamoney/blog/351766/. It looks like provider_data should be a valid JSON node. Can you confirm, that serialized JSON string doesn't work as expected?

{quote}Can you confirm, that serialized JSON string doesn't work as expected?{quote}
I just trying to understand what is wrong with payments in my bot and have just found this one. Possibly it's not the only one, so, I can't confirm right now - but I will do it later (and will ask yandex to be sure).

@AndreyPolovodov Hi, were you able to get reply from Yandex and resolve your issue?

Hi, @karb0f0s, sorry, not yet, but I remeber about and will give feedback a bit later.

Closing this.
Github Issues are for issues within our library code, not for helping you solve your client's requirements.
For Bot API, ProviderData is a string. It's up to you to serialize your JSON to a string.


Homogenize how we handle mirrored repositories on salt states

First of all, I would like that we agreed on something:
The repository URIs provided when we don't have set up the "mirror" grain, must be identical to the URIs provided when we have a "mirror" grain; differentiating them only by the domain name where sumaform request this content.
If we agree on that assumption, I would like to refactor some Jinja if statements, homogenizing the way we handle those mirrored repositories.
In my opinion, it will be less error-prone if we use this format:
http://{{ grains.get("mirror") | default("download.opensuse.org", true) }}/repositories/systemsmanagement:/Uyuni:/Master:/openSUSE_Leap_15-Uyuni-Client-Tools/openSUSE_Leap_15.0/

Instead of this other format, also found in the salt states:
  {% if grains.get('mirror') %}
    {% if 'beta' in grains.get('product_version') | default('', true) %}
    - baseurl: http://{{ grains.get("mirror") }}/repo/$RCE/SLES11-SP4-SUSE-Manager-Tools-Beta/sle-11-x86_64/
    {% else %}
    - baseurl: http://{{ grains.get("mirror") }}/repo/$RCE/SLES11-SP4-SUSE-Manager-Tools/sle-11-x86_64/
    {% endif %}
    {% else %}
    {% if 'beta' in grains.get('product_version') | default('', true) %}
    - baseurl: http://euklid.nue.suse.com/mirror/SuSE/build-ncc.suse.de/SUSE/Updates/SLE-SERVER/11-SP4-CLIENT-TOOLS-BETA/x86_64/update/
    {% else %}
    - baseurl: http://euklid.nue.suse.com/mirror/SuSE/build-ncc.suse.de/SUSE/Updates/SLE-SERVER/11-SP4-CLIENT-TOOLS/x86_64/update/
    {% endif %}
    {% endif %}

So, ideally, the above snipper could be refactored as:
{% if 'beta' in grains.get('product_version') | default('', true) %}
- baseurl: http://{{ grains.get("mirror") | default("euklid.nue.suse.com", true) }}/mirror/SuSE/build-ncc.suse.de/SUSE/Updates/SLE-SERVER/11-SP4-CLIENT-TOOLS-BETA/x86_64/update/
{% else %}
- baseurl: http://{{ grains.get("mirror") | default("euklid.nue.suse.com", true) }}/mirror/SuSE/build-ncc.suse.de/SUSE/Updates/SLE-SERVER/11-SP4-CLIENT-TOOLS/x86_64/update/
{% endif %}

Having in our minima mirror, on the http section, these lines:
http:
  - url: http://euklid.nue.suse.com/mirror/SuSE/build-ncc.suse.de/SUSE/Updates/SLE-SERVER/11-SP4-CLIENT-TOOLS-BETA
    archs: [x86_64]
  - url: http://euklid.nue.suse.com/mirror/SuSE/build-ncc.suse.de/SUSE/Updates/SLE-SERVER/11-SP4-CLIENT-TOOLS
    archs: [x86_64]

Note that in this example we are using a mirror as source origin, but please just don't pay attention to that detail. The general idea is that we have in our minima mirror exactly what we have as origin source, it doesn't matter for this refactor if it comes from OBS, IBS, or any other source.

@juliogonzalez @rjmateus that make sense for you guys? I think this will be very benefitial to improve maintainability and readability.

I don't think this is going to fly as you expect.
IIRC /repo/$RCE/SLES11-SP4-SUSE-Manager-Tools/sle-11-x86_64/ is the format provided by SCC, while /SuSE/build-ncc.suse.de/SUSE/Updates/SLE-SERVER/11-SP4-CLIENT-TOOLS/x86_64/update/ is the format provided by our internal mirror. NCC/SCC magic.
FMPOV there's something more urgent than this. We need a refactor of the way we manage the repositories for each OS. Having a single SLS file doesn't scale anymore. Then we can think about simplifying this as well (if possible).

I don't think this is going to fly as you expect.
IIRC /repo/$RCE/SLES11-SP4-SUSE-Manager-Tools/sle-11-x86_64/ is the format provided by SCC, while /SuSE/build-ncc.suse.de/SUSE/Updates/SLE-SERVER/11-SP4-CLIENT-TOOLS/x86_64/update/ is the format provided by our internal mirror. NCC/SCC magic.
FMPOV there's something more urgent than this. We need a refactor of the way we manage the repositories for each OS. Having a single SLS file doesn't scale anymore. Then we can think about simplifying this as well (if possible).

@juliogonzalez it doesn't matter the path used in the source origin, we can mirror any kind of url on minima, by using the example I provided, and will mirror the content with exactly the same path.
But what we CAN'T afford is to use different content when we are using a mirror or not using a mirror, this will lead to missunderstandings, problems to maintain, unsync content, etcera.
Our mirror must work "similar" as a transparent proxy-cache, with the difference that instead of requesting the content and then caching it for next time, we must populate the mirror with that content (using yml file and crons) so when we request that content, it's already there.

I don't recall exactly why this was done, and do not have time at this moment to research it again, but I seem to remember there was a reason to have this for products that come from "NCC". Please note that this "strange" thing happens only for SLE11 and (IIRC) RES6.
Maybe @rjmateus or @mcalmer remember better than me and know if your proposal will work.

@srbarrios minima will mirror an URL keeping its directory structure intact. If the server we are mirroring from has a different path than the URL served by SCC, then something has to bridge that gap.
Currently the gap is bridged in the SLS file, we could also move it to the minima configuration file, but the association still needs to be maintained somewhere.
So I would love to have one URL to rule them all and just change the host, but that is fundamentally not possible at least in some cases. I would not be against moving the mapping somewhere else sensible.

@srbarrios minima will mirror an URL keeping its directory structure intact. If the server we are mirroring from has a different path than the URL served by SCC, then something has to bridge that gap.
Currently the gap is bridged in the SLS file, we could also move it to the minima configuration file, but the association still needs to be maintained somewhere.
So I would love to have one URL to rule them all and just change the host, but that is fundamentally not possible at least in some cases. I would not be against moving the mapping somewhere else sensible.

@moio could you please tell me why the proposed change in the description will not work?
{% if 'beta' in grains.get('product_version') | default('', true) %}
- baseurl: http://{{ grains.get("mirror") | default("euklid.nue.suse.com", true) }}/mirror/SuSE/build-ncc.suse.de/SUSE/Updates/SLE-SERVER/11-SP4-CLIENT-TOOLS-BETA/x86_64/update/
{% else %}
- baseurl: http://{{ grains.get("mirror") | default("euklid.nue.suse.com", true) }}/mirror/SuSE/build-ncc.suse.de/SUSE/Updates/SLE-SERVER/11-SP4-CLIENT-TOOLS/x86_64/update/
{% endif %}

http:
  - url: http://euklid.nue.suse.com/mirror/SuSE/build-ncc.suse.de/SUSE/Updates/SLE-SERVER/11-SP4-CLIENT-TOOLS-BETA
    archs: [x86_64]
  - url: http://euklid.nue.suse.com/mirror/SuSE/build-ncc.suse.de/SUSE/Updates/SLE-SERVER/11-SP4-CLIENT-TOOLS
    archs: [x86_64]

Please let me know why we follow a strategy to use a different source of content when we use a mirror and when we don't use a mirror. In my understanding, as I described, we should use the mirror as a kind of proxy-cache, so we serve byte by byte the same content that we would download without the mirror. If in this special case (I warn about to try to avoid stuck this special case in the description too), we don't use IBS or OBS and use this other mirror "euklid.nue.suse.com", we should treat this mirror just as the source of origin, there is no need to distinguish between this and other sources, all sources must be treated equally, and mirror identically, all of them through "http section" of minima, and never by using "scc section", which in my humble option must be reserved to the use case I mentioned in my other comment, so only when SUMA server sync products through the disk mirror feature.

The problem is, that SCC has an "input" URL and an "output" URL which must not be the same.
This means for a mirror:
As long as we mirror everything from SCC/updates.suse.com directly, we get the output URL which then should be created also on the mirror. We can have 1 path independend of the mirror or scc used.
But if we use an internal mirror or the staging area, we get the "input" url which might be different to what SCC has as output URL.
This problem affects mostly SLES11 repos and maybe external repos like nvidia.
I would try to use https://updates.suse.de/ . Here you have the chance to get the URLs at the same place as SCC has it as output.

The problem is, that SCC has an "input" URL and an "output" URL which must not be the same.
This means for a mirror:
As long as we mirror everything from SCC/updates.suse.com directly, we get the output URL which then should be created also on the mirror. We can have 1 path independend of the mirror or scc used.
But if we use an internal mirror or the staging area, we get the "input" url which might be different to what SCC has as output URL.
This problem affects mostly SLES11 repos and maybe external repos like nvidia.
I would try to use https://updates.suse.de/ . Here you have the chance to get the URLs at the same place as SCC has it as output.

As I understand, this is not the problem I want that we address in this refactor. This is just another issue we have related to this mirror that we are using as origin source in some repos.
The refactor aims to simplify the code by using in-line jinja expression and by using always the same URI path with/without mirror. And as far we mirror what we use when we don't use a mirror, via http section of minima.yml, I can't see the technical issue.

I agree that have it homogenize is a good thing. If what Michael mentioned is not a problem I think this would be great, and code would be simpler.

@srbarrios I do not disagree with the concept either - we are just warning you it might not be possible to apply it in all cases. We are all on the same page to homogenize to the extent posisble!

@srbarrios I do not disagree with the concept either - we are just warning you it might not be possible to apply it in all cases. We are all on the same page to homogenize to the extent posisble!

I know I know, I just want to understand where it can not by applied, and the reason about it.
As far as I see the change, it can be applied everywhere. The main idea is to use the mirror as a mirror, and nothing else, so not trying to use the mirror as a by-pass of the SCC client issue, mentioned by MC.
For this case, we can use another minima mirror instance acting as a SCC client, but Sumaform shouldn't be aware of that infrastructure workaround, it should treat this other "mirror" just as tje source origin.
So, I think the description of the change still applying to all the cases.
If you want, I can make a draft, and we try it, not sure if this sprint, but sometime soon.

I am not sure I fully understand your idea, but feel free to open a PR.
I am in general fine with any PR that makes our life easier, provided it does not negatively impact current sumaform use cases.
As long as the sumaform mirror continues to work, feel free to shuffle URLs around to make code more readable.


What does this do

@aakatz3

It's for koda

Yes but what does it do

Fixes https://github.com/DumbDogDiner/Warrior/issues/7

Need to split some of the gradle stuff out, and there are more things to add to text util.


Cannot install opentelemetry-instrumentation-all 0.20.1

Description of the bug
Attempting to install opentelemetry-instrumentation-all at 0.20.1 fails:
Bundler could not find compatible versions for gem "opentelemetry-instrumentation-sidekiq":
  In Gemfile:
    opentelemetry-instrumentation-all (= 0.20.1) was resolved to 0.20.1, which depends on
      opentelemetry-instrumentation-sidekiq (~> 0.20.0)

Could not find gem 'opentelemetry-instrumentation-sidekiq (~> 0.20.0)', which is required by gem 'opentelemetry-instrumentation-all (= 0.20.1)', in any of the sources.

This can be reproduced with this minimal Gemfile:
source 'https://rubygems.org'
ruby   '2.5.5'
gem 'opentelemetry-instrumentation-all', '0.20.1'

It seems v0.20.0 of the sidekiq instrumentation did not make it to Rubygems as it is not present here:  https://rubygems.org/gems/opentelemetry-instrumentation-sidekiq

Thanks for the report, 0.20.0 for sidekiq is released now.
https://rubygems.org/gems/opentelemetry-instrumentation-sidekiq
Going to close this issue, if you're still having trouble feel free to reopen it.


RtYamlInput.java:38-40: Finish implementing this class using a f...

The puzzle 46-02cbf3dd in src/main/java/com/amihaiemil/camel/RtYamlInput.java (lines 38-40) has to be resolved: Finish implementing this class using a finite automata. Short idea: using an InputStreamReader, read each char from the stream, see if the automata accepts it. If it's accepted, build the yaml.
The puzzle was created by amihaiemil on 09-Feb-17.
Estimate: 30 minutes, role: IMP.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code.

@amihaiemil please pay attention to this new issue.

The puzzle 46-02cbf3dd has disappeared from the source code, that's why I closed this issue. //cc @amihaiemil


Quote dataproc --packages opt

To support > and [] syntax in package specs; otherwise it silently starts a cluster without packages, like here: https://batch.hail.populationgenomics.org.au/batches/17781/jobs/1

Don't forget to bump the patch version.


Colors for choosing product color are not visible in filter side menu of category page

Current behavior
Colors for choosing product color are not visible in filter side menu of category page
Expected behavior

Steps to reproduce the issue

Can you handle fixing this bug by yourself?

[ ] YES
[ ] NO

Environment details

Browser:
OS:
Code Version:

Additional information

Colors to filter products on basis of color are not visible on category page


Details of extension dependencies should show up in details or contributions tab

VSCode Version: Code - Insiders 1.6.0-insider (c94c824db64a88bd4909da2e84e44316dbf8e8fb, 2016-09-28T06:23:37.103Z)
OS Version: Linux x64 4.4.0-38-generic, Ubuntu 16.04

#12647
Publishing an extension with extension dependencies does not show the dependencies anywhere, meaning an "empty" extension with 100 dependencies could exist and radically change the environment without warning the user.

Duplicates #12756


ROS build, refers to terminal

Lately I've been looking into AFL and I've been trying to implement it for our project in ROS melodic under 64bit ubuntu, the build failed on compilation due to:
CC=/usr/local/bin/afl-clang-fast CXX=/usr/local/bin/afl-clang-fast++ catkin build

CMake Error at /opt/ros/melodic/share/catkin/cmake/assert.cmake:17 (message):
Assertion failed: check for file existence, but filename (RT_LIBRARY-NOTFOUND) unset.
Message: RT LibraryCall Stack (most recent call first):
/opt/ros/melodic/share/catkin/cmake/tools/rt.cmake:42 (assert_file_exists)
/opt/ros/melodic/share/catkin/cmake/all.cmake:147 (include)
/opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:20 (include) CMakeLists.txt:4 (find_package)
CMakeLists.txt:4 find_package(catkin REQUIRED COMPONENTS roscpp)

As google/AFL didn't have this problem for either afl-gcc nor afl-clang I've looked around a bit and for the former one seems to start since removal of isatty(2): https://github.com/vanhauser-thc/AFLplusplus/commit/7a20cc2f58d2709a6b26c98bb6a931dfe5e186b6
For the latter it seems to occur since an earlier time, I've only verified that for release 2.57c it already didn't work.
Both methods compile the project if AFL_QUIET is used, but it would be nice to get the instrumentation information for components to which it was actually applied. For afl-gcc reverting the change works locally, for now I have no idea how to apply it correctly for afl-clang.
PS. Thanks a lot to all of you for your work with AFL

@Kusoku I added the isatty check back into afl-as, please try again if it works now for you. also afl-clang-fast.

@vanhauser-thc yup, those changes solved the problem, now it builds completely with all afl-gcc/clang/clang-fast without problems 👍
Thanks for your help.

@Kusoku : since i originally removed the isatty check (in order to check, if gcc honors the option -B and really calls our instrumenting assembler wrapper afl-as), I would like to understand the real problem here.
Is true that your project uses its own preprocessor (roscpp)?
Was afl-as disturbing the build chain somehow with its output?
Thanks

@hexcoder- FYI to have the output even if the output is redirected I added the AFL_DEBUG environment variable
basically:
  if ((isatty(2) && !getenv("AFL_QUIET")) || getenv("AFL_DEBUG")) {
       SAYF("...");
  else
       is_quiet = 1;

@vanhauser-thc Thanks, I see, you also added AFL_DEBUG in the test in the Makefile. Fine!

@hexcoder- from my understanding SAYF outputs data to the terminal which might've corrupted the ROS process during initialization:

argc and argv
ROS uses these to parse remapping arguments from the command line. It also modifies them so that they no longer contain any remapping arguments, so that if you call ros::init() before processing your command line you will not need to skip those arguments yourself.

While not exactly specified further ros wiki mentions 2 more points:

Avoid printf and friends (e.g., cout). Instead, use rosconsole for all your outputting needs.
Avoid preprocessor macros whenever possible.

So there might be even more to it that just that initialization and your speculation towards preprocessor is correct. I've barely started with AFL and ROS so for now it's hard to say more from my side.


feat(typescript_indexer): don't emit references to hops in imports

This change is a rollback of https://github.com/kythe/kythe/pull/3990. UI (CodeSearch) still doesn't support this usecase properly and current workaround introduces more confusion than it helps (we have a number of bugs about that). Even though it represents code more correctly. In particular with current approach it's impossible to easily see all usages or calls of given variable or function. Instead when you check call of function doSomething - you can only get refs from import statements from other files and then go those files one by one and search for usages of doSomething there.
Once UIs properly support this usecase of imported variables - we'll roll-back this change again.
Also moved import tests to separate folders so that files belonging to the same test indexed together.
Tested: unit tests

@evmar and @ayazhafiz as we discussed it couple of months ago.

The extant UIs should support the correct behavior, there's a flag in the Kythe pipeline which hasn't yet been enabled in live but I believe should be this quarter.

@shahms which flag are you talking about?

There is an internal flag on Kythe serving to enable these indirections.  It has not been enabled in prod.

Talked to @shahms on chat. The plan is to change TS indexer to follow https://www.kythe.io/docs/schema/modules.html and guard that by a flag. That will allow us to see how it works in staging environment and later enable once the flag Shams mentioned enabled by default.

Doing some cleanup; from your last comment it sounds like this PR isn't relevant any more? Feel free to re-open if it is.


Galactic to main

Good question @bmagyar, I will clean the conflicts or close it if this is not relevant


google drive upload memory overflow

I've been working on tuning procedures using the InSb array detector, which can easily generate .data files upwards of 100 MB. When these files are sent to the google drive handler, a MemoryError is raised inside of google drive because the file is too large to load entirely into the python allocated memory (my naive understanding). What we want to happen is for the file to be uploaded in pieces, something google drive is certainly capable of but isn't doing for us.
In searching to understand this problem, I found this issue open in the PyDrive repository. The reported error is identical to the one we experience. Amazingly, it seems like we might be running up against a bug in PyDrive itself.
Based on the comment in the above issue by Fjodor42, I 'hacked' the http.py module in googleapiclient on the fs computer. All I did was change the default of the kwarg resumable (line 285) to True (it was originally False). This has fixed the MemoryError problem. I don't fully understand why.
I'd strongly prefer not to have to edit googleapiclient itself in the long run. People here talk about fixing the issue by using the api client directly - bypassing PyDrive. Perhaps this is something we could do in the future.

@untzag, is a memory cap in place for every launched thread in PyCMDS? In other words, does PyCMDS impose restrictions on how much memory our Google Drive method can use?  I ask this because as demonstrated yesterday, our method is perfectly capable of uploading "large" files (~750mb) without generating a memory error.
Also, does this error happen after uploading many other files before the 100mb file that throws up the error? In other words, is the Google Drive method attempting to keep all uploaded items in memory?

It doesn't have anything to do with multiple files not being cleared from memory I'm pretty sure. The error occurs even on the first file uploaded after a clean startup.
As far as I know there is no memory cap on a thread-by-thread basis in PyQT. However the entirety of PyCMDS must obey the GIL so all of the other pieces of PyCMDS have to share memory with PyDrive.
My suspicion is that one of the following is true:

PyCMDS doesn't have enough additional memory to represent the files
Your test case with ~750 MB doesn't exactly replicate PyCMDS' implementation in some small way that changes this behavior
PyDrive treats uploading video files differently than data files. Perhaps the developers made a special case for video files since they anticipated them as large.

Unfortunately I think the only way to understand how this black box works is to poke at it a bit with some 'experimental programming'. At your earliest convenience could you attempt to upload this folder using your script?
For now we have a workaround, so I'm content :neutral_face:.

Folder upload works perfectly.

Well that tells us something. Could you look through the google drive implementations on your machine and in PyCMDS to see if any differences pop out at you? The fs branch is most current at the moment.

The issue referenced in the first post here has been closed and fixed. I'll let you know if we still see the error.