Login with Facebook after password reset results in empty tokens

Describe the bug
In a test project, Login is set up via Firebase with email, Facebook and Google providers and works OK. Password resetting also works; I obtain the link on the backend given the email and send the password reset link to the client if the email exists. The link is obtained like this:
$auth = app('firebase.auth');
$link = $auth->getPasswordResetLink($request->email);

The problem is not critical since it's not an everyday scenario, but it comes when logging in with Facebook (it doesn't happen with Google), log out, then the user clicks on "Did you forget your password?" and obtains the link, and resets the password. At this moment, in Firebase, the login provider changes back from Facebook to email as expected, but if the user tries to login again with Facebook, the signin itself doesn't throw any error (and I obtain expected user data like the Firebase ID, name, etc.) but the access and refresh tokens are empty. This is the code used for the sign in:
$auth = app('firebase.auth');
$signInToken = $request->token; // The token obtained at the client's side, needed to perform the login in Firebase
$signInProvider = $request->provider; // This will be 'google.com' or 'facebook.com'
try {
    $signInResult = $auth->signInWithIdpAccessToken($signInProvider, $signInToken, null, null, null, null);

    // The following traces are all empty in the described case
    Log::debug('Sign in result idToken: ' . $signInResult->idToken());
    Log::debug('Sign in result accessToken: ' . $signInResult->accessToken());
    Log::debug('Sign in result tokenResponse: ' . print_r($signInResult->asTokenResponse(), true));

    //But this data() object indeed shows data from the user logged in:
    Log::debug('Sign in result data: ' . print_r($signInResult->data(), true));

} catch(FailedToSignIn $e) {
    Log::debug('Error signing in with provider: ' . $e->getMessage()); //This doesn't get called in the described scenario
}

The behaviour only happens with Facebook provider. The same actions done with Google sign in results in a valid token.
Installed packages
"require": {
        "php": "^7.3|^8.0",
        "doctrine/dbal": "^3.4",
        "fruitcake/laravel-cors": "^2.0",
        "guzzlehttp/guzzle": "^7.0.1",
        "hostbrook/laravel-dkim": "^1.2",
        "kreait/laravel-firebase": "^4.2",
        "laravel/framework": "^8.75",
        "laravel/passport": "^10.4",
        "laravel/sanctum": "^2.15",
        "laravel/tinker": "^2.5"
    },
    "require-dev": {
        "facade/ignition": "^2.5",
        "fakerphp/faker": "^1.9.1",
        "laravel/sail": "^1.0.1",
        "mockery/mockery": "^1.4.4",
        "nunomaduro/collision": "^5.10",
        "phpunit/phpunit": "^9.5.10"
    },

PHP version and extensions
composer-plugin-api    2.0.0    The Composer Plugin API
composer-runtime-api   2.0.0    The Composer Runtime API
ext-bz2                7.4.30   The bz2 PHP extension
ext-calendar           7.4.30   The calendar PHP extension
ext-ctype              7.4.30   The ctype PHP extension
ext-curl               7.4.30   The curl PHP extension
ext-date               7.4.30   The date PHP extension
ext-dom                20031129 The dom PHP extension
ext-exif               7.4.30   The exif PHP extension
ext-fileinfo           7.4.30   The fileinfo PHP extension
ext-filter             7.4.30   The filter PHP extension
ext-ftp                7.4.30   The ftp PHP extension
ext-gd                 7.4.30   The gd PHP extension
ext-gettext            7.4.30   The gettext PHP extension
ext-hash               7.4.30   The hash PHP extension
ext-iconv              7.4.30   The iconv PHP extension
ext-json               7.4.30   The json PHP extension
ext-libxml             7.4.30   The libxml PHP extension
ext-mbstring           7.4.30   The mbstring PHP extension
ext-mysqli             7.4.30   The mysqli PHP extension
ext-mysqlnd            0        The mysqlnd PHP extension (actual version: mysqlnd 7.4.30)
ext-openssl            7.4.30   The openssl PHP extension
ext-pcntl              7.4.30   The pcntl PHP extension
ext-pcre               7.4.30   The pcre PHP extension
ext-pdo                7.4.30   The PDO PHP extension
ext-pdo_mysql          7.4.30   The pdo_mysql PHP extension
ext-pdo_sqlite         7.4.30   The pdo_sqlite PHP extension
ext-phar               7.4.30   The Phar PHP extension
ext-readline           7.4.30   The readline PHP extension
ext-reflection         7.4.30   The Reflection PHP extension
ext-session            7.4.30   The session PHP extension
ext-simplexml          7.4.30   The SimpleXML PHP extension
ext-sockets            7.4.30   The sockets PHP extension
ext-sodium             7.4.30   The sodium PHP extension
ext-spl                7.4.30   The SPL PHP extension
ext-sqlite3            7.4.30   The sqlite3 PHP extension
ext-tokenizer          7.4.30   The tokenizer PHP extension
ext-xml                7.4.30   The xml PHP extension
ext-xmlreader          7.4.30   The xmlreader PHP extension
ext-xmlrpc             7.4.30   The xmlrpc PHP extension
ext-xmlwriter          7.4.30   The xmlwriter PHP extension
ext-xsl                7.4.30   The xsl PHP extension
ext-zend-opcache       7.4.30   The Zend OPcache PHP extension
ext-zip                1.18.2   The zip PHP extension
ext-zlib               7.4.30   The zlib PHP extension
lib-bz2                1.0.6    The bz2 library
lib-curl               7.61.1   The curl library
lib-curl-libssh        0.9.6    curl libssh version
lib-curl-openssl       <IP_ADDRESS> curl OpenSSL version (<IP_ADDRESS>)
lib-curl-zlib          1.2.11   curl zlib version
lib-date-timelib       2018.04  date timelib version
lib-fileinfo-libmagic  537      fileinfo libmagic version
lib-gd                 2.2.5    The gd library
lib-iconv              2.28     The iconv library
lib-libsodium          1.0.18   The libsodium library
lib-libxml             2.9.7    libxml library version
lib-libxslt            1.1.32   The libxslt library
lib-libxslt-libxml     2.9.7    libxml version libxslt is compiled against
lib-mbstring-libmbfl   1.3.2    mbstring libmbfl version
lib-mbstring-oniguruma 6.8.2    mbstring oniguruma version
lib-openssl            <IP_ADDRESS> OpenSSL 1.1.1k  FIPS 25 Mar 2021
lib-pcre               10.32    The pcre library
lib-pcre-unicode       11.0.0   PCRE Unicode version support
lib-pdo_sqlite-sqlite  3.26.0   The pdo_sqlite-sqlite library
lib-sqlite3-sqlite     3.26.0   The sqlite3-sqlite library
lib-zip-libzip         1.6.1    The zip-libzip library
lib-zlib               1.2.11   The zlib library
php                    7.4.30   The PHP interpreter
php-64bit              7.4.30   The PHP interpreter, 64bit
php-ipv6               7.4.30   The PHP interpreter, with IPv6 support

Steps to reproduce the issue.
1. Login with Facebook from the client
2. Send the Facebook token to the backend, perform login and send the Firebase access and refresh tokens back to the client
3. Log out the client and invalidate user refresh token
4. Reset password (user that lost the Facebook account... or dumb user), enters same email
5. Account email syncing is enabled in Fibebase
6. The auth provider changes back to email when the user resets the password.
7. Perform Facebook login again from the client with the code below.
8. The login works (no exception, obtained user data) but tokens are empty.

$auth = app('firebase.auth');
$signInToken = $request->token; // The token obtained at the client's side, needed to perform the login in Firebase
$signInProvider = $request->provider; // This will be 'google.com' or 'facebook.com'
try {
    $signInResult = $auth->signInWithIdpAccessToken($signInProvider, $signInToken, null, null, null, null);

    // The following traces are all empty in the described case
    Log::debug('Sign in result idToken: ' . $signInResult->idToken());
    Log::debug('Sign in result accessToken: ' . $signInResult->accessToken());
    Log::debug('Sign in result tokenResponse: ' . print_r($signInResult->asTokenResponse(), true));

    //But this data() object indeed shows data from the user logged in:
    Log::debug('Sign in result data: ' . print_r($signInResult->data(), true));

} catch(FailedToSignIn $e) {
    Log::debug('Error signing in with provider: ' . $e->getMessage()); //This doesn't get called in the described scenario
}

### Additional information

Not happening with google.com provider

Thank you for providing such a detailed description of the problem.
Unfortunately, I can't reproduce the issue because I don't have a Facebook account to test this with.
If I understand you correctly, the $signInResult->data() includes some kind of user data (including tokens?), but the idToken() and accessToken() methods don't return values that are included in the data() response?
In that case, could you provide me with the output of the data() method? I would then be able to modify the other methods to return the expected values.
If the data doesn't include tokens, but other data, I can't throw an error from within the SDK because, technically, the Firebase Auth API returns a "successful" Sign-In (because it returns an HTTP response with HTTP Status Code 200).
If the Sign In is "successful" but you would expect an error, I see two solutions (at the moment):
You could raise an issue at Google/Firebase describing the problem, perhaps they can explain why the API behaves like this, or fixes the API response to return an error.
Although probably not optimal, another approach could be to, once a user triggers/completes the reset password flow, explicitly unlink the Facebook Provider from the user. The next time they try to login with Facebook, they would have to freshly re-authenticate with Facebook.
Another approach could be: If a user signs in with Facebook after having reset their password and the SignIn Result doesn't include the tokens, retrigger the Facebook authentication flow.
I hope the issue is just™ that the response include tokens in a field that the SDK currently isn't evaluating, this would be an easy fix - otherwise I'm afraid I don't know how I can help resolve the problem from the SDK's perspective :/

Thanks for the quick reply.
Here are the actual traces:
[2023-01-30 08:48:36] staging.DEBUG: Sign in result tokenResponse: Array
(
[token_type] => Bearer
[access_token] =>
[id_token] =>
[refresh_token] =>
[expires_in] =>
)
[2023-01-30 08:48:36] staging.DEBUG: Sign in result data: Array
(
[federatedId] => http://facebook.com/101673
[providerId] => facebook.com
[email] => az...
[emailVerified] =>
[firstName] =>
[fullName] =>
[lastName] =>
[photoUrl] => https://graph.facebook.com/101
[localId] => sYR
[displayName] =>
[needConfirmation] => 1
[oauthAccessToken] => EAAVB6
[rawUserInfo] => {"name":"","last_name":"","id":"101673","first_name":"","email":"az","picture":{"data":{"is_silhouette":false,"width":100,"url":"https://platform-lookaside.fbsbx.com/","height":101}}}
[kind] => identitytoolkit#VerifyAssertionResponse
)
As you can see, there's no idToken or accessToken anywhere.
I'll try forcing the unlink provider upon password reset and let you know if this patches the problem.
Thank you

It seems that oauthAccessToken could be what's needed. Could you try extracting it from the data() return value and see if you can work with it?

You mean trying a secondary login with that oauth access token? I'll try, let me see :/ seems strange to have to do 2 logins, doesn't it?

You mean trying a secondary login with that oauth access token? I'll try, let me see :/ seems strange to have to do 2 logins, doesn't it?

You're right, I forgot the issue in that suggestion 🙈.
Unlinking and let the user re-link the Facebook-Account (if this even works) would be a suboptimal workaround anyway; I'm afraid the only way to remedy the underlying problem is to raise a ticket with Firebase directly and ask them why the tokens are not included when signing in 🤔

OK, I also tried unlinking the Facebook provider before trying. No luck.
Actually when obtaining the password reset link, the Facebook provider disappears from Firebase (it seems to be automatically unlinked), and the "provider" column appears empty for this account until I reset the password - at this point, the envelop icon appears. But at this point, and even before when there are no providers listed, the Facebook login fails in the same way - login OK but no access tokens.


Activating Unbound DNS blocklist causes configd.py traceback

I'm running OPNsense 22.1.3-amd64 on an Intel(R) Celeron(R) CPU J3455 @ 1.50GHz (4 cores, 4 threads) platform with 6 GB RAM. When activating "Services / Unbound DNS / Blocklist" (https://<opnsense box>/ui/unbound/dnsbl/index) with a number of blocklists selected, the "Apply" button animation never stops and the backend logs show the following entries:
2022-03-21T18:03:21 | Error | configd.py | unable to sendback response [OK ] for [unbound][dnsbl][None] {1708df0e-915b-4b59-8fe0-4730adf6deb7}, message was Traceback (most recent call last): File "/usr/local/opnsense/service/modules/processhandler.py", line 202, in run self.connection.sendall(('%s\n' % result).encode()) BrokenPipeError: [Errno 32] Broken pipe
2022-03-21T18:02:42 | Error | configd.py | Timeout (120) executing : unbound dnsbl

To replicate:

Go to https://<opnsense box>/ui/unbound/dnsbl/index.
Select ~10-11 blocklists.
Enable blocklist feature.
"Apply" animation will never stop, logs like the one above is generated.

It seems like Unbound DNS is still working, however, it's not entirely clear what the status actually is.

Sorry for the incomplete desciption, I'll open a proper new issue.


Link to dask documentation on chunks

It would be good to link to https://docs.dask.org/en/latest/array-chunks.html in https://xarray.pydata.org/en/stable/dask.html#chunking-and-performance

en


Order of licenses in drop-down menu

With so many SPDX license options, it may be helpful to order them with the OSI-approved license options first (or in order of popularity).  For example, the OSI-approved BSD-3 clause template is listed last in the drop-down menu for the BSD-3 clause options.  Same with MIT, I think.  You could also add a link next to each one that would take you to the full SPDX license text for easier reference.

Great idea @ariel11 . Would it make sense to essentially have two sections to the drop down, the first is the 5 most popular, then a separator, and the full list of all licenses?
Sidenote, as it is, the list comes directly from https://github.com/shinnn/spdx-license-ids/blob/master/index.json. it seems that that is largely in alphabetical order but there is a bug for MIT. It should be first in the MIT* family but is not.

@jeffmcaffer - That is a good question, as I bet some of these are essentially never used.  At the same time, there might be less error if a person could see all the options together vs. having a separator.  If someone just saw GPLv2 because 'GPLv2 or later' was down the list, that may lead to errors....  For me, if the OSI Approved ones could be in bold and/or listed first, that would be helpful.

@jeffmcaffer I've opened https://github.com/spdx/license-list-data/issues/36 on SPDX.

@jeffmcaffer @storrisi I believe this can be updated/implemented now that the corresponding library has been updated. Can we take a few minutes to do this and close this out this week?

@jeffmcaffer @fossygirl me and @AlexWebYourmind had checked the update done in https://github.com/clearlydefined/website/pull/379
Actually, this change alone wont fix the problem, and I'll explain why below.
In the website, we are using https://github.com/shinnn/spdx-license-ids , which is basically an exported list of ids of the official SPDX license list object file.
As mentioned in https://github.com/spdx/license-list-data/issues/36 , The SPDX license JSON is not sorted, so they preferred to change the NuGet tools in order to generate a sorted list, see here https://github.com/NuGet/NuGet.Client/pull/2504
Now, the SPDX list is updated with the new sorting as you can see here, but actually the spdx-license-ids library is not.
Given that license-list-data repo is not an installable library, in order to be up-to-date with any update of the list, we can do something manually, cloning the repo and use the json file (properly flattened) in the website  LicensePicker code, and parse it in order to retrieve only the necessary ids.
The problem is that this activity should be done manually for each update of the spdx license data.
What do you think? Shall we go with the above?

Sigh. Let's just add a sort call in the UI. Hopefully we just sort once when we load the list.

If this ends up being complex/time-consuming, please feel free to de-prioritize and work on other things. I thought this would be a quick win and we could close out without too much work, but if it's a big deal please feel free to table it.

nah, we should fix. sorting is easy and it is a real pain in the but that MIT does not sort first when you type M

@jeffmcaffer if i'm not wrong, we should sort the list both for names and OSI approvement.
Given that the list that we are a using is only a flat array of strings (which are representing the ids), a simple sort can't be enough to solve the problem.

not sure we care about OSI per se. ClearlyDefined is about capturing what is there etc not picking or judging. Users can understand an alphabetically sorted list. A list where the order is determined by OSI-approval will likely not be clear to people. Suggest that we try the simple sort and see if we get feedback to the contrary.

@jeffmcaffer i see.
I've addressed the sorting of values into #380


TypedStruct - schematic classes for structured people

We want a schema for our configuration - a declarative way to define what fields it should have and all sorts of info on these fields. We also want to be able to reflectively use these schemas - create Plumbum CLI flags, store the info in databases, send it to external services(like AWS) etc.
Goals:

Allow creating types with lists of fields.

Automatic c'tor for these fields.
Getters and setters should work.

Allow declaring the types of the fields.

Types should be verified at runtime, in the c'tor and in the setters.

Allow declaring constraints on the fields(e.g. - "number can be from 13 to 42")

Of course, constraints should also be verified at runtime.

Allow custom metadata - e.g. help text for Plumbum CLI.
Allow default value for fields. Fields without default values are mandatory.
Allow nesting of types.
Should work well with IDEs' autocompletion.
Nice-to-have: integration with MyPy. Not sure if it's even possible though - certainly not without Python 3.6's variable annotation...

I'm aiming for syntax along the lines of:
import easypy.typed_struct as ts

class Type1(ts.TypedStruct):
    field1 = ts.Field(int,  # the type of the field
                      default=20,  # default value - makes the field optional
                      validate=lambda x: x % 2 == 0,  # asserts that the field value is even
                      meta=dict(  # metadata - not used by TypedStruct but can be queried
                          # We can use these when we generate plumbum.cli.SwitchAttr:
                          cli_syntax='--field1',
                          cli_help='Bla bla bla',
                      ))
    field2 = ts.Field(str,
                      # no default - this field is mandatory

                      # alternative syntax for custom metadata - need to
                      # choose which one we want
                      meta_cli_help='Bla bla bla')

class Type2(ts.TypedStruct):
    # Since Type1 is a TypedStruct, we can use it as a field. This is good for
    # IDEs to be able to provide completions:
    field1 = Type1

    # Array of Type1. Without Python 3.6 variable annotations, this is the only
    # way we can get completions from IDEs.
    field2 = [Type1]

    # Dictionary of Type1. Again - this is the only way to get completions.
    field3 = {str: Type1}

var1 = Type1(field2='x')  # field2 is mandatory - no need to specify field1
var2 = Type1(field1=5, field2='y')  # should throw on field1 validation
var3 = Type2(field1=dict(field2='z'))   # automatically create Type1 from the dict

Validate should be able to accept a list/tuple of predicates, and we may also provide some common validators(is_in_range, is_part_of etc)
We may want to automatically use a Bunch for things likeType2.field3(dictionaries where keys are strings). We can't use Bunch itself in the definition if we want IDE completions.
Type2.field1 is mandatory because Type1 has mandatory fields(Type1() is illegal). If Type1.field2 was not mandatory we Type2.field1 was not mandatory as well and Type2() was legal.

@koreno @tigrawap

should it be:
class Type2(TypedStruct):
    field1 = Field(Type1, meta=dict(...))

?

Without Python 3.6's variable annotations, this is the only way to get completions. Unless we want to repeat the list of fields.
With
class Type2(ts.TypedStruct):
    field1 = Type1

var = Type2(...)
var.field1.

With the caret at the end, IDEs(and completion libraries like Jedi) believe that var.field1 is Type1. Not an instance of Type1, but the class Type1 itself. This may sound wrong, but it's good enough for what we need - because Type1 is also a TypedStruct and it's fields are defined at the class' body, not at __init__. So there are Type1.field1 and Type1.field2(not just Type1().field1 and Type1().field2) and the IDE is able to complete var.field1.field1 and var.field1.field2.
With
class Type2(ts.TypedStruct):
    field1 = ts.Field(Type1, ,,,)

var = Type2(...)
var.field1.

The IDE thinks that var.field1 is Field - it can not deduce that the first argument of Field's constructor is the type of var.field1. This means we can't get completions for it's fields.
If this was Python 3.6, we could have used:
class Type2(ts.TypedStruct):
    field1: Type1 = ts.Field(default=..., meta=dict(...))
    field2: int = ts.Field(default=..., meta=dict(...))

As for accepting field1 = int, I would prefer not to do it for the following reasons:

We usually need the Field for all the other data(default value, validators, custom meta...). TypedStruct fields tend to contain their own metadata in their type definition.
It's not that bad that we don't get completions for fields of primitive types.
I can easily identify Field and TypedStruct fields and say they are the typed struct's data fields. With other types the rules will be to inclusive - do I allow all types? So if someone imports a type in the body of the class I'll consider it a data field?


Bug 2280927: api: add k8s validation for workflow names to be unique

Signed-off-by: Raghavendra Talur<EMAIL_ADDRESS>Co-Authored-by: Annaraya Narasagond<EMAIL_ADDRESS>(cherry picked from commit 2fe5eb28687a55ac3c59f2d134cea201defeaea7)

/bugzilla refresh


Fix heading level flow in document outline

It’s recommended that page headings increment progressively h1 -> h2 -> h3 etc. for the best accessible document outline experience.
#42 removed the <h2> in the hero in favour of a <p>, leaving a gap between the page <h1> (“It’s go time with Astro”) and the <h3> tags heading each of the example cards. I considered the options and reinstated the first line in the hero text (“Get started with a new Astro project!”) as an <h2>. The alternative would probably have been to promote the card headings to <h2> but I think keeping those nested at <h3> so that they are not at the equivalent level of the “Houston, we have resources” heading is best.

The “magic” is Tailwind resetting styling so all elements look identical 😅
Thanks for the review!


Define search API

The motivation for this issue is to standardize and document how the app makes search requests and what structure the returned data must have. By defining the API, we allow others to run their own search servers.
Proposed Definition
Protocol
Search requests and responses will be made over HTTP.
Request
Search requests will be made to /search endpoint using GET parameters.
The s get parameter will contain the search query.
No other parameters are defined. Search servers may accept and respond to extra parameters.
Response
The response must be a JSON array of objects. Each object must have the following fields:

claimId: the ID of a claim (in hex)
name: the name of the claim

Example
Request
https://lighthouse.lbry.com/search?s=LBRY%20is%20quickly%20gaining%20adoption

Response
[
  {
    "claimId": "ce9287d1cb89b8fae83b86fd1822bc350daa2a4f",
    "name": "always-quickly-quickly"
  },
  {
    "claimId": "1ece088da21e327531cd815fd11ae7062f4482fe",
    "name": "how-quickly-is-mgtow-growing"
  },
  {
    "claimId": "e4ce72ae3568d0d0bc9e54336a2b05b056796189",
    "name": "chill-jazzy-beat-quickly-quickly-hushed"
  }
]

https://github.com/lbryio/lighthouse/blob/75eb583ed68058d2b0af9d71b969baffa8bea2a6/app/actions/search/search.go#L19-L36
Everything above debug params is part of the API. See my note about updating the api too, since we are defining it.

is this the next version of the api? i dont see any of those fields in the current search results.
which of those fields are required? they're all pointers, so they're all optional?

If possible, please include "Duration", which could be audio or video duration (separate in chainquery, it seems).

@lyoshenka those are input parameters that the app uses. The debug ones are not used by the app. Yes the pointers are ones that are optional.
@jessopb I have that information in there now. we can filter on duration now if we added it. I never got clarification from you on what you wanted. Can you explain?
if its sorting we should add a drop dropdown in the app for relevance, age,duration, cost etc. So users know what they are asking search to prioritize. If we try to do it in the background its a bad user experience because they dont really know why the see certain results. If want to see the newest related content, it might not be the most relevant to my search. This is ok if its my intention and the dropdown allows for the selection of intent. I would also help us to determine what people care about most and we can weight our default that way.

@eukreign bringing this to your attention since you said you're thinking about it

it's defined here: https://github.com/lbryio/lbry-sdk/issues/2855

Closing in favor of https://github.com/lbryio/lbry-sdk/issues/2855


Integration Test - Release - 2019/10/31 22:20:42

Auto create for integration test. AnotherAuthorUpdatedArticleFlow

@PRMergerTest2 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@PRMergerTest2 : Thanks for your contribution! The author(s) have been notified to review your proposed change.


ENTSWM-192: Update prod booster to Swarm 7.0.0.CR2 (openshift free)

FYI - we don't want to release this live online until after it's released live.

Is this PR safe to merge?

@heiko-braun knows for sure, but I do not believe so, we don't want to push CR2/GA live until libraries are in place.

@gastaldi does merging mean it goes live? I did assume there is an additional release step on your end before it goes live.
@balunasj with "libraries in place" you mean everything in the public red hat maven repositories?

@gastaldi there is also the next counterpart to this. Do your concerns also apply to that one? https://github.com/fabric8-launch/booster-catalog/pull/123

@heiko-braun merging means that it goes live in the staging environment (https://launch.prod-preview.openshift.io/). It goes to production when we tag the booster-catalog repository

To go live, after tagging the booster catalog, we need to file an issue in https://gitlab.cee.redhat.com/dtsd/housekeeping/issues to have the Service Delivery team perform the necessary changes in the production env, like in https://gitlab.cee.redhat.com/dtsd/housekeeping/issues/643

@gastaldi thanks for the clarification

@gastaldi one more question:
You said

@heiko-braun merging means that it goes live in the staging environment (https://launch.prod-preview.openshift.io/). It goes to production when we tag the booster-catalog repository

If something is merged onto next does it have the same impact?

Yes
Em 1 de nov de 2017 18:54, "Heiko Braun"<EMAIL_ADDRESS>escreveu:
@gastaldi https://github.com/gastaldi one more question:
You said
@heiko-braun https://github.com/heiko-braun merging means that it goes
live in the staging environment (https://launch.prod-preview.openshift.io/).
It goes to production when we tag the booster-catalog repository
If something is merged onto next does it have the same impact?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fabric8-launch/booster-catalog/pull/124#issuecomment-341239273,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADTdTfld0u0WV1xsTsNbpdPIejsfvcrks5syNpsgaJpZM4QIw13
.

There's a lot of insight in this discussion -- @gastaldi WDYT about capturing it in this repo's README?

@heiko-braun

why don't I see it in https://launch.prod-preview.openshift.io/ ?

Probably because the backend service wasn't restarted since that PR was merged.

@ladicek will do, thanks

@heiko-braun can we merge this PR too?

@gastaldi I was told this can happen when the MRRC repo is fully loaded with the prod binaries, which is still not the case. So, no please hold it back. But to be honest, I don't understand why free is hold back and next is already merged. Shouldn't the MRRC repo policy apply to both?
@balunasj Maybe you can shed some light on this

@heiko-braun I added you as a collaborator in this repository, so feel free to merge when ready

Muchas gracias!

Superceded by #137


KAFKA-14750: Check if topic exists in WorkerSinkTask when committing offsets.

Currently, the WorkerSinkTask fails when a subscribed topic is deleted and the RebalanceListener tries to fetch the position of such a topic. Note that this doesn't happen whenever a topic is deleted but instead under extreme scenarios like mass deletion of topics. To get around this, Admin Client has been added to WorkerSinkTask. When RebalanceListener is invoked, and a TimeoutException is thrown upon fetching position, it is checked if the topic exists. If it doesn't, then the offset of that TopicPartition isn't committed and the deleted topic name is cached so that any future position fetch for other partitions of the deleted topic doesn't invoke AdminClient again. Note that there could be a case when the topic might get recreated and the caching might prohibit committing offsets. But it seems like an extreme scenario and AFAIK, it the topic gets assigned to the consumer again, then the RebalanceListener would be invoked again. If the topic exists, then the error is rethrown to fail the task.
The test scenario in the JIRA is the one where I could replicate the issue and I have tested locally to observe the connector/task doesn't fail.

The tests that have failed belong to either MirrorConnectorsWithCustomForwardingAdminIntegrationTest which seems to be failing and is being investigated separately. Also, it seems unrelated to this PR. @yashmayya , can you review this PR whenever you get the chance? Thanks!

Test failures seem unrelated.

@viktorsomogyi would you have some time to review this one?

@dengziming , I am looping you in here since I see you wrote the Admin APIs that this PR is trying to use and need your inputs for this PR. This is the description of the problem at hand :
Currently, the WorkerSinkTask fails when a subscribed topic is deleted and the RebalanceListener tries to fetch the position of such a topic. Note that this doesn't happen whenever a topic is deleted but instead under extreme scenarios like mass deletion of topics. To get around this, Admin Client has been added to WorkerSinkTask. When RebalanceListener is invoked, and a TimeoutException is thrown upon fetching position, it is checked if the topic exists. If it doesn't, then the offset of that TopicPartition isn't committed and the deleted topic name is cached so that any future position fetch for other partitions of the deleted topic doesn't invoke AdminClient again.

This PR tries to ascertain that the topic has already been deleted using the Admin API describeTopic. However, none of us here have the expertise on the clients side of things. More specifically =>

Is the approach taken in this PR even a viable one?
More importantly, is this something that should be fixed on the Clients side of things? If yes, I can create a JIRA ticket for clients and take a call if we need an interim fix for this meanwhile it gets fixed?

Plz let me know.

Looks good to me overall. It indeed would be more convenient if the consumer didn't return dead topics because using an admin client is a bit resource intensive, however as I understand this scenario shouldn't be happening too much anyways, so it's fine.
@C0urante would you please take quick look too?

Thanks @viktorsomogyi . Yeah I tried listTopics API from consumers which as per docs says

This method will issue  a remote call to the server.

but even that couldn't prevent this error. I agree Admin APIs are resource intensive and as Chris pointed out, bring in ACL requirements as well, I have looped in Deng to validate the findings (and fix on Clients/Admin side if needed).

Thanks @dengziming for your confirmation. Regarding

one question is why only handle TimeoutException when getting offset

The observation was that when a topic is deleted, when we tried to fetch the position of a partition of it, we were getting a TimeoutException. The other exceptions didn't seem relevant in this case and I feel we should let those exceptions bubble up and let the connector fail.

@C0urante , going by the update from Deng above, we will have to live with a fix like this for some time. That still has the question of the ACL requirements for the new Sink task. Since you called it out as a breaking change needing a KIP, we still need to get around that. I can see 2 options =>

We wait for the upcoming major release and start with a KIP.
We go ahead and try to fix this behaviour for cases when there's  ACL configured or the Admin user has the access to describe topic. For such cases it would work and we should be good. In case the describeTopics call fails let's say due to a ClusterAuthorizationException, TopicAuthorizationException(wrapped in ConnectException), and if we assume that the topic exists, then we still won't have the position computed for that topic partition. Which means we can't update anything in lastCommittedOffsets and currentOffsets (eventually sinkTaskMetricsGroup) which is still an inconsistent state I feel. What if we throw the exception and add a log line to consider adding ACL to describe topic for the admin user ? Is something like that acceptable?

Note that, the consolidation of the admin client for SinkTasks is still pending on me. But before that I wanted to know what the next steps should be on this one.

hey Chris, this one got marked as stale. I had posted an update here based on Deng's suggestion. Let me know if there's anything in that which can be considered as a workaround for this issue.


chore: DRY up shared logic between links/transitions

DRY up route matching/filtering logic between links/transitions

[x] Docs - n/a
[x] Tests - internal refactor should leverage current tests

Closing to revisit once in-progress transition manager updates are completed


Destory method missing

Describe the bug
We are planing to use this slider on our SPA, but therefore we need a destroy() method, that is taking care of clean up and unbinding from all the event. Are you planing to implement that?

Thank you for considering Swiffy Slider. A destroy or similar can be implemented if needed. First I need to understand what you are looking for - I am not an expert in this particular area, but is eager to understand!
As I see it, Swiffy Slider is markup with event listeners coming from the swiffyslider.init(). The js is not a class or object instance itself that needs to be destroyed.
If you remove the slider markup from the DOM, all the event listeners will unbind because of the browser garbage collector  - if you create the markup as a HtmlElement in JS, just set the variable that holds that element to null and all event listeners will be removed from memory (except in IE).
If you need to keep the markup, you can clone the slider element using replaceWith and in that way remove all eventlisteners.
var slider = document.getElementById("slider1"); slider.replaceWith(slider.cloneNode(true));
But as I said, I am probably missing some knowledge in this area. Feel free to provide a link to some insights in this area, and I will dig into it right away!
Also - what framework are you using? React, Vue, something else?

Thank you for your fast reply!
To be honest, i am also not an expert in this field;-) And you are probably right, it looks like browsers nowadays should be smart enough: https://stackoverflow.com/questions/26442041/is-element-removeeventlistener-required-before-element-parentnode-removechild
It's just a functionality i know from other carousel libraries/sliders.
I am using it in a Vue project - let my play a little with it, maybe its not needed at all. I'll let you know when i have some news on this.

Thanks for getting back.
Other carousel libraries uses a very different approach to sliding and most I have been looking at are javascript object instances that creates htmlElements in javascript for the slides, indicators, navigation etc.  Objects like that definitely needs to be destroyed to avoid memory leaks because of the htmlElements created inside the object.
Swiffy slider script does not create any html elements effectively avoiding that particular issue since it is the markup and browser that takes care of that.
I will close the subject for now - if you run into any issues, just reach out.
Thanks, Nicolai


Update "Get Started".

Signed-off-by: xuezhaojun<EMAIL_ADDRESS>
Remove "Core Concepts/Cluster Manager" and "Core Concepts/Klusterlet" since we want recommend users to install OCM via clusteradm instead of source code.
Move "Apply a ManifestWork" and "Troubleshooting" into "Get Started".

/assign @qiujian16

I think we still need different pages like

start the control plane: which is original cluster manager page, but focus more on how we can start the control plane on different kubernetes distributions.
register a cluster: which is original klusterlet page.

It feels more natural if we add the different kubernetes distributions content into quick-start, because in quick-start, it shows init by clusteradm.
And another question is do we need to keep content about Install from source?

/hold
Wait for clusteradm to publish a new release.

/unhold

/approve
/lgtm


[net] Avoid reading spatial index when seeking is available

Hi @FObermaier, this may be of interest to you. I found myself needing to read FlatGeobuf through HTTP with spatial filtering and I noticed that it read the full spatial index when it should be able to use seek. This should be significant also for block storage streams but of course for network streams it's of extreme importance. The fix was seemingly very simple.
PS. I use https://github.com/espresso3389/HttpStream which implements seekable streams for HTTP with range requests.


feat: Russian locale

The preview now works, but how does one fix this?

The preview now works, but how does one fix this?

Fixed in 9814e0f.
Thank you! ❤


Figure out how to use heap allocations more sparingly.

It might be possible to re-use a single heap allocated buffer and store it in the struct.
Also it might be possible to use ArrayVecs in some cases.

This is referring to Socks5Datagram I'm guessing?

I did not read the source very closely, I'm just concerned with the amount of heap allocations.

Are you running into specific performance problems? Other than Socks5Datagram, there should only be heap allocations during the initial handshake.

Okay, but I think https://github.com/sfackler/rust-socks/blob/master/src/v5.rs#L276 could be a ArrayVec, correct me if i'm wrong.

Sure, there are all kinds of data structures that could be used there. The question is if it actually matters at all in practice.


BUG: force list type for tuples from chunked sql table reads #11522

Closes #11522.

@grahamjeffries Looks good! thanks
This is actually in code that is deprecated, and will be removed in the future. But as it is only a small change, ok to let this in for the case it will not yet be removed in the next version.

Sure thing. Yeah, I wasn't quite sure what the protocol was for testing cases which fail with an exception.

@grahamjeffries OK! Just a last question, can you add a note in the whatsnew file (doc/source/whatsnew/v0.18.0.txt) in the bug fixes section, and then also squash the commits? (http://pandas.pydata.org/pandas-docs/stable/contributing.html#combining-commits)

Noted and squashed.

Thanks a lot!


Only fetch on typing and show results on focus

Hi there,
when using:
trigger: {
    event: ["input", "focus"],
},

the result fetching is done every time. But if someone only types in a few chars, fetching is done and then he removes from focus and gets back into focus the fetching is done again, without being necessary, because nothing changed.
Is it possible to only fetch on typing and display already fetched results on focus?

Hello @stell,
Unfortunately, there's no way I'm aware of in the current version would help you do that.
Since all the events in the trigger.event are coupled to the input field interactions, still you might find out a workaround.
On the other hand, such behavior would be easily achievable in the new release v10 since there is an API for controlling the resultsList behavior out-of-the-box and I've added an events API as well upon receiving your issue to avail the behavior that you're looking for easier and leaner.

PS: v10 will be released within a week.

Cheers, and have a nice day! :)

Sounds nice. Will check it when 10 is out. Thanks!

Hello @stell,
v10.0.3 is out now and the behavior you've asked about is now easily achievable using it as shown below.

You'll just have to add focus event on input using the new events API to start the engine on focus which won't fetch the data again incase it's cached already

// autoComplete.js Config Options
events: {
    input: {
        focus: () => {
            const inputValue = document.querySelector("#autoComplete").value;

            if (input.length) autoCompleteJS.start();
        },
    },
},

Please try it and let me know how it goes. Cheers! :)


ERROR: Didn't find op for builtin opcode 'RESIZE_NEAREST_NEIGHBOR' version '3'

Hello,
i am trying to convert tiny yolo v3. First I converted the model to .tflite using tensorflow 2.3 (nightly) and then I tried to convert using edgetpu_compiler so I could run it on Coral USB Accelerator but I got this error:
Edge TPU Compiler version 2.1.302470888
ERROR: Didn't find op for builtin opcode 'RESIZE_NEAREST_NEIGHBOR' version '3'
ERROR: Registration failed.
Invalid model: yolo_rcj.tflite
Model could not be parsed
Then I tried to convert the model using the older version of tensorflow(2.2) but I got this error:
:0: error: failed while converting: 'main'
Ops that can be supported by the flex runtime (enabled via setting the -emit-select-tf-ops flag): ResizeNearestNeighbor
But according to this, ResizeNearestNeighbor should be supported:
https://coral.ai/docs/edgetpu/models-intro/#supported-operations
I also checked the model with Netron and I thought everything looked fine.
Here is the model:
https://drive.google.com/file/d/1p2x0mXoC-V2j4PMZi61QyP476Xp8hw1t/view?usp=sharing
I also found this repo on github so it should be possible but I don't know where I could have made a mistake. I also tried older versions of edgetpu_compiler but the same problem(In repo is used 2.0.267685300).Any ideas?
https://github.com/guichristmann/edge-tpu-tiny-yolo

Hey, thanks for submitting the issue, could you try downgrading to tensorflow2.2?
Check out this answer: https://github.com/google-coral/edgetpu/issues/147#issuecomment-644246990

Thank you for the quick reply.
There is .h5:
https://drive.google.com/file/d/1iYGntXy-uAiIwxhlfOQEopqNacCPM5_P/view?usp=sharing
https://drive.google.com/file/d/1iYGntXy-uAiIwxhlfOQEopqNacCPM5_P/view?usp=sharing

@JakubGal Thanks for submitting the model, I got it to converts with tf2.1but preproduced this issue with tf2.2...
import tensorflow as tf
import numpy as np
import sys

if len(sys.argv) < 2:
    print(f"Usage: %s model.h5" % (sys.argv[0]))
    sys.exit(1)

model = tf.keras.models.load_model(sys.argv[1])
converter = tf.lite.TFLiteConverter.from_keras_model(model)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8]
converter.inference_input_type = tf.uint8
converter.inference_output_type = tf.uint8
def representative_dataset_gen():
  for _ in range(250):
    data = np.random.uniform(0.0, 1.0, size=(1, 416, 416, 3)).astype(np.float32)
    yield [data]
converter.representative_dataset = representative_dataset_gen
tflite_model = converter.convert()

with open('out.tflite', "wb") as f:
    f.write(tflite_model)

This will definitely be an issue going on ward, I suggest submitting an issue with tensorflow team also, specifically on the tflite conversion.
I'll try to get more communication internally regarding the compiler on the 'RESIZE_NEAREST_NEIGHBOR' version '3' issue with my team and will give you some updates.

Have there been updates on this issue?
I'm getting the errors with both tf-nightly and tf 2.2.0.

@Namburger Thank you very much for your help and I apologize for the late reply.I really appreciate you helping me.
@daynauth  Use Tensorflow 2.1 to convert to .tflite and then everything should work.

@JakubGal  Awesome, thanks for the update!
@daynauth did you get to try 2.1?
FYI, we are expecting a compiler release this month which shall eliminate this issue

tf 2.1 works in my case along with changing the converter to
converter =tf.compat.v1.lite.TFLiteConverter.from_keras_model_file(file)

Awesome, thanks all for confirming, I'll keep issue open until new release confirm this fixes for newer tensorflow version also

Link to the problem I opened on tensorflow:
https://github.com/tensorflow/tensorflow/issues/41085

@JakubGal @daynauth
We haven't announced it yet, but you can now grab the new compiler via apt get
sudo apt install edgetpu-compiler

version should be 14.1.317412892
Now you can upgrade to the newest tensorflow :)

To clarify, I mean the original compiler issue ERROR: Didn't find op for builtin opcode 'RESIZE_NEAREST_NEIGHBOR' version '3'
I'm not exactly sure about the regression between 2.1 and 2.2, so I'd still keep https://github.com/tensorflow/tensorflow/issues/41085 open

Hello again! My model quantizes and compiles, but it has inference times of ~1.5s. According to the logs, the RESIZE_NEAREST_NEIGHBOR op is not mapped to the edge device, which may account for the slowdown. I am also using the newest compiler version with tensorflow 2.3. What should I do to make the mapping successful and improve performance?
model
compiled model
logs


[New game]: Pirates of wind

🎮 Game Request
The game is simple, in the beginning is a ship in a point A (randomly), use the arrow keys to move it to navigate and don't fall down into the hungry swirls, move to the island and get to safety.
Point down the features
Game points will be awarded on basis of level cleared
Select program in which you are contributing
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @S-ishita !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

Hey @S-ishita ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


fix: Table sticky scrollbar can be hidden globally

Description
The table sticky scrollbar has fixed position and need to adjust every time the table updates its size or position. We can detect size changes with the resize observer but position detection is fairly limited. For example, in board-components the items can be repositioned with D&D. Moreover, when dragging, the container's position can be set to absolute. That leads to issues when the sticky scrollbar position not being updated or being updated incorrectly.
Proposed a global flag to hide all sticky scrollbars during interactions such as D&D that can result in table container being moved around.
AWSUI-21067
Before fix:
https://user-images.githubusercontent.com/20790937/236244608-69b4c4f5-1e5c-4638-b1ba-fe6d4d0673f0.mov
After fix (requires a small update to board-components: https://github.com/cloudscape-design/board-components/pull/234):
https://user-images.githubusercontent.com/20790937/236245054-267975af-c1ac-4848-b35d-4419c584b708.mov
How has this been tested?
Manual testing with new custom table test page and board components.

Review checklist
The following items are to be evaluated by the author(s) and the reviewer(s).
Correctness

Changes include appropriate documentation updates.
Changes are backward-compatible if not indicated, see CONTRIBUTING.md.
Changes do not include unsupported browser features, see CONTRIBUTING.md.
Changes were manually tested for accessibility, see accessibility guidelines.

Security

If the code handles URLs: all URLs are validated through the checkSafeUrl function.

Testing

Changes are covered with new/existing unit tests?
Changes are covered with new/existing integration tests?

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Don't want to block this particular fix, but just a thought. Do we even need supportsStickyPosition() anymore? I guess it only really detects SSR and Jest, but most of the calculation is done in effects/resize observers anyway.

Thanks, let's address it as a follow-up

Decided to not implement the global visibility toggle. Instead, the scrollbars will be updated to become properly sticky.


A0-000: Rolling update test

Description
This PR adds an interactive local tool which tests the procedure for updating the chain (rolling update of nodes + runtime update).
Also contains a handful of small improvements of the chainrunner Python tool.
Type of change

New feature (non-breaking change which adds functionality)

@Marcin-Radecki
I've made some updates according to your suggestions. I decided not to put the runtime update in between node updates for better readability. In the end this is not a run-everything-at-once script, but more like a set of buttons and it's up to the test operator to decide, in which order they should be pressed.


Test to check develop is compatible with berkeley

check if develop is currently compatible with berkeley network-
a. Merge berkeley into develop
b. Deploy a network using berkeley image
c. Connect a node using develop image to the network

CI job that tests develop remains compatible with berkeley

Think I've done 1 a, b, and c.
Created PR #14144.
Locally, started a daemon built with berkeley as a seed. Then built a daemon created with the PR branch, specifying the seed node as a peer. Both branches use the same chain id. The non-seed daemon was able to sync to the seed daemon.
Note: the chain id is different than in the current berkeley testnet.
@deepthiskumar is that enough? Can the CI job do the same as my local experiment?

@psteckler Yes, that should be enough. Can we do the same in a CI job?

Done in #14181.


ORC-346: [C++] Add one second when writing negative Timestamp's with non zero nanos …

…to match the reader code.

I'm not sure that it is correct fix, IMO, TimestampColumnReader should not do this:
if (secsBuffer[i] < 0 && nanoBuffer[i] != 0) {
secsBuffer[i] -= 1;
}
but it seems necessary to match the java reader.

Sigh This is caused by the fact that Java defined Timestamp badly and then Hive copied those semantics into the ColumnVector.
We really need to fix these semantics in ORCv2.
I'll also comment that it would probably be nicer to our users if we weren't modifying the data in the columnVector they passed into us, but clearly we are already doing that.


Remove broadcaster check in Semaphore.sol and the circuit

This PR removes the following from Semaphore.sol in broadcastSignal():
        address broadcaster = address(input[4]);
        require(broadcaster == msg.sender);

This logic is left-over from when Semaphore did gas refunds, and prevents someone from frontrunning the contract to grab the gas (or the fee). But that isn't necessary as the snark verification step will still ensure that it's been hashed to create msg, and that the signature is correct, so there's still no way for anyone to cut out the relayer from their profits.
Additionally, applications that use Semaphore, like a mixer, can set the broadcaster's address to something other than their own contract address, like a burn relay registry.

Removed the broadcaster from the circuit's public inputs too. A future PR will prevent frontrunning broadcastSignal using a flag-enabled onlyOwner guard.


Run interop tests using python3.4 (and build interop with 3.4 only)

fixes to make sure interop tests can be run using python3.x (without this the tests fail, mostly on bytes vs string problems in python3).
switch python interop tests to python3.4 (currently running using python2.7)

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

Confirming that with this change interop image build takes about half of what it took before
2018-06-05 06:19:57,289 PASSED: build_docker_python [time=912.1sec, retries=0:0]

@matt-kwong ,  looks like I need owner's approval.

Looks like there's some python2/python3 problem for to_prod tests.
https://source.cloud.google.com/results/invocations/918bb355-b295-4743-a47d-d469b50349ee/targets/github%2Fgrpc/tests
running run_interop
Traceback (most recent call last):
  File "src/python/grpcio_tests/setup.py", line 106, in <module>
    test_runner=TEST_RUNNER,
  File "/var/local/git/grpc/py34_native/lib/python3.4/site-packages/setuptools/__init__.py", line 129, in setup
    return distutils.core.setup(**attrs)
  File "/usr/lib/python3.4/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/lib/python3.4/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python3.4/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/var/local/git/grpc/src/python/grpcio_tests/commands.py", line 186, in run
    self.run_client()
  File "/var/local/git/grpc/src/python/grpcio_tests/commands.py", line 202, in run_client
    client.test_interoperability()
  File "/var/local/git/grpc/src/python/grpcio_tests/tests/interop/client.py", line 127, in test_interoperability
    test_case.test_interoperability(stub, args)
  File "/var/local/git/grpc/src/python/grpcio_tests/tests/interop/methods.py", line 512, in test_interoperability
    _jwt_token_creds(stub, args)
  File "/var/local/git/grpc/src/python/grpcio_tests/tests/interop/methods.py", line 438, in _jwt_token_creds
    wanted_email = json.load(open(json_key_filename, 'rb'))['client_email']
  File "/usr/lib/python3.4/json/__init__.py", line 268, in load
    parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
  File "/usr/lib/python3.4/json/__init__.py", line 312, in loads
    s.__class__.__name__))
TypeError: the JSON object must be str, not 'bytes'

I fixed the python3 problem in methods.py

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[microbenchmarks] No significant performance differences

There's another python3 issue with the interop test, so I instead created https://github.com/grpc/grpc/pull/15658 which only addresses the build speed problem.
Here are a few more python3 problems:
https://source.cloud.google.com/results/invocations/3c31a5e3-ccd8-45b7-aebe-e863e7b55d3e/targets/github%2Fgrpc/tests

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

custom_metadata test is broken:
2018-06-06 01:58:46,120 running run_interop
TypeError: Expected bytes, got str
Exception ignored in: 'grpc._cython.cygrpc._store_c_metadata'
TypeError: Expected bytes, got str
Traceback (most recent call last):
  File "src/python/grpcio_tests/setup.py", line 106, in <module>
    test_runner=TEST_RUNNER,
  File "/var/local/git/grpc/py34_native/lib/python3.4/site-packages/setuptools/__init__.py", line 129, in setup
    return distutils.core.setup(**attrs)
  File "/usr/lib/python3.4/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/lib/python3.4/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python3.4/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/var/local/git/grpc/src/python/grpcio_tests/commands.py", line 186, in run
    self.run_client()
  File "/var/local/git/grpc/src/python/grpcio_tests/commands.py", line 202, in run_client
    client.test_interoperability()
  File "/var/local/git/grpc/src/python/grpcio_tests/tests/interop/client.py", line 127, in test_interoperability
    test_case.test_interoperability(stub, args)
  File "/var/local/git/grpc/src/python/grpcio_tests/tests/interop/methods.py", line 506, in test_interoperability
    _custom_metadata(stub)
  File "/var/local/git/grpc/src/python/grpcio_tests/tests/interop/methods.py", line 402, in _custom_metadata
    _validate_metadata(response_future)
  File "/var/local/git/grpc/src/python/grpcio_tests/tests/interop/methods.py", line 394, in _validate_metadata
    initial_metadata[_TRAILING_METADATA_KEY]))
KeyError: 'x-grpc-test-echo-trailing-bin'
2018-06-06 01:58:46,120 FAILED: cloud_to_cloud:python:go_server:custom_metadata [ret=1, pid=15207, time=1.6sec]

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 2,020,494      Total (=)      2,020,494

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
11,175,624      Total (=)     11,175,624

 No significant differences in binary sizes

Corrupt JSON data (indicates timeout or crash):
    bm_call_create.BM_IsolatedFilter_ClientChannelFilter_NoOp_.counters.new: 10
    bm_call_create.BM_IsolatedFilter_ClientChannelFilter_NoOp_.counters.old: 10

[microbenchmarks] No significant performance differences

CC @ericgribkoff @lidizheng

I think i fixed all the problems, let's see what the tests say.

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 2,020,494      Total (=)      2,020,494

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
11,175,628      Total (>)     11,175,626

 No significant differences in binary sizes

@jtattermusch Your change looks good, and can you consider bump up the Python version to 3.7? There is an effort of migrating from Python 3.4 to Python 3.7. Ideally, it would be great to unify our testing Python version to 2.7 and 3.7.
Related issues:

Eliminate use of Python 3.4 in all tests #13978
Migrate tests from Python 3.4 to Python 3.7 #16995
Run performance tests with Python 3.7 #13505

Sure, I think I can help with the 3.4->3.7 bump, but I'm going to do that in a followup PR. (this PR is mostly about switching from python2->python3, the other PR is going to be mostly about playing with dockerfiles).

Known failures:
https://github.com/grpc/grpc/issues/15599

@apolcyn  @nicolasnoble  please grant owners approval.


exo: 0-unstable-2024-11-14 -> 0-unstable-2024-11-30

Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 361154

x86_64-linux

:white_check_mark: 2 packages built:

exo
exo.dist

aarch64-linux

:white_check_mark: 2 packages built:

exo
exo.dist

x86_64-darwin

aarch64-darwin

Seems to be missing a dependency on uuid?

Seems to be missing a dependency on uuid?

It has been explicitly ignored: https://github.com/NixOS/nixpkgs/pull/361154/files#diff-e8f3557bde1d639519d54410600ac63cb97c1d600b149d665035e92972b790b5L24


flags: fix "message" string handling

Solves issue #376 wrt string handling in --message | -m flags.

@bmeneguele
This looks good, however, I think adding 'message' tests for the commands that explicitly test message input like "{"alpha": "beta"}" is a good idea.  After all, that is the bug you're fixing.  Take a look at cmd/mr_note_test.go:Test_mrNoteMsg() for example.  You could easily add a new test to that file that tests the example input.

Yes, of course. It makes huge sense in adding a test for it.
Thanks for the heads up @prarit  :P

@bmeneguele I've sent an invite to add you as a collaborator as well :D Thanks for all the great work to improve lab.

I'm glad I can help!
Tyvm @zaquestion

I added the test for the string causing issues, but it had to follow a different path from what you suggested @prarit. After checking the test source I noticed that it was testing the resulting note msg being created, giving no room for checking the msg coming from the argument list (during app exec).
The issue happens right in the argument list parsing, so I added the test by calling the 'lab' with the problematic text and checked its output. What do you think?

@zaquestion I finally added the subtest for the problematic string and also linked it to the issue number.
Sorry for vanishing for some days :)


should openidc (optionally) verify the access token after the token request?

Clients can use openidc.jwt_verify to verify access tokens.
If you know the access token must be a JWT you currently invoke openidc.authenticate, extract the access token and then invoke openidc.jwt_verify from some wrapper code. Would it be a good idea to add an option that tells authenticate to verify the access token internally when it is received?

I don't follow: openidc.authenticate doesn't call jwt_verify AFAICT.

You are correct, it doesn't. But it could :-)
My scenario is I use openidc.authenticate and know the access token is a JWT. If I had obtained it from the client I'd pass it through openidc.jwt_verify. If I want to verify the access token after openidc.authenticate I have to do so manually. I was wondering whether a convenience option "please verify the access token assuming it is a JWT` could remove this manual step.
This might be feature creep and I'd understand it if you didn't want to see it happen.

There really shouldn't be any need for this. In fact I think it would put people on the wrong path...

Because it would encourage clients trying to do anything with the access token that they aren't supposed to, understood.


Networked disk writes can cause server TPS dips

I'm storing the web tiles on a Ceph cluster over the network, and it's mostly good, but every once in a while there's a delay when writing/renaming a file. Because these operations are run synchronously with the main thread, it can cause severe dips in the TPS while waiting for the file write.
I'm not sure if there's a clean way to decouple the IO operations from the main thread, but I would definitely appreciate it if that could be done.

I was able to capture it here by filtering for slow ticks. As you can see, in this profile, the java.nio.file.Files.move() operation took 1116ms, even though during normal operation it only takes 0.2ms


Kabir use cases

I have worked on my use cases which are the Explore Clubs, Get clubs per student, Join club, and Leave club. Through out this, I made the interface adapters and currently working on the views for explore club. Also, I made some changes to the DataStore data structure that fixes some of the needs of the code while we implemented more details.
What's left to do is to combine the other views and write test cases.

Just reviewed and the majority of it looks good! Make sure to see some of the comments me and Karl made regarding the success messages on if you decide to keep them or not.
The only big issue is having entities inside of the view and presenters, which violates CA. This should be addressed asap.
Otherwise good job!

Hey Roy, thanks for pointing it out, I recommend you check over it now I pushed the changes. Let me know if you think the states look good as well as some of my View code if you could look over as I am a little unsure about the implementation. Thanks!

Okay Roy. As you are not available right now, all the changes you and I suggested have been resolved by Kabir. Therefore, the branch is ready to merge. Great work Kabir!


backdropPadding Question

How to use backdropPadding for especific directions??? On the documentation show only to use for all directions.
I have tried:
backdropPadding: "{top:30}"
backdropPadding: "{top=30}"
backdropPadding: "top:30"
backdropPadding: "top=30"
But only works:
backdropPadding: "30"
Thanks in advance and sorry by my bad english!!!

I think it's backdropPadding: { top: 30}, so no quotes.

Btecu, error persists. Working only backdropPadding: "30".

Awesome. Feel free to close the issue.


Retitle and Update broken link for 'Mounted Secrets' concept

This is a follow-up issue for #40042
What are you required to do?

Go through the #40042 issue
Try looking for pages that have similar broken links
Update the link to correct link

Reference: https://github.com/kubernetes/website/issues/40042#issuecomment-1471782117
Feel free to assign by commenting /assign under this issue.

/assign

@NitishKumar06  as i have gone through the entire docs of 'language en' for  "Mounted Secrets are updated automatically" and hadn't find the similar broken links. Its only mentioned in Secret. But doc in language Portuguese have brief description about "Mounted Secret are updated automatically".

But doc in language Portuguese have brief description about "Mounted Secret are updated automatically".

Can you please explain this?

But doc in language Portuguese have brief description about "Mounted Secret are updated automatically".

Can you please explain this?

@NitishKumar06  the kubernetes documentation written in portuguese language. Is having the brief description about the title "Mounted Secret are Updated Automatically"  which we are looking for, in isuue #40042 .
But as per the decision to replace the title and checking for the similar broken link in the entire language en document. I hadn't find  it.

@niranjandarshann are you still working on this issue?

@niranjandarshann are you still working on this issue?

@VasuDevrani  i had completed my investigation on perticular broken link but hadn't found any . If you find something then you can go ahead.

Given this comment, I'll be closing this issue as completed 👍
/close


mouse input

Could mouse input in the preview be available?

So, I was personally going to fix this and submit a PR. But looks like the issue is with VS Code, there is no way to get the mouse position from inside an extension (the events are not fired). And from what I can see, this is intentional.

That's unfortunate! Thanks for looking into it--maybe it will change in the future.

Added in #22


[RFR] Fix crud-fetch cancelPrevious

I have a custom component (LocaleSelector) which uses crudFetch to retrieve data. But when the component is rendered on the same page as a List, the crudFetch of List will cancel the previous fetch of the LocaleSelector component. I think the cancellation should only happen if the resources are the same and cancelPrevious is requested.
This PR add's this behaviour.

Can this be merged? Thanks!

Can you please add unit tests?

Can this be merged? Or do you require additional tests?

needs rebase

Rebased


Real implementation of FE API's results view.

Sent to Avi.

Not really sure why Travis hasn't started, but everything passes locally.


react-native-fcm/ios/RNFIRMessaging.h:6:9: fatal error: 'Firebase.h' file not found

my project without Cocoapod,
correctly follow the README to link frameworks.
but still get the error:
RNFIRMessaging.h:6:9: fatal error: 'Firebase.h' file not found
#import <Firebase.h>
RNFIRMessaging.h:6:9: fatal error: Firebase file not found
@import Firebase
how can i fixed this issue?
"react-native": "0.50.4",
"react-native-fcm": "^14.0.1"

many thanks

there is no #import <Firebase.h> in RNFIRMessaging.h anymore
https://github.com/evollu/react-native-fcm/blob/master/ios/RNFIRMessaging.h#L4
are you sure you have got the latest version? check node_modules/react-native-fcm/package.json

yes
"react-native": "0.50.4",
"react-native-fcm": "^14.1.0",
react-native-fcm/ios/RNFIRMessaging.h:4:9: fatal error: module 'Firebase' not found
@import Firebase;
without Cocoapod still get this error..
i modify my project's User Header Search Paths and add $(PROJECT_DIR)/Frameworks

with Cocoapod get this issue,
ld: framework not found FirebaseAnalytics
clang: error: linker command failed with exit code 1 (use -v to see invocation)

@jthink0228 can you post a public repo with the issue

did this ever get resolved. I am having this issue as well.

@weathermanJM you shouldn't get this error if you use latest repo and follow readme

ok well maybe i have put the frameworks folder in the wrong spot. does in go in my project or the node modules?

@weathermanJM check example in no-pod branch.

I got this to work. Thanks

give me solution .

same


Invalid "sensors must be cleaned warning"

Hi,
I have a DreameBot D9 Max vacuum and constantly get the the following notification:
DreameBot D9 Max
Sensors must be cleaned
Please clean the sensors and reset the counter
This notification doesn't appear in the DreameHome mobile app and there is no sensor reset function in the app however I can see the integration is reading sensor.dreamebot_d9_max_sensor_dirty_time_left with a value of zero and when using the reset sensor service this value will reset to 30 hours
Is it possible to remove this remove this notification or can the notification be updated to include a press button to reset sensor directly from the notification?

Under device settings I have 'accessory usage'. See screenshots attached:


Jetson Nano data transmit

tegwyn@tegwyn/ultrasonic_classifier/development_stuff$ cd /home/tegwyn/ultrasonic_classifier/development_stuff/ && sudo python3 lora_test_01.py
Hello blinka!
Digital IO ok!
I2C ok!
SPI ok!
done!
Temperature: 17.00 C
relative humidity: 96.0 %
Sending packet...
Traceback (most recent call last):
File "lora_test_01.py", line 119, in
lora.send_data(data, len(data), lora.frame_counter)
File "/home/tegwyn/.local/lib/python3.6/site-packages/adafruit_tinylora/adafruit_tinylora.py", line 277, in send_data
self.send_packet(lora_pkt, lora_pkt_len, timeout)
File "/home/tegwyn/.local/lib/python3.6/site-packages/adafruit_tinylora/adafruit_tinylora.py", line 323, in send_packet
raise RuntimeError("Timeout during packet send")
RuntimeError: Timeout during packet send
Exiting...
Cleaning up pins
tegwyn@tegwyn:~/ultrasonic_classifier/development_stuff$

I got all my TTN configurations sorted out on a RPi 4 and then ran the same test.py file on the Nano after installing all the circuit python stuff. Worked fine on the Pi with data seen on TTN, but not the Nano !!!!! Please help .....
Here is my code:

import time
import busio
import digitalio
import board
import adafruit_si7021
from adafruit_tinylora.adafruit_tinylora import TTN, TinyLoRa
print("Hello blinka!")
Try to great a Digital input
pin = digitalio.DigitalInOut(board.D4)
print("Digital IO ok!")
Try to create an I2C device
i2c = busio.I2C(board.SCL, board.SDA)
print("I2C ok!")
Try to create an SPI device
spi = busio.SPI(board.SCLK, board.MOSI, board.MISO)
print("SPI ok!")
print("done!")
"""Using TinyLoRa with a Si7021 Sensor.
"""
Board LED
led = digitalio.DigitalInOut(board.D13)
led.direction = digitalio.Direction.OUTPUT
Create library object using our bus i2c port for si7021
i2c = busio.I2C(board.SCL, board.SDA)
sensor = adafruit_si7021.SI7021(i2c)
Create library object using our bus SPI port for radio
spi = busio.SPI(board.SCK, MOSI=board.MOSI, MISO=board.MISO)
RFM9x Breakout Pinouts
cs = digitalio.DigitalInOut(board.D5)
irq = digitalio.DigitalInOut(board.D6)
rst = digitalio.DigitalInOut(board.D4)
cs = digitalio.DigitalInOut(board.D25)
irq = digitalio.DigitalInOut(board.D7)
irq = digitalio.DigitalInOut(board.D7)
rst = digitalio.DigitalInOut(board.D17)
"freq": 868100000,
"freq_2": 868100000,
"spread_factor": 7,
"pin_nss": 6,
"pin_dio0": 7,
"pin_nss_2": 6,
"pin_dio0_2": 7,
"pin_rst": 3,
"pin_led1":4,
"pin_NetworkLED": 22,
"pin_InternetLED": 23,
"pin_ActivityLED_0": 21,
"pin_ActivityLED_1": 29
Feather M0 RFM9x Pinouts
cs = digitalio.DigitalInOut(board.RFM9X_CS)
irq = digitalio.DigitalInOut(board.RFM9X_D0)
rst = digitalio.DigitalInOut(board.RFM9X_RST)
TTN Device stuff NOT shown, but tested ok.
ttn_config = TTN(devaddr, nwkey, app, country='EU')
lora = TinyLoRa(spi, cs, irq, rst, ttn_config)
Data Packet to send to TTN
data = bytearray(4)
while True:
# temp_val = sensor.temperature
# humid_val = sensor.relative_humidity
temp_val = 17
humid_val = 96
print('Temperature: %0.2f C' % temp_val)
print('relative humidity: %0.1f %%' % humid_val)
# Encode float as int
# temp_val = int(temp_val * 100)
# humid_val = int(humid_val * 100)
temp_val = 17
humid_val = 97

# Encode payload as bytes
data[0] = (temp_val >> 8) & 0xff
data[1] = temp_val & 0xff
data[2] = (humid_val >> 8) & 0xff
data[3] = humid_val & 0xff

# Send data packet
print('Sending packet...')
lora.send_data(data, len(data), lora.frame_counter)
print('Packet Sent!')
led.value = True
lora.frame_counter += 1
time.sleep(2)
led.value = False

nano doesnt have hardware SPI so it will not work

I fixed it !!!
cs = digitalio.DigitalInOut(board.D25)
irq = digitalio.DigitalInOut(board.D8)
rst = digitalio.DigitalInOut(board.D17)
It's now working sending data ok and being recieved by TTN.

I used this script to get the SPi working:
https://github.com/gtjoseph/jetson-nano-support

great!


try running tests with 5 workers

Short description of the problem this fixes or functionality that this introduces. This may be used for the CHANGELOG
The runtime tests take a long time

Give a summary of what the PR does, explaining any non-trivial design decisions
Gonna try using -n 5 to run with 5 workers. Let's see if it works

Link of any specific issues this addresses

I'm working on an alternative solution for this. If you want to close this PR. Hoping to be ready today or tomorrow.


Node.innerText has been standardized in HTML

See https://html.spec.whatwg.org/multipage/dom.html#the-innertext-idl-attribute

Cool, thanks!


'Error: Anonymous user can not vote' after logging out

When logging out while a poll is running an error pop up shows up displaying:
'Error: Anonymous user can not vote'
@luisa-beerboom and i talked a bit about this but were not sure where this arises or were it should be fixed.
@ostcar Do you maybe have some insight on the intended working of this.
My theory is, that the client repeatedly asks the vote service for votes and continues to do so after the logout.
The vote service then sees no session for the user in the auth-service and returns the error message.
If my understanding of the situation is correct it should probably get fixed in the client.
Steps to reproduce (e.g. on nightly.demo.os4.openslides.com):

create a

committee
meeting
poll

start the poll
log out

@peb-adr I als othink, that you understanding is correct.

This got fixed by #1662


Create DualQubitUnitaryLayer class

Summary
CreateDualQubitUnitaryLayer for QuClassi class. The below image is from the original paper.

This is a child class of BaseLearnableLayer class.

Will close this issue because I implemented this class.


[Create New Issue]: Casting Operators

Description
I'd like to describe all the casting operators that are present in cpp.
Domain
C/CPP
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign

Closing as #2922 got merged !


Fix: board event in iframes

fix: board event in iframes

Codecov Report

Merging #109 (0e4ae3a) into main (a0453d6) will decrease coverage by 0.01%.
The diff coverage is 40.00%.

@@            Coverage Diff             @@
##             main     #109      +/-   ##
==========================================
- Coverage   39.08%   39.07%   -0.02%
==========================================
  Files          65       65
  Lines        2474     2480       +6
  Branches      526      527       +1
==========================================
+ Hits          967      969       +2
- Misses       1126     1128       +2
- Partials      381      383       +2

Flag
Coverage Δ

unittests
39.07% <40.00%> (-0.02%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

packages/board/src/lib/screen-watcher.ts
21.48% <40.00%> (+0.61%)
:arrow_up:

Continue to review full report at Codecov.

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


Peering connection dropped

I installed liqo on "kind" provider for a local test. I tried to peer two single node clusters created via kind locally. Everything seemed to work correctly, when at a certain point, after restarting the cluster's docker container, the "liqoctl status peer" command gave me the result that the two clusters were no longer in a peering state as the connection was no longer active .
I expected that once both containers restarted, the connection would re-establish itself.
To reproduce the issue, simply restart the docker containers of both clusters.
Thanks in advance.

Hi @Papotto97, it is a well-known problem.
Kind is not meant to be restarted, we use kind for development and we usually recreate the clusters every day.

Hi @cheina97, first of all, thank you for the reply.
Just out of curiosity, is this a problem related only to the "kind" provider or is it a problem also present on other platforms?
Thanks.

Hi @cheina97, first of all, thank you for the reply.
Just out of curiosity, is this a problem related only to the "kind" provider or is it a problem also present on other platforms?
Thanks.

Only on Kind 👍


The VC++ compile-time PDB ends up in the root of my project directory.

I see an appearance of /Fd in msvc.lua (_USE_PDB_CC_OPT), but it's not clear to me what this variable is supposed to be for, and why it's not used, but _USE_PDB_CC is instead.
I believe sharing one compile-time PDB across an entire project could result in worse build performance since the PDB server will lock the file briefly when a given compile needs to add a record.

Yes. I think the right thing to do here is use /Fd to set the directory path only (no file name) of the compile-time PDB to a unique location for the current directories-worth of source (or perhaps projects worth), and then let the link-time PDB default to the name and location of the final image produced.
This way the compile-time PDBs will all be named VCxxx.pdb (where xxx is the version of VC), and the link-time final-PDB will be named after the name of the image produced.

For the record, I'm using the variant option and GeneratePdb does exactly what it should do. I produces a single PDB per target. The vc*.pdb file is just default name where stuff ends up when the /Fd target isn't specified, if you have targets that don't specify /Fd but generate a PDB file they are all crammed, in there. PDB file are also not static, they change as the linking process happens. Even if you theoretically could use a single PDB for all your targets this doesn't change anything, you just end up with 1 huge file with a lot of unrelated stuff, if you ever need it to debug a minidump.

VC has two distinct concepts - the compile-time PDB, and the final link-time PDB. My experience was that Tundra is using the same PDB for both, which is a bad idea.
I am not sure where you are getting the idea that someone is suggesting using a single PDB for all targets.
What I am suggesting is properly separating the compile-time PDB (which defaults to VC*.PDB on a per-directory basis for a set of files being compiled in a particular directory), and the link-time PDB (which defaults to .PDB, where  is whatever the final image [DLL or EXE] name is).

By the way, the compile-time PDB does not contain all of the information the link-time PDB does. It primarily consists of type information, whereas the link-time PDB has symbols in addition to the types (and more, including unwind information, etc.).

I see now what you are referring to, http://msdn.microsoft.com/en-us/library/yd4f8bd1.aspx
But I don't see the point, why'd spawn this generic *.pdb if it's just a temporary that's discardable? As I understand it, it's only a subset of the final PDB file, and only serves to reduce the size of build outputs, which are temporaries anyway.
If you wanted to do this though, you can. All you need to do is to not specify the GeneratePdb option and add these options yourself in your tundra.lua file. Before I knew there was such an option for GeneratePdb, I did it that way.
Just specify the CXXOPTS and PROGOPTS accordingly.


Exposure Compensation

According to the Canon_XC_Control_Protocol_Specifications and to my practical use of the cameras, I am missing these Button-Set:
Exposure Compensation or so called Light Amount Correction Information on page 107 c..ae.brightness.list :=
This would be very useful. Because if you set to Full Auto, sometimes the background is to dark or opposite to bright, the important person which should be correct balanced won't be correct. So you can still use automatic mode but tell the camera to get a brighter or darker image. Ex.
Would love to have this implemented! Thanks a lot.
Kind regards
Claus
PS: Sorry, i accidentaly closed the first poll...

Can you send me whatever manual you are referring to?

I can't find the origin anymore, but i packed it into my repository.
https://github.com/apochroma/ptz-ps4-crn300

This?
c.1.ae.brightness:=0
c.1.ae.brightness.min:=-8
c.1.ae.brightness.max:=8
c.1.ae.brightness.list:=-8,-6,-4,-2,0,2,4,6,8

Ok, I added ae gain limit, brightness, photometry, flicker reduct, and resp actions and variables to the module and pushed this to the betas. I hope this is a blessing to you. Have a nice day.

You'll need to update to the latest beta build to get it.

You'll need to update to the latest beta build to get it.

I'm not quite sure how to update. But i manually copied your latest files in to my raspberry pi and figured out how to add a regular button with the appropriate tasks.
Probablay for your interest, the values in range -8 to +8 can also have steps in between. Not only  -8, -6, -4 and so on. That is not written in the documentation, but I have another device from Skaarhoj (PTZ Pro) where it is actually programmed.
0 equals No Compensation
1 equals +0.25 EV (exposure value)
2 equals +0.5 EV (exposure value)
3 equals +0.75 EV (exposure value)
4 equals +1.0 EV (exposure value)
and so on (also in the opposite direction: minus)
Thank you again very much for adding this more than valueable feature. Especially when people stand before a white or dark wall, this feature is a lifesaver, because the calculated exposure values are the inadequate.
I will also test the other features you implemented... but my next job is so soon, that i will prep first for this job :)


CoreFoundation Windows Port

CC: @phausler @parkera
Note that this is not fully complete, I'm still working through the patches.  But, I needed a way to track the patch set.  Most of the changes are pretty small and very targeted at individual classes of issues, so this is going to look much worse than it really is.  It is one of those death by a thousand paper cuts scenario.

CC: @millenomi

@swift-ci please test

I realize that this work is mostly useful only when available in aggregate, however, I think that it would help reduce some of the cognitive overhead and management burden to pick out the patches that are ready to go and merge those in.  Is that okay with you @parkera, @millenomi?

Yes I think so.

@phausler, @parkera - so, for the locking changes, what do you guys think of introducing a new type alias that we can use to differentiate between what needs to be a fully mutex (pthread_mutex_t) and what can be an unfair lock (CFLock_t)?  Would CFRecursiveMutex and CFMutex be reasonable to have?  That would allow most of this work to get merged.  The patches that remain are mostly because I am afraid I don't know how to best address to them.  Those are explicitly called out with a HACK/ in the commit message.

As far as I know we never use an actually recursive lock - just the pthread_lock_t vs a spin lock. Is CFSPINLOCK actually a spin lock anymore (on Darwin)? We've gone back and forth recently on this, and you're probably right that the macro name is now a misnomer.

Really the two lock types are fair and unfair. pthread_mutex is fair, others are not. I am not convinced we really ever need fair locks even in Darwin but that is something we need to confirm to change. The unfair case for Darwin donates QoS via os_unfair_lock and Linux i don’t think really has QoS anyhow so a lightweight lock is fine (most Linuxes pthread_mutex is lighter than Darwin anyhow). So in the end the two concepts are heavy but fair lock and lightweight lock.

@parkera, @phausler - there are definitely cases of recursive mutexes in the code base.  Thats why I ended up using CRITICAL_SECTIONs.  They are used in the bundle loader.  I don't see any use of OSSpinLock anywhere, so I do suspect that there is no use of spin locks on Darwin.
The problem is that the locking mechanism on Windows doesn't have posix locking, so we need a different set of locks.  For lightweight mutexes that do not need to recursive, the Slim Reader/Writer locks work well.  For recursive locks, we need to resort to CRITICAL_SECTION.  The type aliasing should enable us to do that.  Unifying and sharing the codepaths makes it easier to restructure the code and

Once #1808 is merged, this change becomes primarily locking with a small sprinkling of TLS.  We can then focus on getting that right and finishing up the Windows port for CF.

Alright, its that time ... good night PR.  I've split this up into #1810 and #1811 .  #1810 should be pretty much uncontroversial.  The threading issues being discussed here are all handled in #1811 via a new _CFMutex and _CFRecursiveMutex type for the RunLoop handling.


handle column number in javac linter

This retrieve the column number in javac output.

Cheers! :beers:

I might see about looking at the symbol names for determining the end positions for errors later. Then ALE will be able to highlight the whole word.


Maven central integration

After deploying the artifact (for the 0.0.1 release) to Bintray and having it accepted into JCenter, a message appears: "To have your package artifacts synced to the Maven Central repository, your package must comply with the Maven Central requirements." (https://bintray.com/opentracing/maven/opentracing-java-v030/0.0.1#central)
It means I need to be added as a comitter under Sonata (already created my account, "carlosalberto"). Was wondering who has access for requesting that? Maybe @yurishkuro @adriancole @pavolloffay @tedsuo ?

Usually this means there's something missing in the pom file. That's the
thing that maven central would care about.
On Wed, Dec 20, 2017 at 1:35 PM, Carlos Alberto Cortez <
<EMAIL_ADDRESS>wrote:

After deploying the artifact (for the 0.0.1 release) to Bintray and having
it accepted into JCenter, a message appears: "To have your package
artifacts synced to the Maven Central repository, your package must comply
with the Maven Central requirements." (https://bintray.com/
opentracing/maven/opentracing-java-v030/0.0.1#central)
It means I need to be added as a comitter under Sonata (already created my
account, "carlosalberto"). Was wondering who has access for requesting
that? Maybe @yurishkuro https://github.com/yurishkuro @adriancole
https://github.com/adriancole @pavolloffay
https://github.com/pavolloffay ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/opentracing/opentracing-java-v030/issues/5, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAD61yTlqZlEthm2In4Ido5XrIGlf2FBks5tCJy3gaJpZM4RH7Dp
.

I don't see any errors.. PS are you literally trying to sync an
artifact named opentracing-v030 to maven central?

Hey Adrian!
Thanks for the answer. So basically I went and double checked values and realized this message is showing in the Maven Central section (https://bintray.com/opentracing/maven/opentracing-java-v030/#central):
"Last Sync Errors: Could not sync artifact opentracing-v030-0.0.1.jar.md5. Server response:   403 - Forbidden" etc.
So it looks like permissions, no? Because I can push all the files to bintray itself, but it fails when doing the actual Maven synchronization.

I synced it manually via bintray.com with my account. Success!
So I think there are problems with @carlosalberto account.
Last time I asked @bhs to grant me all permissions I need.

@carlosalberto @malafeev I don't see anything unusual / different about @carlosalberto's permissions on bintray.
However, it may also be needed to grant permissions at https://issues.sonatype.org/browse/OSSRH-19982 or something similar. I am missing state here, but it's possible the -v030 thing means that there needs to be a separate set of permissions granted... depends on the namespace of the maven artifact.


[Bug]: Streaming inference response results cannot be serialized as json normally

Your current environment
The output of `Postman`

...
data: {"id":"cmpl-154965d939604267b71cfb09c8c24d38","object":"chat.completion.chunk","created":146773,"model":"/models/Baichuan2-13B-chat-FP16","choices":[{"index":0,"delta":{"content":"!"},"logprobs":null,"finish_reason":null}]}
data: {"id":"cmpl-154965d939604267b71cfb09c8c24d38","object":"chat.completion.chunk","created":146773,"model":"/models/Baichuan2-13B-chat-FP16","choices":[{"index":0,"delta":{"content":"<"},"logprobs":null,"finish_reason":null}]}
data: {"id":"cmpl-154965d939604267b71cfb09c8c24d38","object":"chat.completion.chunk","created":146773,"model":"/models/Baichuan2-13B-chat-FP16","choices":[{"index":0,"delta":{"content":"|"},"logprobs":null,"finish_reason":null}]}
data: {"id":"cmpl-154965d939604267b71cfb09c8c24d38","object":"chat.completion.chunk","created":146773,"model":"/models/Baichuan2-13B-chat-FP16","choices":[{"index":0,"delta":{"content":"im"},"logprobs":null,"finish_reason":null}]}
data: {"id":"cmpl-154965d939604267b71cfb09c8c24d38","object":"chat.completion.chunk","created":146773,"model":"/models/Baichuan2-13B-chat-FP16","choices":[{"index":0,"delta":{"content":"_"},"logprobs":null,"finish_reason":null}]}
data: {"id":"cmpl-154965d939604267b71cfb09c8c24d38","object":"chat.completion.chunk","created":146773,"model":"/models/Baichuan2-13B-chat-FP16","choices":[{"index":0,"delta":{"content":"end"},"logprobs":null,"finish_reason":null}]}
data: {"id":"cmpl-154965d939604267b71cfb09c8c24d38","object":"chat.completion.chunk","created":146773,"model":"/models/Baichuan2-13B-chat-FP16","choices":[{"index":0,"delta":{"content":"|"},"logprobs":null,"finish_reason":null}]}
data: {"id":"cmpl-154965d939604267b71cfb09c8c24d38","object":"chat.completion.chunk","created":146773,"model":"/models/Baichuan2-13B-chat-FP16","choices":[{"index":0,"delta":{"content":">"},"logprobs":null,"finish_reason":null}]}
data: {"id":"cmpl-154965d939604267b71cfb09c8c24d38","object":"chat.completion.chunk","created":146773,"model":"/models/Baichuan2-13B-chat-FP16","choices":[{"index":0,"delta":{"content":""},"finish_reason":"stop"}],"usage":{"prompt_tokens":30,"total_tokens":264,"completion_tokens":234}}
data: [DONE]
🐛 Describe the bug
https://github.com/vllm-project/vllm/blob/546e7211684a28bbe53088961b4cf5123e235760/vllm/entrypoints/openai/serving_chat.py#L243
https://github.com/vllm-project/vllm/blob/546e7211684a28bbe53088961b4cf5123e235760/vllm/entrypoints/openai/serving_completion.py#L168
https://github.com/vllm-project/vllm/blob/546e7211684a28bbe53088961b4cf5123e235760/vllm/entrypoints/openai/serving_completion.py#L268
This final output of [DONE] is of little use to the client, and the receiving end cannot process the data format normally.
So we should be able to delete it so that the client can process streaming inference results more conveniently.

@WoosukKwon Hi,brother,I have observed that other streaming reasoning response interfaces do not have the special ending flag [DONE].

The goal of the Open AI API server is to match the same functionality of OpenAI endpoint, and this is how currently OpenAI does it as well. See https://github.com/openai/openai-python/blob/595e6b834fe26e08e9ac5415ab15bc19b8661f2c/src/openai/types/completion_create_params.py#L158

Hi @DreamTeamWangbowen, the last message is as specified by OpenAI streaming protocol.
https://platform.openai.com/docs/api-reference/chat/create#chat-create-stream

Closing this since it is not a bug.

I want to learn your streaming inference script


magicItem

This also removes the pokegame in the Games.cs because it'll get in a conflict with the other pull again if it doesn't :unamused:

yey :weary: