Cannot Instantiate an AMQPClient Instance Because name is undefined

Problem Description
Cannot instantiate an AMQPClient instance because name is undefined.
System Specs
OS: Windows 11 Pro 23H2
node version: v20.11.1
npm version: 10.5.2
npx version: 10.5.2
npx expo version: 0.17.10
Expo package version: 50.0.14
React package version: 18.2.0
React Native package version: 0.73.6
CloudAMQP Specs
Type: LavinMQ
Active Plan: Loyal Lemming
Region: amazon-web-services::ca-central-1
Cluster: rabbit.lmq.cloudamqp.com (DNS load balanced)
Hosts: rabbit-01.lmq.cloudamqp.com(Availability Zone cac1-az4)
Example Code
https://github.com/ShuzhaoFeng/cloud-amqp-expo-test
Note that CloudAMQP credentials has been explicitly omitted before the push.
Steps to Reproduce (With Example Code)

Clone the repository

cd my-app

npm run start

Open the app on Expo and notice the error

Steps to Reproduce (Without Example Code)

npx create-expo-app --template

Select blank TypeScript template

cd my-app

npm i @cloudamqp/amqp-client

In App.tsx, add the following import:

import { AMQPClient } from "@cloudamqp/amqp-client";

In App.tsx, add the following lines at the beginning of the App() function:

  const cloud_amqp_url =
<EMAIL_ADDRESS>  const client = new AMQPClient(cloud_amqp_url);

npm run start

Open the app on expo, and notice the following error:

Android Bundling failed 27945ms ({PATH_TO_PROJECT}\my-app\node_modules\expo\AppEntry.js)
The package at<EMAIL_ADDRESS>attempted to import the Node standard library module "net".
It failed because the native React runtime does not include the Node standard library.
Learn more: https://docs.expo.dev/workflow/using-libraries/#using-third-party-libraries

Ctrl+C to stop the app

npm i node-libs-react-native react-native-tcp stream-browserify stream

npx expo customize metro.config.js

In the newly Created metro.config.js file, add the following just above the line module.exports = config:

config.resolver.extraNodeModules["net"] = require.resolve("react-native-tcp");
config.resolver.extraNodeModules["tls"] = require.resolve(
  "node-libs-react-native/mock/tls"
);

npm run start

Open the app again and notice the error

Error Log
Android Bundled 3939ms ({PATH_TO_PROJECT}\my-app\node_modules\expo\AppEntry.js)
 ERROR  TypeError: Cannot read property 'name' of undefined

This error is located at:
    in App (at withDevTools.js:18)
    in withDevTools(App) (at renderApplication.js:57)
    in RCTView (at View.js:116)
    in View (at AppContainer.js:127)
    in RCTView (at View.js:116)
    in View (at AppContainer.js:155)
    in AppContainer (at renderApplication.js:50)
    in main(RootComponent) (at renderApplication.js:67), js engine: hermes
 ERROR  TypeError: Cannot read property 'name' of undefined

This error is located at:
    in App (at withDevTools.js:18)
    in withDevTools(App) (at renderApplication.js:57)
    in RCTView (at View.js:116)
    in View (at AppContainer.js:127)
    in RCTView (at View.js:116)
    in View (at AppContainer.js:155)
    in AppContainer (at renderApplication.js:50)
    in main(RootComponent) (at renderApplication.js:67), js engine: hermes

There's a lot going on here, are you able to reproduce the problem with a plain JavaScript or TypeScript program?

There's a lot going on here, are you able to reproduce the problem with a plain JavaScript or TypeScript program?

While trying to reproduce, I realized that the issue comes from erroneously using AMQPClient instead of AMQPWebSocketClient for a non-node project. Additional modules (node-libs-react-native, react-native-tcp, stream, stream-browserify, text-encoding) are still needed to support amqp-client in an Expo React Native project.
I'll turn my example code shortly to a minimally reproducible example for using the module in an Expo React Native environment.

Minimal example now available: https://github.com/ShuzhaoFeng/amqp-client-expo-example


ACSet implementation of DWDs

Given the sprawling nature of this PR, I will squash each of Sophie's and my commit sets into single commits before eventually merging this.

Given the sprawling nature of this PR, I will squash each of Sophie's and my commit sets into single commits before eventually merging this.

The new branch at #371.

The new branch at #371.


Support excluding Casks from HOMEBREW_ARTIFACT_DOMAIN coverage

Provide a detailed description of the proposed feature
HOMEBREW_ARTIFACT_DOMAIN allows the use of a forward proxy that supports URL prefixing to handle all payload download functionality for brew client as noted in the manual Envrionment section.
Some organizations use a cache mirror (e.g. JFrog Artifactory Remote) of the Packages attached to homebrew-core instead of a simple forward proxy by restricting to a URL.  This works without issue for Formulae/Bottles that are stored in GitHub Packages as the single source domain is switched out for the envvar content at download time.  Casks though will source the install payload from arbitrary internet sources as defined by the Cask author.  Since the source is not a single domain brew cannot just replace the domain with the ARTIFACT_DOMAIN content and instead prefixes the destination.  This will work if the ARTIFACT_DOMAIN target is a simple forward proxy that supports URL prefixing, but for a mirror it may fail if that mirror is restricted to a specific scope and protocol.
Adding an additional HOMEBREW_ARTIFACT_DOMAIN_NO_CASK envvar boolean indicating the flow its use is adjusting and follows other "opt out" flags in the environment variables.
https://github.com/orgs/Homebrew/discussions/3032
https://github.com/Homebrew/brew/issues/13222
https://github.com/Homebrew/brew/issues/12568
What is the motivation for the feature?
Desire to use HOMEBREW_ARTIFACT_DOMAIN to direct users to an internal GitHub Packages cache for homebrew-core which supports our mirror cache solution (JFrog Artifactory) while not influencing the download flow for Cask payloads as that requires supporting arbitrary internet destinations which a cache may not be able to support.
Currently users have to do install/updates using the envvar and then unset the var to do an install/update of Casks.
How will the feature be relevant to at least 90% of Homebrew users?
So there is a significant number of Homebrew users in organizations that require some registry controls and security checks for applications that are being used in the firm.  I am not 100% sure it would be 90% of users, but it's a reasonable size community.  So gating brew through a system like Artifactory adds some insight, but leaving the arbitrary destinations to standard User Access proxies that are managed by other teams.
What alternatives to the feature have been considered?
Attempts have been made to leverage Git repo cloning (to localize the Formulae) combined with HOMEBREW_BOTTLE_DOMAIN, but with limited success using them effectively together.  And BOTTLE seemed to be up in the air on if it would be deprecated so wasn't sure if it would be around in the future.

Adding an additional HOMEBREW_ARTIFACT_DOMAIN_NO_CASK envvar boolean indicating the flow its use is adjusting and follows other "opt out" flags in the environment variables.

I wonder if this is even needed; I'm not sure anyone is successfully using HOMEBREW_ARTIFACT_DOMAIN with casks?
Thoughts?

I know I would like to use HOMEBREW_ARTIFACT_DOMAIN to steer folks from sourcing everything over the Internet and the user access proxies by leveraging a cache. The change is because if you use bottles and casks at the same time you may have poor results during install/update when that is set to something other than a forward proxy.  JFrog's expectations was that the functionality just worked, but they didn't actually test it against Casks. While they can handle mirroring the GitHub Packages source they can't handle the arbitrary sourcing needed for Cask support which is why they added the comments to their KB noting the conflict.
Originally I had poked at HOMEBREW_BOTTLE_DOMAIN to try and scope it only to bottles but it seems to try the tar.gz structure instead of the blob/sha256 we would have in the OCI registry mirror as noted in #11781.
And if anyone has a method to allow for steering brew to a Packages mirror for bottles and falling back to standard proxy environment variables for casks I am game.  The current workaround for folks is to do their install upgrade using the mirror and then unset HOMEBREW_ARTIFACT_DOMAIN so that the casks that fail downloading will successfully download.

And @MikeMcQuaid I was making the assumption that folks were using that existing model and was thinking of do no harm.  Now I am curious on the perimeter solution that works in that way (reverse proxy/webapp), but that's just my experience w proxy environments.  And also it is based off the docs as well where any URL gets a prefix which given for ghcr.io you actually will replace and not prefix.
Now if HOMEBREW_ARTIFACT_DOMAIN should only be replaced on matches for the GitHub Packages endpoint I am wondering if there is a bug in the regex.  Now I have not spent a ton of time on ruby code so I may be reading this wrong.
Currently the url.sub(...) call that is used into when artifact_domain uses a regex with a submatch on Packages:URL which means it also matches "https" as well and will replace that with the content of artifact_domain.  If you remove that submatch on Packages (which I think was intended) than the URL substitution will only happen for ghcr.io endpoints and ignore any others (e.g. Casks).
Example
url1 = "https://ghcr.io/v2/homebrew/core/gnu-getopt/manifests/2.38"
url2 = "https://corretto.aws/downloads/resources/<IP_ADDRESS>.1/amazon-corretto-<IP_ADDRESS>.1-macosx-x64.pkg"
artifact_domain = "https://pkgregistry.com/Homebrew"
gpregex1 = %r{^(https?://ghcr.io/)?}o
gpregex2 = %r{^https?://ghcr.io/?}o
replaced = "#{ad.chomp("/")}/"

puts url1.sub(gpregex1,ad)
puts url2.sub(gpregex1,ad)
puts url1.sub(gpregex2,ad)
puts url2.sub(gpregex2,ad)

#Which results in
https://pkgregistry.com/Homebrewv2/homebrew/core/gnu-getopt/manifests/2.38
https://pkgregistry.com/Homebrewhttps://corretto.aws/downloads/resources/<IP_ADDRESS>.1/amazon-corretto-<IP_ADDRESS>.1-macosx-x64.pkg
https://pkgregistry.com/Homebrewv2/homebrew/core/gnu-getopt/manifests/2.38
https://corretto.aws/downloads/resources/<IP_ADDRESS>.1/amazon-corretto-<IP_ADDRESS>.1-macosx-x64.pkg

And I did manually patch my local installed copy and bottles coming from our package registry and following the proxy envvars out to the Internet for the casks.
So happy to open the PR for the description in env_config and the removal of the sub-match in download_strategy if you think this was the intent of  https://github.com/Homebrew/brew/pull/11766 and the regex match just got by the tests.

And @MikeMcQuaid I was making the assumption that folks were using that existing model and was thinking of do no harm.

We can revert if necessary and people complain. I don't see a lot of evidence that any proxy supports casks in the way this variable requires.

So happy to open the PR for the description in env_config and the removal of the sub-match in download_strategy if you think this was the intent of #11766 and the regex match just got by the tests.

Happy to review, not sure I can comment sufficiently without seeing some code. Feel free to not e.g. fix style or tests first if it makes that quicker/easier in case it gets rejected.

We have a few internal corporate hurdles and I am in the queue, but I am hoping that the removal of a couple parens (and change to env_config for the docs) will cruise through the gates w/o too much back and forth.  Fortunately no CLA on this one which gets extra fun.

Resolved by #13313


Auto CRLF to LF does not works on postCreateCommand

Auto CRLF does not works on Windows
On the postCreateCommand command, auto CRLF can't be applied and result in error.
To Reproduce
Steps to reproduce the behavior:

Create new repository based on this template
Clone it to your system
Open folder with vscode
Set it up for you (change name of container etc...)
Build it

Expected behavior
We expected to get start directly with a fresh devcontainer on which one every script files will be in LF.
Screenshots

Desktop (please complete the following information):

OS: Windows 11

Additional context
Add any other context about the problem here.

Find this on the vscode documentation : https://code.visualstudio.com/docs/devcontainers/tips-and-tricks#_resolving-git-line-ending-issues-in-containers-resulting-in-many-modified-files
It suggest to add a .gitattributes file into the repo to format file as LF, CR or CRLF.
* text=auto eol=lf
*.{cmd,[cC][mM][dD]} text eol=crlf
*.{bat,[bB][aA][tT]} text eol=crlf

Test and works with the vscode tip.


Reinstate code coverage

@aik099 requested this. @stof asked me to remove it from the original MR but thinking about it we should only remove it in the MR the replaces it with psalm / phpstan

Somehow Scrutinizer is stuck reporting result back to PR

I got scruntinizer config from a previous build where it worked and dumped that in a .scutinizer.yml file. My guess is that the global config or project config for this project on scutinizer's site is somehow messed up. Anyway the upshot is that it is fixed.

@stof , any idea why we're running "PHPUnit with Coverage" for every PHP version instead of just running PHPUnit for every PHP version and for a single version run "PHPUnit with Coverage"?
It would only make sense to me when code has lots of PHP version-specific IFs, but we don't have this in Mink.

Closing in favor of #344


Refresh MetaData Issue

Hello,
Unless I'm not understanding something, I think I found an issue with the Refresh MetaData. I had a column name Semester Number that was originally a varchar in the underlying database. I changed it to an int an clicked Refresh Table Metadata.
The screenshot shows what I would have expected, however, the result from applying the change was a change in the model data type, but not the Source Provider Type. That still said VarChar. I was expecting this to update. Should it have updated?
Because of this, I still receive a warning in the Schema Check.

Cory Cundy

Thanks for reporting. It is indeed a bug that Source Provider Type does not get updated - however, I think you should still be able to refresh the table/partitions, even if Source Provider Type is not alligned with the type on the underlying source.

Daniel,
Thanks for your quick reply. I agree, despite this bug, the refresh is still functioning fine and I can update the Source Provider Type manually. If you don't catch this, it shows up in the Schema Check. It's good that it shows in the Schema Check, however when this is fixed, it will be one less thing to go back and fix up.
Cory

Fixed in 2.9.8.


This package cannot found by composer

So I fork this and fix this.
https://github.com/CornWorld/PHPAES

You could have just asked me to submit it.
https://packagist.org/packages/leigh/php-aes


React Native support

Thanks for lib)
What about RN support?

Hey @Haqverdi I'm not very experienced with React Native. What would I need to add to support RN?

I have created a React Native library for BigHeads, I hope you guys find it useful 😄

react-native-bigheads


Feature/default field for vtk xml

put active field setting in base xml writer
instead of a public first_cell_field function, I propose a range over fields with a specified rank, of which we take the first one for the default active arrays
I made the active_array_attribute a function to avoid the possibility of segfaults when used wrong

TODO:

[x] support for pvtk

I tried to split it up into separate commits such that we can kick out those we don't want (i.e. in case you have objections)

ping @timokoch

nice! This got much nicer I think


Add promql/fragile check

Codecov Report

Merging #128 (aed3b92) into main (4592c65) will increase coverage by 0.12%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #128      +/-   ##
==========================================
+ Coverage   92.27%   92.39%   +0.12%
==========================================
  Files          59       61       +2
  Lines        3791     3854      +63
==========================================
+ Hits         3498     3561      +63
  Misses        225      225
  Partials       68       68

Impacted Files
Coverage Δ

internal/checks/base.go
100.00% <ø> (ø)

internal/checks/promql_fragile.go
100.00% <100.00%> (ø)

internal/config/config.go
100.00% <100.00%> (ø)

internal/parser/utils/binary_expr.go
100.00% <100.00%> (ø)

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 4592c65...aed3b92. Read the comment docs.


add seciu

add seciu

@agodoyDesp Please provide us with:

the school official website URL
a proof, which shows that the school recognizes the domain you are submitting as an official email domain for the students.

https://www.seciu.edu.uy/

@agodoyDesp Thank you for the clarification. I also received an additional proof of the domain recognition from https://www.nic.uy. Pull request merged.


Loading ome.zarr and bdv.n5 source in the same view is broken

this used to work, but is now broken in the current mobie-beta version.
To reproduce: open the view all_sources in https://github.com/mobie/clem-example-project on the more-views branch.
This raises a very long error message, see https://github.com/mobie/clem-example-project/issues/20#issuecomment-1108709710

Is this still an (important) issue?


Samples not working

When I try to start the sample programs(Windows, VS2017) I get errors concerning the format of the message definition files in the db folder.

Ok, got it. It's all about using "rb" in fopen() which leads to windows line endings not transformed, which results in strtok() doing the wrong thing. Should I supply a Pull request?

If you've found an issue it would be great if you could contribute a PR which fixes it.
Do take into account this code is supposed to be platform agnostic (or at the very least work on Linux and Windows), so it may be necessary to "intelligently" add or remove the b there (read: conditionally compile probably).


Web App - not sure what happened here

logs.zip have shared node logs, proxy logs and client logs
Explorer showed that this member missed validation:
https://scan.idena.io/identity/0xdA252eA3A7415b6E3288938F308F21719143271a
Only thing I managed to figure out is that client OS was 30 sec ahead. But even with that I don't get it why he failed validation, short answer proof tx was sent in time.
client log
2021-10-31T13:31:32.934Z - "Short answers hash sent"
proxy log
2021-10-31T13:31:02.716Z - 0a4ea5874a430a63f342407bc033fb13 - 200 - 3.509 ms - {"method":"bcn_sendRawTx","params"
shared node log
INFO [10-31|13:31:02.713] Sending new tx                           ip=<IP_ADDRESS>:41368 type=5 hash=0x1a82b4300e3d6539b3f93130856bf5d7789f558321d828f454469ddca948d519 nonce=1  epoch=76

As Hugo explained, since client was 30 seconds ahead, it probably asked for flip decryption keys ahead of time and messed something up. Thus failed validation.


acquireTokenSilent MSAL Client Auth Error - Vue + nuxt implementation

Core Library
MSAL.js v1 (@azure/msal or msal)
Core Library Version
1.4.12
Wrapper Library
Not Applicable
Wrapper Library Version
None
Description
vue:  2.16.14
nuxt: 2.15.8
msal: 1.4.12
Trying to implement Azure login + getting refresh token + calling graph api.
To achieve this I have tried 3 APIs till now (as provided in the code snippet below):

acquireTokenSilent (This is the API I require, I dont want to have UI interaction for every refresh token request)
On doing this it always goes to the error block and the error it throws:

acquireTokenRedirect
I see a request to https://accounts.google.com/o/oauth2/iframerpc?action=issueToken&response_type=token  which gives me an access token but I dont know how to receive the token in the callback function as the page reload takes place ignoring the callback

acquireTokenPopup
On doing this, this is the only api that returns me an accessToken in the callback, but as I mentioned before, my essential requirement is to get the refreshToken silently (without any UI intervention).

Am I on the right track on doing this? Any nuxt example that I can refer to?
Is there any issue with acquireTokenSilent in msal? How can I acquire the access Token Silently without any UI interaction.
MSAL Configuration
// components/MicrosoftAuthConnection.js

function MicrosoftAuthConnection () {
  let Msal = require('msal')
  this.connection = new Msal.UserAgentApplication({
    auth: {
      clientId: process.env.aadClientId
    },
    cache: {
      cacheLocation: 'sessionStorage'
    }
  })
}

MicrosoftAuthConnection.prototype.login = function (callBack) {
  let loginRequest = {
    scopes: ['user.read'] // optional Array<string>
  }
  this.connection.loginPopup(loginRequest).then(
    response => {
      console.log('Login window opened', response)
      callBack(response)
    },
    error => {
      return error
    }
  )
}

MicrosoftAuthConnection.prototype.getToken = function (callBack) {
  console.log('Inside get Token')

  console.log('Checking account', this.connection.getAccount())
  if (this.connection.getAccount()) {
    const account = this.connection.getAllAccounts()[0]
    let loginRequest = {
      scopes: ['user.read', 'mail.send'],
      account: account,
      navigateToLoginRequestUrl: false,
      tenantId: process.env.aadTenantId
    }
    // try {
    //   this.connection.acquireTokenPopup(loginRequest).then(
    //     response => {
    //       callBack(response)
    //     },
    //     error => {
    //       console.log('error ', error)
    //     }
    //   )
    // } catch (e) {

    // }
    this.connection.acquireTokenRedirect(loginRequest).then(
      response => {
        // callBack(response)
        console.log('Inside token redirect', response)
      },
      err => {
        console.error('Checking token error', err)
      }
    )
  }
}

export default MicrosoftAuthConnection

Relevant Code Snippets
// pages/app/index.vue

<template lang="pug">
  .calendar-container
    button(@click="msAccountLogin")
      img.calendar(src="~assets/images/outlook.png")
        label Outlook
</template>
<script>
  import MSAuth from  '~/components/MicrosoftAuthConnection'
  export default {
     components: { MSAuth },
     methods: {
       async msAccountLogin () {
         let authConnection = new MSAuth()
         try {
           const loginResponse = await authConnection.login(this.msLoginCallback)
         } catch(e) {
         }
       },

    async msLoginCallback (payload) {
      console.log("Checking payload", payload)

      let authConnection = new MSAuth()
      if (!payload.accessToken){
        let response = await authConnection.getToken(this.msTokenCallback)
        console.log("response", response)
      }
    },

    msTokenCallback (payload) {
      console.log("Token Payload :", payload)
    }

   }
  }
</script>

Identity Provider
Azure AD / MSA
Source
External (Customer)

Hi @RajGanguly. My first recommendation would be that you try MSAL Browser (MSAL v2) instead of MSAL v1. Other than that, I have a few of questions.

Are you using AzureAD B2C by any chance? I ask because you seem to be doing a login with Google.
The usual calling pattern we recommend is that you call acquireTokenSilent first and then you fall back to either acquireTokenRedirect or acquireTokenPopup if you get an Interaction Required error. You may want to look at our existing samples in the sample folder to see how this pattern is implemented.
The acquireTokenRedirect API does not return a promise, so using .then will not work. The way to handle the result of that function is to configure handleRedirectCallback like so:

    msalInstance.handleRedirectCallback((error, response) => {
        // handle redirect response or error
    });

You can see the [MSAL v1 docs] (https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-core) or the msal-core-samples for more information. However, I would still recommend you move to MSAL Browser instead.

@hectormmg Thanks for your generous reply, will check and let you know

@hectormmg
Currently this is the implementation that I've come up with after upgrading to msal-browser
// components/MicrosoftAuthConnection.js

import * as Msal from '@azure/msal-browser'
export default class MicrosoftAuthConnection {
  constructor () {
    this.connection = new Msal.PublicClientApplication({
      auth: {
        clientId: process.env.aadClientId
      },
      cache: {
        cacheLocation: 'sessionStorage'
      }
    })
    this.requestParams = {
      scopes: ['user.read', 'mail.send'],
      navigateToLoginRequestUrl: false,
      tenantId: process.env.aadTenantId,
      resource: 'https://graph.microsoft.com/'
    }
  }
  getTokenResponse () {
    console.log('Inside get Token')
    const account = this.connection.getAllAccounts()[0]
    console.log('Checking account ', account)
    if (account) {
      console.log('Inside if account ')
      this.requestParams.account = account
      return this.connection.acquireTokenSilent(this.requestParams).then(
        response => {
          // callBack(response)
          console.log('Inside token redirect')
          console.log(response)
          return response
        },
        err => {
          if (err) {
            // fallback to interaction when silent call fails
            console.log('fallback to interaction when silent call fails')
            this.connection.acquireTokenPopup(this.requestParams).then(
              result => {
                console.log('Inside acquireTokenPopup 1111111', result)
                return result
              },
              err => {
                console.log('Error 1111111', err)
                console.log('error ', err)
              }
            )
          }
        }
      )
    } else {
      console.log('No account found')
      return this.connection.acquireTokenPopup(this.requestParams).then(
        result => {
          console.log('Inside acquireTokenPopup ', result)
          return result
        },
        err => {
          console.log('error 222222', err)
        }
      )
    }
  }
}

The Graph API implementation
// components/MicrosoftGraphApi.js
function MicrosoftGraphApi (tokenValue) {
  this.graphUrl = 'https://graph.microsoft.com/v1.0/'
  this.token = tokenValue
  console.log('Token Value ', this.token)
}

MicrosoftGraphApi.prototype.getCalendar = function () {
  const headers = new Headers({ Authorization: 'Bearer ' + this.token })
  const options = { headers }
  return fetch(`${this.graphUrl}/me/calendars`, options)
    .then(response => { return response.json() })
    .catch(response => {
      throw new Error(response.text())
    })
}

export default MicrosoftGraphApi

Now here's how my API invocation looks like
 this.accessToken = this.getRefreshToken()
 let msGraph = new MSGraph(this.accessToken)
 let userCalendarList = await msGraph.getCalendar()

     async getRefreshToken() {
      let msAuth = new MSAuth()
      return await msAuth.getTokenResponse().then(
        result => { console.log('Inside result', result)
          return result.accessToken
        },
        _error => {
          return msAuth.loginRequestNoInteraction().then(
            response => {
             return response.accessToken },
            err => { console.log('Checking err ', err) }
          )
        }
      )
    },

So everything works fine when the cache holds the value for azure accounts:
const account = this.connection.getAllAccounts()[0] doesn't give null
When the account returns null I've check acquireTokenSilently also fails with error No account object provided to acquireTokenSilent and no active account has been set. Please call setActiveAccount or provide an account on the request graph api, therefore I've invoked the  acquireTokenPopup.
So in any case a UI interaction is always required when acquireTokenSilent should fail, and it will when the cache expires?
Isn't there any way to silently keep on receiving accessToken without UI interaction?
Also the  acquireTokenPopup is also failing in this regard because the page where this integration is required has a dynamic url:
URL: localhost:3000/app/products/<product-slug>/entity/<entity-slug>
Which I have checked cannot be registered in redirect URIs as it doesn't support wildcard urls
Therefore acquireTokenPopup is giving me AADSTS50011: The reply url specified in the request does not match the reply urls configured for the application which makes sense as I don't have the url registered as its not possible to do so.
I don't understand how to get around this problem.

Hey, @RajGanguly .

Since MSAL supports multiple account, acquireTokenSilent requires an account object so MSAL knows which account's tokens to return from the cache. If there is no account in the cache, then your user is not authenticated (i.e. logged in) and you need to authenticate them through either an interaction (popup or redirect login), or through MSAL's ssoSilent API (please check our docs for more info on ssoSilent.
When you call acquireTokenSilent with an account and the access token is expired, MSAL tries to get you a new access token (silently, i.e. with no interaction by the user) by using the cached refresh token. Auth Code grant refresh tokens (which MSAL uses) have a 24 hour lifetime, which means you should be able to silently get access tokens for that time, without interaction, as long as you don't log your user out.
When it comes to redirect URIs, you should register a single redirect URI that you use in your application for authentication. If you start authentication from https://yourdomain.com/app/products/<product-slug>/entity/<entity-slug> and want to redirect there after authentication is done, you can leverage the state parameter in the authentication request. The state is returned with the AuthenticationResult so your app can retrieve it and redirect to that page once the token is acquired from the network.

@hectormmg

As per your comment I have tried implementing ssoSilent when the cache clears the account details (when const account = this.connection.getAllAccounts()[0] returns null). I have checked the docs for the necessary request options for ssoSilent.
This is how ssoSilent is implemented on fallback if account is null on acquireTokenSilent

      this.requestParams.loginHint = userName
      this.redirectUri = process.env.appUrl + 'empty'
      return this.connection.ssoSilent(this.requestParams).then(
        result => {
          console.log('Inside ssoSilent 2222222', result)
          return result
        },
        err => {
          console.log('error 222222', err)
        }
      )

And I get

I created an empty html page and assigned it to as redirectUri but still no change.
Previously I was getting this issue, however it got resolved by adding:
system : {
        navigateFrameWait: 500,
        iframeHashTimeout: 10000
    }

This was the API I was looking for but unfortunately it doesn't work
I have also tried exposing http://localhost:3000 to https but it still doesn't work

@hectormmg
As per your second point I'm receiving the accessToken from loginPopup and then for every graph api call I'm calling acquireTokenSilent to get the token to call respective APIs. It works well for 24 hours after which on calling acquireTokenSilent gives error because the account information is removed from the cache. I'm trying to handle that scenario without any interaction hence trying to get the token via ssoSilent

@hectormmg Any advice on this?

Hey, @RajGanguly.

MSAL trying to navigate to "https://login.microsoftonline.com/common/oauth2/v2.0/undefined" is unexpected. Given that navigating to /undefined will result in a 404, the server will not receive/process the request and MSAL times out waiting for a response. This can happen if the authority object in the request is corrupted. Is there any place in the code where you modify or set the authority for the request?
You're able to get access tokens silently for 24 hours because that is how long auth code flow refresh tokens last. Once acquireTokenSilent fails you need to either do interactive authentication (login or popup) or leverage SSO (through ssoSilent). However, SSO depends on there being an active session with the server (i.e. the user having previously logged in, not logging out and the session not having expired). This means that you eventually do need to fall back to interactive authentication as well.
You have to set redirecUri in your MSAL config and request parameters to a valid redirect URL that is registered in your app registration.

You can set navigateToLoginRequestUrl to true in the request so that after the server redirects back to the redirect URI, MSAL redirects your app back to the page where the login request was made from. Alternatively, you can set the state in the request to the page the request was made from (from window.location) and then get the state from the authentication result and redirect to the page yourself.


Skip 2FA with OpenID Connect

Gitea version (or commit ref): 1.14.0+dev-353-gccfa40889

Description
I have my OIDC provider which already asks for 2FA, but having 2FA enabled in Gitea makes users go through double 2FA authentication, which can be annoying.
Can you add an option to skip Gitea's 2FA when login in from an OIDC provider?
Thanks

Any updates on this or ideas for a work-around?


Rename redisConfigurator -> martenConfigurator

Not the biggest change, it just confused me a bit when i looked at it, and it said redis

Merged manually.


Correct typo in install instructions

Feels great to finally contribute with some code to vbeam through this very important correction in the documentation ;)

It is very important, indeed 😉 Thanks, Ole Marius!


[QUESTION] disable messages in Yammer home feed to join champion program

Submit your question
What is the context of your question

[ ] Installation
[ ] Learning Pathways Content
[ ] SharePoint Success Content
[x] Administration
[ ] Custom Content
[ ] Viewer Web Part

What is your question
We installed a new instance of Learning Pathways yesterday.  Since then, I'm noticing messages in random languages from Learning Pathways in my Yammer home feed to join the Champions network.  Is Learning Pathways doing this, and how can we disable it?

Provide related screen-shots to help us understand your question
It looks like it has stopped, so no screenshot available.

@DaveTheTeamsGuy The Learning Pathways webpart doesn't post anything anywhere. It just pulls data in from the other sources. Can you provide an example of one of the messages? What account is it coming from?

It stopped after I kept refreshing, but fortunately I saved a screenshot.  This was duplicated for about 8 different languages (not including English):

@DaveTheTeamsGuy I did some digging. This is a default news post that is included in the Learning Pathways site collection. While it doesn't do it by default. I am guessing someone clicked the Send to Yammer button under Promote on that page. By default nothing is pushed anywhere but if someone pushed the promote button that could absolutely happen. Because you provisioned through the LookBook you have all 10 languages installed. If you are not planning on using them all you should turn off the ones you are not using. Hope that helps.

Interesting and good to know.  My team indicated they didn't do anything, so I'll poke around and see who was out there pushing buttons.  Thanks for the response!

Reopening for further conversation - Clicking on Promote > Send to Yammer requires you to select to post to a community, and when you do it comes from your name.  What's odd about this is, it only shows up in the home feed, and appears to come from "Microsoft 365 learning pathways".  Maybe I'm missing something simple.

We looked some more and the way this was pushed out was by selecting "Send To" > "Yammer". We were able to replicate it. I think you are out of the woods as it was probably done manually. There is nothing in the provisioning code or the web part that publishes anything to Yammer.

When you tested, did the message come from the tester's account, or from "Microsoft 365 learning pathways"?

It came from Microsoft 365 Learning Pathways.

That's not how ours is functioning, however thanks for the testing and response.  We will keep looking around.

Hi @DaveTheTeamsGuy, Do you have any other questions on this? If not, can we close this issue?  You can always open a new one if you need some other information.

I'll close this one out, thanks.


fix: Return gl context in getWebGLContext if available

throws an error instead of console.error when WebGL is not supported
otherwise this.gl is undefined and the errors would be pretty confusing for
users in either case)
WebGLRenderer#getContext returns the previously retrieved GL context if
available

landed as 19e22ed


asm and JDK9

The only version of asm that supports JDK9 is 6.0-beta. A released version of asm would be preferred.

An asm-6.0 version has just released.


what is the equivalence of finallyDo/doOnTermination in rxjava and onComplete in scalaz-stream

I basically need that operator to preempt reclaiming of the opened resource upon termination of the stream (either due to an error, completion or the stream just gets cancelled). After reading the code, I am confident doOnError, doOnComplete, and doOnDownstreamStop are just callback for onError, onComplete and onNext. So should I use doOnCancel, or something else ?
Thanks,

Just found out RC6 released today has added doOnTerminate :-) Thanks and I will close it now.


Add auto merge

@conda-forge-admin, please add bot automerge

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added bot automerge in conda-forge/python_version-feedstock#2.


Relax dependencies

Hi there,
I think it would be nice, if you could relax the versions of the dependencies of your crate.
Most of rusts ecosystem is using semver and follow its versioning quite strictly.
I'd exclude bevy related crates as some of them follow bevys schema to make it easier selecting the correct version.

Thanks for reminding me that. I'm just to dedicated to latest versions. I will change them in the next version.
Also the semver versioning is quite good but I didn't know that before. I think I'd better follow that when versioning entitiles.

Changed in 0.3.0


Crash on game close when video running on UE 5.1

Describe the bug
Game crashes when it is closed while a video is being rendered using UE 5.1.1. This usually happens when closing the game for the second time from the editor. The first time is usually (always?) OK.
Expected Behavior
Game closes cleanly.
Minimalistic code (recommended)
N/A
Specifications

OS: Windows 11 for sure, macOS not tested
Version:

comms-sdk-unreal 1.0.0

Possible fix in #91

Should be fixed in 1.1.0-beta.2.


[GSSoC '23]|  In the courses section we can make changes

1). In the courses section , Under grab your notes section on clicking the B.E  section it is returning us to the home page we can modify this issue.
2). Please assign me this task, I will do it in the best way possible.

Sorry, closing as not planned/ not required right now.. If case if you feel the issue should not be closed. Ping me or @anmode


Ablation experiments on joint and individual learning?

Thank you for your excellent work, it is very inspiring to me!
However, I have a doubt, the paper does not give ablation experiments using the same network for joint learning of keypoints and descriptors, or maybe I didn't read the paper carefully? For example, a network outputs two branches using DeDoDe's loss functions.

It's possible that training a single network jointly (with a descriptor and detector head) would produce good results. In fact we state so in the paper.
That is not the main argument, the main argument is that we use a detector loss that is independent of the descriptor. That this works I think is obvious from the results.
Having a joint backbone would simply mean we optimize also for a proxy task, and then we could consider any proxy task.

One of the reasons we have not tried a joint network is basically that the descriptor in our work is an afterthought. Originally we only wanted to make a keypoint detector without basing it on descriptor MNN. But as it turns out, it was very simple to train a descriptor afterwards, so we added it.

One of the reasons we have not tried a joint network is basically that the descriptor in our work is an afterthought. Originally we only wanted to make a keypoint detector without basing it on descriptor MNN. But as it turns out, it was very simple to train a descriptor afterwards, so we added it.

Thanks for the quick reply.
I still have some questions:

The main argument you mention is that detector loss independent of descriptor would be better for local feature matching, but it seems like a lot of prior work already does this, like superpoint.
The results in Table 5 of the paper show that the gain of the descriptor network is much larger than the gain of the keypoint network, which appears to be inconsistent with your original intent above.
In my point of view, in practical applications, one network for both keypoint detection and descriptor extraction can effectively reduce the memory and time consumption, compared to two independent networks. Therefore, it would certainly be better if the joint network could achieve similar accuracy.

One of the reasons we have not tried a joint network is basically that the descriptor in our work is an afterthought. Originally we only wanted to make a keypoint detector without basing it on descriptor MNN. But as it turns out, it was very simple to train a descriptor afterwards, so we added it.

In addition, the title of the paper includes "Describe, Don't Detect".
However, the paper does not mention the impact of the keypoint detection task on description learning.

By the way, how soon will the training code be published?
This work is remarkable in that it demonstrates for the first time that feature matching without an NN matcher outperforms many existing SOTA matchers. I'll be keeping an eye on this work.

Haha many comments, I'll try answering them in order,

Yes, older learned keypoints do this, bot the more recent ones. We have a section on this in the related work, also describing the key differences.
Note the significant reduction in performance when using DeDoDe with DISK keypoints, while both disk and sift improves from dedode keypoints. Also, note that disk keypoints are specifically trained to work well with the descriptors, it is therefore remarkable that dedode keypoints outperform them.
We know that people have this opinion, and are happy to see follow-up works exploring this 😀
The point is that when you train a descriptor jointly with the detector, the keypoints will adapt to the descriptor, we do not think this is a good thing. See for example the arguments of posfeat.
Thanks for the reminder, the training code is just a few experiment files, should upload soon.

Haha many comments, I'll try answering them in order,

Yes, older learned keypoints do this, but not the more recent ones. We have a section on this in the related work, also describing the key differences.
Note the significant reduction in performance when using DeDoDe with DISK keypoints, while both disk and sift improves from dedode keypoints. Also, note that disk keypoints are specifically trained to work well with the descriptors, it is therefore remarkable that dedode keypoints outperform them.
We know that people have this opinion, and are happy to see follow-up works exploring this 😀
The point is that when you train a descriptor jointly with the detector, the keypoints will adapt to the descriptor, we do not think this is a good thing. See for example the arguments of posfeat.
Thanks for the reminder, the training code is just a few experiment files, should upload soon.

Thank you very much!


The entire tree should not close when a test unrelated to most of the tree turns red

Type of Request
feature request
Infrastructure Environment
All of them? I'm not sure, sorry.
What is happening?
As described in https://github.com/flutter/flutter/issues/142197, often a test flake (or an infra failure) causes an entire tree to turn red.
Steps to reproduce
N/A
Expected results
From talking to @christopherfujino and @keyonghan, this is WAI. I'd like us to re-assess. From the Discord:

Unless we figure out a way to determine a widespread failure in O(1) time, treating every flake as a potential widespread failure seems like the wrong trade-off.

For example for these windows tests specifically, my understanding is there are only 2 (3?) places a failure can happen:

An engine roll
Someone changes the windows test
Someone changes the flutter tool

Yet every PR is blocked.

This makes sense to me. As we already touched a bit earlier, this will require a clear mapping between failed tests (say based predefined error message patten) and potential affected changes.
For example: Test T -> Failure message patten P -> Affected change dirs D
Then if we see a failure following P from test T, we know we should treat tree red only for PRs with changes from D, and allow other PRs to land.
This will rely on a formalized output log that can be easily parsable and a post-log processing logic.
Same thing for Infra related failures, we also need to have a mapping between infra failures and impact (some infra failures are expected to recover in minutes, whereas others take days).

If everyone gets used to the idea that it probably doesn't affect them if some part of the tree isn't green

We already are here, folks just add auto-submit or push blank commits/push the rebase button.

I would like to have a category of tests that do not close the tree if they fail, but do need attention in a timely manner. For example, if a deprecation rolls in from upstream, or if a random test seed causes a failure, or some golden failures.

Those are good examples Dan!

If everyone gets used to the idea that it probably doesn't affect them if some part of the tree isn't green

We already are here, folks just add auto-submit or push blank commits/push the rebase button.

None of those things result in someone's PR landing. There's a qualitative difference between "my code is never going to land unless the tree becomes green" and "I can land my code right now even if the tree is red" in terms of how people react to tree breakage (in my personal experience across a number of projects).


Can't use correcly Brackets 1.1 without been ROOT on Debian

Hi. When I open Brackets been ROOT i can open folders correctly.
but when i run it as a NORMAL user i cant do these.
What can I do?
Sorry for my bad english, also I am new at Linux. Thanks.

@bastri  I think you have a permissions problem.
http://ryanstutorials.net/linuxtutorial/permissions.php

@bastri Have your problems resolved?

Closing. Please let us know if the issue persists and I can reopen this


[Maven V3] Fixed input  string to boolean type for JUnitTestsResult field

Task name:  MavenV3
Description: Changed input type for publishJunitTests parameter from string to boolean
Documentation changes required: (Y/N) N
Added unit tests: (Y/N) N
Attached related issue: (Y/N) https://github.com/microsoft/azure-pipelines-tasks/issues/15060
Checklist:

[x] Task version was bumped - please check instruction how to do it
[x] Checked that applied changes work as expected

With the following input result before was

After fix


34465 a bugfix

Removed set commands in ArrayMeasurement class of Keysight 34465A driver.  Existing class definition prevents the user from making changes to sampling parameters (i.e. it overwrites them).  Setting these type of parameters seems to belong in a measurement script rather than the driver.

pinging @astafan8

Hi @jdwatson, thanks for bringing this up. While I agree that ArrayMeasurement is not general enough to be of use to most people (it was basically written specifically for a particular benchmark), I don't think we should abruptly change the behaviour of things. Some users might rely on ArrayMeasurement as it currently is. Instead, why don't we implement a more generic buffer parameter for this instrument?


Event study implementation

Possibly beg @grantmcdermott to contribute a version of etwfe ? :smile:

Oof. Stretched very thin ATM but will look into it when I can.
This looks like rad btw. I half a mind to implement something like this a while ago, but never put digital pen to paper.
See also: https://github.com/GoogleCloudPlatform/bigquery-utils/blob/master/udfs/community/README.md

Just merged a PR that implements the dynamic specifications of Two-way Mundlak. Demo here; would appreciate you taking a pass, grant.
https://github.com/py-econometrics/duckreg/blob/master/notebooks/event_study.ipynb

Nice!
Still slammed but will take a look when I can.


IDE Collision,  when opening bazel project with different IDE

Description of the bug:
Hello,
When i try to open/import a Bazel project that is already opened by Goland I get the error:
/.../.ijwb already exists
How can I fix this problem?
What's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.
Firstly import a Bazel project with Goland then try to import it with Pycharm.
Which Intellij IDE are you using? Please provide the specific version.
Goland 2023.3, Pycharm 2023.3
What programming languages and tools are you using? Please provide specific versions.
Golang 1.21, Python 3.11
What Bazel plugin version are you using?
2<IP_ADDRESS>.1-api-version-233
Have you found anything relevant by searching the web?
https://github.com/bazelbuild/intellij/issues/1245
Any other information, logs, or outputs that you want to share?
No response

@kamyab98 Could you please provide sample code to reproduce this issue?

Hi, me and @kamyab98 are experiencing the same issue.
To reproduce the issue, you can simply create an empty folder (the root of your project)
and then add the content of the this file to WORKSPACE.bazel file in your root.
Then import this empty project using bazel plugin in Goland, sync project files, let it create the .ijwb folder, and so on.
When the import is complete, close the Goland program.
Now open PyCharm, try to import the same project you created with bazel again. When importing, choose .ijwb/.bazelproject as your project view.
Now you will get the error
/.../.ijwb already exists mentioned by @kamyab98

Hello! Instead of importing the project in the second IDE, could you try just "Open"ing the project? It's a bit counter-intuitive (it has bitten me a few times), but importing just means "Create the project files". Once that's done, you should be able to import it into any JetBrains IDE (except CLion, for reasons)

Hi we tried that as well. When you just open the project, it will definitely open without encountering errors and you'll even be able to code. However, the bazel plugin's sync button won't show up in the ui, resulting in unresolved reference errors all around the code. This happens in both of these scenarios:

creating bazel project view with goland, then opening it with pycharm.
creating bazel project view with pycharm, then opening it with goland.

As of now, the workaround we chose is to have two .ijwb folders, one for each IDE.
When swtiching IDEs we just rename the correct folder (e.g. .ijwb.pycharm) to .ijwb.
And the first time importing the project we'll make sure no .ijwb folder exists in the project files.
However this is really frustrating as we need to switch languages often.

Hi, any updates on the issue? @blorente

@blorente Hi. Are there any updates?

hi @nobletooth for now we recommend to use the plugins

Intellij with Go plugin + Python plugin
or GoLand with Python plugin
etc.

Alright.


Provide a new means to update a Eureka application record periodically

Define the ScheduleAppUpdates and NewAppSource methods on EurekaConnection. The former supplies a channel of periodic updates to an application, while the latter holds the latest successfully acquired update of an application and makes it available for reading safely from any goroutine.
This addresses #36, but for now I left EurekaConnection's UpdateApp method in place, for fear of breaking existing callers. I considered documenting it as "deprecated", but without a commitment to remove it by a given date it felt disingenuous to wag a finger like that.

Also, while I did include a set of example calls to these new methods, I did not include tests. I admit that I am unsure how best to test these methods, because I can't rely on having a particular Eureka server available.
I considered writing a fake EurekaConnection, but since it's not an interface, it's hard to substitute such a fake in a unit test. If you have suggestions as to how to write such a test (in this case confirming that we can receive periodic updates to a given application record), I'm willing to do so.
And now that I think about it more, if these new methods were free functions instead of being methods on EurekaConnection, they could instead accept a parameter like the following:
type ApplicationSupplier interface {
    getApp(string) (*Application, error)
}

The struct EurekaConnection already implements that interface.
Let me know what you think.

@seh Thank you so much for your contribution! We'll look over it and try to get it merged as soon as possible. Just wanted to make sure you knew we're listening. :-)

And now that I think about it more, if these new methods were free functions instead of being methods on EurekaConnection, they could instead accept a parameter like the following:

type ApplicationSupplier interface {
    getApp(string) (*Application, error)
}

The struct EurekaConnection already implements that interface.
I think that's a good way to make these more testable. Although instead of making them free functions, you could make them methods on the ApplicationSupplier interface. That might make it cleaner from the caller's side.

Although instead of making them free functions, you could make them methods on the ApplicationSupplier interface. That might make it cleaner from the caller's side.

Well, I noticed when trying to introduce this interface is that ScheduleAppUpdates requires access to EurekaConnection's PollInterval field. That means that having it rely solely on a GetApp method is insufficient. I could have ScheduleAppUpdates demand a polling interval parameter, but that dilutes the utility of EurekaConnection's PollInterval field. As far as I can tell, this is the whole point of including that field to begin with.
I am now less certain of the utility of introducing the proposed ApplicationSupplier interface.
// ApplicationSupplier is the interface that wraps the GetApp method, allowing
// retrieval of registered Eureka applications.
//
// GetApp returns the Eureka application with the given name. If no such
// application exists, it returns AppNotFoundError.
type ApplicationSupplier interface {
	GetApp(name string) (*Application, error)
}

Instead, the best I can see doing is hoisting ScheduleAppUpdates up to an interface, and having NewAppSource rely on that interface.
type ApplicationUpdater interface {
	ScheduleAppUpdates(name string, prime bool, done <-chan struct{}) <-chan AppUpdate {
}

Then:
func NewAppSource(u ApplicationUpdater, name string, prime bool) *AppSource {
// ...

That makes NewAppSource testable with a mock ApplicationUpdater, but we still can't test ScheduleAppUpdates with a mock of the GetApp method, which was my real goal.

I'd appreciate any further critique you can offer here.

Sorry for letting this sit so long @seh. I missed your most recent commit. Other than tests, I think you've addressed all of my concerns. It'd be nice to be able to write tests, but I think mocking out the EurekaSupplier interface is outside of the scope of what you're trying to accomplish here.
I'm good with getting this merged in. @tysonstewart or @ryansb any additional thoughts?

Looks good to me, just the minor nit on the prime parameter.


[move cli] Refactor to utilize interface files

Added .mv file extension on modules
Removed compile command
Added check command for just checking a bunch of Move files
Added publish command for publishing modules
Flipped commit flags to a --dry-run flag

Motivation

Actually using the MV files should be a speedup for big cases
A +/- is the stdlib now has to be specified and published as a first step
We might want to make check and build commands that just delegate to the source language, could be neat. But this brings us closer to that world

Test Plan

in progress

/land

:broken_heart: Test Failed - commit-workflow

/land


Unable to install on MacOS Big Sur

Currently on Big Sur, attempting to brew install results in:
Error: Interrupted system call @ rb_sysopen - /usr/local/Cellar/webp/1.2.0/bin/webpinfo
It seems to be a common issue on big sur.  Is there a good way around this?

Closed as duplicate of #54.


PMID:33138913

decreased protein localization to mitochondrion outer membrane
normal mitophagy
decreased protein localization to mitochondrion, with diffuse cytoplasmic localization
decreased superoxide level

see #3876 for normal mitophagy

see #3876 for normal mitophagy

decreased protein localization to mitochondrial outer membrane FYPO:0007600
decreased protein localization to mitochondrion, with diffuse cytoplasmic protein mislocalization FYPO:0007601
decreased cellular superoxide level during nitrogen starvation FYPO:0007602

decreased protein localization to mitochondrial outer membrane FYPO:0007600
decreased protein localization to mitochondrion, with diffuse cytoplasmic protein mislocalization FYPO:0007601
decreased cellular superoxide level during nitrogen starvation FYPO:0007602


Add to Conan Package Manager

Is your feature request related to a problem? Please describe.
This library is not present in conan package manger. So i find it hard to add my existing project which uses conan package manager,
Describe the solution you'd like
Add this project to conan repository.

Thanks for the feature request
This is a duplicate of #466, so I’m closing this issue now.


[Bug] #1592 prevents nodes from syncing from scratch

🐛 Bug Report

PR #1592 actually changed the consensus about how to run finalizers, and as the network was not reset, now we can't really resync the nodes; new nodes must start from snapshots instead.
Steps to Reproduce

Attempt to resync the node

Expected Behavior

Discord report:
WARN Failed to process block 14931: Failed to finalize transactions: Mismatch in finalize operations for an accepted execute

as snarkVM now behaves correctly, while the data in the block was generated with the incorrect logic.
Your Environment

Latest

Actually, if we are resetting soonish, it might not worth it to reintroduce the old code to bring back the compatibility.

Agreed

I met the same problem, maybe some new nodes are waiting for the issue fixed❤

irrelevant as reset is coming soon


Mise treats escaped newlines in env files differently than dotenvy

Describe the bug
With an .env file containing X='{"bla": "one\ntwo"}', dotenvy -f .env env shows X={"bla": "one\ntwo"}, while loading the same file with mise via _.file = ['.env'], env reports
X={"bla": "one
two"}

To Reproduce

Create .env with content X='{"bla": "one\ntwo"}'
Run dotenvy -f .env env
Create .mise.toml with content[env]
_.file = [
  '.env',
]

Run mise trust; env

Expected behavior
Mise should load the .env file the same way as dotenvy's CLI and set X to {"bla": "one\ntwo"}, without unescaping the \n.
mise doctor output
version: 2024.8.5 linux-x64 (98c44b8 2024-08-03)
activated: yes
shims_on_path: no

build_info:
  Target: x86_64-unknown-linux-gnu
  Features: DEFAULT, NATIVE_TLS, OPENSSL
  Built: Sat, 3 Aug 2024 22:37:06 +0000
  Rust Version: rustc 1.80.0 (051478957 2024-07-21)
  Profile: release

shell:
  /bin/zsh
  zsh 5.9 (x86_64-ubuntu-linux-gnu)

dirs:
  data: ~/.local/share/mise
  config: ~/.config/mise
  cache: ~/.cache/mise
  state: ~/.local/state/mise
  shims: ~/.local/share/mise/shims

config_files:
  ~/.config/mise/config.toml
  ~/metergrid/dev/dotenvy-debug/.mise.toml

backends:
  cargo
  core
  go
  npm
  pipx
  spm
  ubi

plugins:
  bun        (core)
  deno       (core)
  direnv     https://github.com/asdf-community/asdf-direnv.git#a2219c2
  erlang     (core)
  go         (core)
  java       (core)
  node       (core)
  pnpm       https://github.com/jonathanmorley/asdf-pnpm.git#305baff
  poetry     https://github.com/mise-plugins/mise-poetry.git#431c335
  python     (core)
  ruby       (core)
  usage      https://github.com/jdx/mise-usage.git#fe3888a
  watchexec  https://github.com/nyrst/asdf-watchexec.git#b667a08
  yarn       https://github.com/mise-plugins/asdf-yarn.git#74ea3b9
  yq         https://github.com/sudermanjr/asdf-yq.git#772992f
  zig        (core)

toolset:
<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
<EMAIL_ADDRESS>
<EMAIL_ADDRESS>

env_vars:
  MISE_SHELL=zsh

settings:
  activate_aggressive = false
  all_compile = false
  always_keep_download = false
  always_keep_install = false
  asdf_compat = false
  cargo_binstall = true
  color = true
  disable_default_shorthands = false
  disable_tools = []
  experimental = true
  go_default_packages_file = "~/.default-go-packages"
  go_download_mirror = "https://dl.google.com/go"
  go_repo = "https://github.com/golang/go"
  go_set_gopath = false
  go_set_goroot = true
  go_skip_checksum = false
  http_timeout = 30
  jobs = 4
  legacy_version_file = true
  legacy_version_file_disable_tools = []
  libgit2 = true
  node_compile = false
  not_found_auto_install = true
  paranoid = false
  plugin_autoupdate_last_check_duration = "7d"
  python_default_packages_file = "~/.default-python-packages"
  python_pyenv_repo = "https://github.com/pyenv/pyenv.git"
  raw = false
  trusted_config_paths = []
  quiet = false
  verbose = false
  yes = false
  ci = false
  debug = false
  trace = false
  log_level = "info"
  python_venv_auto_create = false

  [status]
  missing_tools = "if_other_versions_installed"
  show_env = false
  show_tools = false

No warnings found
No problems found

It seems that the dotenvy crate does not implement non-processing multiline (yet) depending on weak/hard quotation yet as for example the Swift variant does

Further investigation shows that single quotes indeed result in \n as characters \ and n  while double quotes resemble a literal \n. Issue seems to lie in how mise sets environment variables for certain shells.

Awesome, thanks for the quick help!


Typos

Microsoft Reviewers: Open in CodeFlow

Docs Build status updates of commit 9e7274d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

AdaptiveCards/authoring-cards/universal-action-model.md
:bulb:Suggestion

Details

AdaptiveCards/authoring-cards/universal-action-model.md

Line 2, Column 1: [Suggestion-description-missing] Missing required attribute: 'description'.
Line 24, Column 92: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoftteams/platform/task-modules-and-cards/cards/universal-actions-for-adaptive-cards/overview' will be broken in isolated environments. Replace with a relative link.
Line 114, Column 817: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com//microsoftteams/platform/task-modules-and-cards/cards/universal-actions-for-adaptive-cards/work-with-universal-actions-for-adaptive-cards#user-ids-in-refresh' will be broken in isolated environments. Replace with a relative link.
Line 293, Column 3: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/microsoftteams/platform/task-modules-and-cards/cards/universal-actions-for-adaptive-cards/overview' will be broken in isolated environments. Replace with a relative link.

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Thanks!


bug: error when using http_client

[package]
name = "http_server"
version = "0.1.0"
authors = ["csh"]
edition = "2018"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
httpcodec = "0.2.3"
bytecodec = "0.4.15"
http_req_wasi  = "0.10"
wasmedge_wasi_socket = "0.5.0"
wasmedge_http_req = "0.9.0"

use bytecodec::DecodeExt;
// use http_req::request;
use wasmedge_http_req::request;

use httpcodec::{HttpVersion, ReasonPhrase, Request, RequestDecoder, Response, StatusCode};
use std::{io::{Read, Write}, println};
use wasmedge_wasi_socket::{Shutdown, TcpListener, TcpStream};

const BOT_URL: &str= "https://dipankardas011-gpt2-bot.hf.space/generate";
const BOT_TEXT_FIELD: &str = "text";

fn handle_http(req: Request<String>) -> bytecodec::Result<Response<String>> {
    println!("Req.reqtarget -> {:?}",req.request_target());
    let request_path = req.request_target().to_string();
    let request_type = req.method().to_string();

    return match (request_type.as_str(), request_path.as_str()) {
        ("GET", "/ping") => {

            println!("request target [{request_path}] method [{request_type}]");
            Ok(Response::new(
                HttpVersion::V1_1,
                StatusCode::new(200)?,
                ReasonPhrase::new("")?,
                format!("Pong!!")))
        }
        ("POST", "/bot") => {

            println!("request target [{request_path}] method [{request_type}]");
            let mod_req: String = req.body().replace(" ", "%20");
            println!("Data in body: {mod_req}");

            if mod_req.len() as i32 == 0 {
                Ok(Response::new(
                    HttpVersion::V1_1,
                    StatusCode::new(401)?,
                    ReasonPhrase::new("")?,
                    format!("Invalid request no promppt found!")))
            }else {

                let bot_uri = format!("{BOT_URL}?{BOT_TEXT_FIELD}={mod_req}");

                let mut writer = Vec::new(); //container for body of a response
                let res = request::get(bot_uri, &mut writer).unwrap();
                println!("GET");
                println!("Status: {} {}", res.status_code(), res.reason());
                println!("Headers {}", res.headers());
                let bot_response = String::from_utf8_lossy(&writer);

                Ok(Response::new(
                    HttpVersion::V1_1,
                    StatusCode::new(200)?,
                    ReasonPhrase::new("")?,
                    format!("Generated Response {bot_response}")))
            }
        }
        _ => {
            println!("request target [{request_path}] method [{request_type}]");
            Ok(Response::new(
                HttpVersion::V1_1,
                StatusCode::new(403)?,
                ReasonPhrase::new("")?,
                format!("Route path or method is invalid!")))
        }
    };
}

fn handle_client(mut stream: TcpStream) -> std::io::Result<()> {
    let mut buff = [0u8; 1024];
    let mut data = Vec::new();

    loop {
        let n = stream.read(&mut buff)?;
        data.extend_from_slice(&buff[0..n]);
        if n < 1024 {
            break;
        }
    }

    let mut decoder =
        RequestDecoder::<httpcodec::BodyDecoder<bytecodec::bytes::Utf8Decoder>>::default();

    let req = match decoder.decode_from_bytes(data.as_slice()) {
        Ok(req) => handle_http(req),
        Err(e) => Err(e),
    };

    let r = match req {
        Ok(r) => r,
        Err(e) => {
            let err = format!("{:?}", e);
            Response::new(
                HttpVersion::V1_0,
                StatusCode::new(500).unwrap(),
                ReasonPhrase::new(err.as_str()).unwrap(),
                err.clone(),
            )
        }
    };

    let write_buf = r.to_string();
    stream.write(write_buf.as_bytes())?;
    stream.shutdown(Shutdown::Both)?;
    Ok(())
}

fn main() -> std::io::Result<()> {
    let port = std::env::var("PORT").unwrap_or("3000".to_string());
    println!("new connection at {}", port);
    let listener = TcpListener::bind(format!("<IP_ADDRESS>:{}", port), false)?;
    loop {
        let _ = handle_client(listener.accept(false)?.0);
    }
}

It sounds like you want to make https calls from your app. It is beyond the scope of "sockets".
You will need to the OpenSSL library and the TLS plugin in WasmEdge.
https://wasmedge.org/docs/develop/rust/http_service/client/#synchronous-client-with-http_req
https://wasmedge.org/docs/develop/build-and-run/install#tls-plugin

It sounds like you want to make https calls from your app. It is beyond the scope of "sockets".
You will need to the OpenSSL library and the TLS plugin in WasmEdge.
https://wasmedge.org/docs/develop/rust/http_service/client/#synchronous-client-with-http_req
https://wasmedge.org/docs/develop/build-and-run/install#tls-plugin

Got it

@juntao can i add missing information in the docs website?

Sure. Raise a PR here?
https://github.com/WasmEdge/docs/tree/main/docs/develop/rust
Thanks

@dipankardas011
https://github.com/WasmEdge/docs/tree/main/docs/develop/rust will be our new docs. We're working on discarding the old book. See the ongoing PR here. https://github.com/WasmEdge/WasmEdge/pull/2541

@dipankardas011
https://github.com/WasmEdge/docs/tree/main/docs/develop/rust is our new docs. We're working on discarding the old book. See the ongoing PR here. https://github.com/WasmEdge/WasmEdge/pull/2541

Then what to do?


Maximum resolution for inference

Is there any limitation for inferencing with higher resolution??
If the answer is no, does the model perform well on higher resolution such as 1024×1024 or more for in-painting?

Sorry for this question. limited by CUDA memory, I have not tried higher resolution.

Feel free to reopen the issue if there is any question.


driftway, gravemaster

This pull request was generated by the 'mq' tool
[test]
flake rate: 0.4
logical conflict every: 100
sleep for: 300s
[pullrequest]
requests per hour: 30
deps=[d,g]

/trunk merge


No error is displayed when Mailchain API is unable to connect to indexer

Describe the bug
When running Mailchain and looking to access messages using the Inbox, but without the indexer running, an error 500 is returned, but no intuitive error displays in the interface.
{"code":500,"message":"Get http://localhost:8081/to?address=kWCKFhkg5m5XmGz2pbcUYhJK7RAf6jLj1wLM5J5junonVTH\u0026network=edgeware-mainnet\u0026protocol=substrate: dial tcp [::1]:8081: connect: connection refused"}

To Reproduce
Steps to reproduce the behavior:

Run mailchain serve (without the message indexer running)
Go to https://inbox.mailchain.xyz/#/
Change protocol to substrate and network to mainnnet
See error in console but not in inbox.

Expected behavior
An error message should pop up with helpful instructions to troubleshoot.
Version 0.0.15

Closing due to archiving repository


Sweeper: support Inputs with required locktimes and txOuts

This PR adds support for inputs that put extra restrictions on the sweep tx, namely a locktime and accompanied output.
Two methods are added to the Input interface that for most normal inputs will do nothing:
	// RequiredTxOut returns a non-nil TxOut if input commits to a certain
	// transaction output. This is used in the SINGLE|ANYONECANPAY case to
	// make sure any presigned input is still valid by including the
	// output.
	RequiredTxOut() *wire.TxOut

	// RequiredLockTime returns whether this input commits to a tx locktime
	// that must be used in the transaction including it.
	RequiredLockTime() (uint32, bool)

For certain inputs though, this is needed. Most notably we plan to use this for sweeping and aggregation of second level HTLC transactions for anchor channels. Since these transactions are pre-signed by the channel counterparty using sighash SINGLE|ANYONECANPAY, they can be altered at will as long as the locktime and input-ouput pair stays intact.
By allowing the sweeper to add such input-output pairs to the sweep transaction, we get BYOF (bring-your-own-fees) and HTLC aggregation for free.

Still need to fully grok the process of zipping/merging the valid input sets.

Tried to keep it simple. Should perhaps make it even simpler/dumber for this first iteration? (it is not really where review time should be spent I feel).

Also I don't see any changes to the resolver to send these outputs directly to the sweeper, I take it that'll come in another PR?

Yep, will come in a follow up soon (tm)


Potential LhFreeMemory call on random pointer

Hi,
in LhAllocateHook() the variable Hook isn't initialized with NULL and the first assignment is only done after three potential THROW calls.
So we might end in the THROW_OUTRO happily passing the null pointer check and calling LhFreeMemory() on a random pointer.

Thanks @pzychotic - I've run through and checked every other compiler warning and addressed appropriately also.


Publish library to npmjs

Publish the built and packaged contents of the lib folder to @ehwplus/nestjs-zitadel-auth.

Library published here: https://www.npmjs.com/package/nest-zitadel


Ensure language is set to contact not user

Refer to: https://github.com/praekelt/go-ndoh/pull/169/files#diff-0c8cfb8d255a83c801fc4c5f061a22b3L506 which was negated in #173

@maps Please review.

:+1:


User activity api regression on stable

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: stable/from sources
OS Version:

Regression from https://github.com/microsoft/vscode/pull/214264
@connor4312 This broke user activity api, with this any extension that runs some background task using  showProgress  will make the api report as active which is not desired.
In my case:

I use the api to send heartbeat events to backend
GHPR extension runs some background git commands periodically
Git extension calls the showProgress api which in turn makes user activity api report as active

Would be good to fix it for recovery release 🙏

Thanks for the issue, I made a PR that should hopefully mitigate the problem for you. Please let me know how it goes on the next Insiders.


Background info for ghcide integration

This is an info issue, to track resources that may be useful in understanding background, design, tradeoffs in the ghcide vs hie architectures.
Feel free to update.

https://github.com/digital-asset/ghcide

https://4ta.uk/p/shaking-up-the-ide

@ndmitchell Munihac talk

My @MuniHac talk on Making a Haskell IDE is now on
YouTube https://www.youtube.com/watch?v=cijsaeWNf2E&list=PLxxF72uPfQVRdAsvj7THoys-nVj-oc4Ss
and slides at https://ndmitchell.com/downloads/slides-making_a_haskell_ide-07_sep_2019.pdf.
All about hie-core
https://github.com/digital-asset/daml/tree/master/compiler/hie-core#readme. How  to install, hack and understand it.

cc @cocreature


perf: Use 0 for null byte arrays

Breaks compatibility with older versions, saves 1 byte for non null arrays, doesn't make null arrays the same as empty ones.

sorry but we need null support, otherwise client and server might get out of sync.
        byte[] a = new byte[0];
        byte[] b = null;
        Debug.Log("a=" + a);
        Debug.Log("b=" + b);

in which case a is an empty array and b is null.

@vis2k This preserves nulls

@MichalPetryka what about empty[] though?

0 - null
1 - 0
2 - 1
3 - 2 etc.

oh, that's interesting

@vis2k  you misunderstand this PR,   null is still there.
Before:
if array is null,  we write:

1 byte with false
if the array is not null,  we write:
1 byte with true
the length of the array
the elements

After:
if the array is null,  we write:

1 byte with 0
if the array is not null,  we write:
the length of the array + 1
the elements

When we deserialize,  we read the length,  if it is 0,  then the array was null,  otherwise,  calculate length-1  and that is the real length.

@MichalPetryka can you add some comments in the code for that? it's not completely obvious and we might miss it again in the future

Ok

Updated existing comments

:tada: This PR is included in version 3.11.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


ENH : write data to correct XDG data path

Coverage decreased (-0.98%) to 82.42% when pulling 17ff3da64bba525c1bd6b9a4f3914e45f4b5c1b5 on tacaswell:xdg_complaince into 9b5cd4910431a99e48096c30668bbd6eb9634aa4 on NSLS-II:master.

le-sigh, I will take care of the testing tomorrow.

bump

Ignoring coverage issue with blessing on @ericdill


Report time to stage-in artifacts in json description

Done in https://github.com/prominence-eosc/prominence/commit/93f1c0abb61ffed799cca11d503284dd10ae8cf9


storage: test auto label and Blunderbuss

Found a bug in Blunderbuss. Closing this and will reopen after the bug is fixed.

It works! :tada:


Add Var-Dumper to require-dev: lets dump()

So that dump() is always available and part of the Flex experience.

Don't you prefer a simple composer require dump? 😄

Nope

Nope, I don't prefer requiring users to do composer require dump.
I prefer having dump() work out of the box!
(btw, there is nothing to put in autoload-dev when "symfony/var-dumper" is required directly)

But is dump() (or var_dump()) just an excuse to not use xdebug? Maybe it's only me, but I can't remember last time I was needed to dump something.

I use dump() everyday - I need no excuse to not use xdebug, it's just a matter of practice...

Dump and xdebug are not used for the same purpose, and xdebug sometimes needs more setup than simply using dump() 🙂

rebased

Maybe should we create a new pack to install: debug, var-dumper and the web profiler all together. All always miss them when I create a new Flex project!
I can take care of that.

@dunglas I started something a while ago. So, if you could have a look: https://github.com/symfony/debug-pack
When done, it's then just a matter of creating a new recipe with the debug alias.


Roll faucet forward to v0.14.0-rc

Here we do a few things:

Roll the faucet forward to v0.14.0-rc contracts
Update approveAndCall to work with ^
Include a cliff and revocable status for faucet grants to help combat script kiddies (by allowing us to revoke grants)

This has been running for some time so merging it.

NM - I authored, @Shadowfiend This is for you.

NM - I authored, @Shadowfiend This is for you.

Nah, this is for me! :innocent:


Use Cw20 token in cw4-stake

Closes #143

[x] Update implementation to support cw20 tokens everywhere.
[x] Existing tests pass
[x] Add tests for the cw20 use case

Now reviewing.


Publishing AV1 over RTSP from FFmpeg does not work (Clock rate not found)

Which version are you using?
git master (https://github.com/bluenviron/mediamtx/commit/e74c45865a62bae691b60a8393185f19bde0e415)
Which operating system are you using?

[x] Linux amd64 standard
[ ] Linux amd64 Docker
[ ] Linux arm64 standard
[ ] Linux arm64 Docker
[ ] Linux arm7 standard
[ ] Linux arm7 Docker
[ ] Linux arm6 standard
[ ] Linux arm6 Docker
[ ] Windows amd64 standard
[ ] Windows amd64 Docker (WSL backend)
[ ] macOS amd64 standard
[ ] macOS amd64 Docker
[ ] Other (please describe)

Describe the issue
Publishing AV1 from FFmpeg over RTSP results in a "400 - Bad Request":
2023/08/28 22:52:21 INF [RTSP] [conn [::1]:33192] closed (invalid SDP: media 1 is invalid: clock rate not found)

Describe how to replicate the issue

start the server
publish with ffmpeg -stream_loop -1 -re -i Videos/Wanderers.mov -pix_fmt yuv420p -c:v libsvtav1 -preset 8 -b:v 2000k -an -f rtsp rtsp://localhost:8554/pillowstrim

Did you attach the server logs?

yes
2023/08/28 22:56:23 INF MediaMTX v1.0.0-32-ge74c458
2023/08/28 22:56:23 DEB path manager created
2023/08/28 22:56:23 INF [RTSP] listener opened on :8554 (TCP), :18000 (UDP/RTP), :18001 (UDP/RTCP)
2023/08/28 22:56:23 INF [RTSPS] listener opened on :8322 (TCP)
2023/08/28 22:56:23 INF [RTMP] listener opened on :1935
2023/08/28 22:56:23 INF [HLS] listener opened on :18888
2023/08/28 22:56:23 INF [WebRTC] listener opened on :18889 (HTTP), :10808 (ICE/UDP)
2023/08/28 22:56:28 INF [RTSP] [conn [::1]:32810] opened
2023/08/28 22:56:28 DEB [RTSP] [conn [::1]:32810] [c->s] OPTIONS rtsp://localhost:8554/pillowstrim RTSP/1.0
CSeq: 1
User-Agent: Lavf60.3.100

2023/08/28 22:56:28 DEB [RTSP] [conn [::1]:32810] [s->c] RTSP/1.0 200 OK
CSeq: 1
Public: DESCRIBE, ANNOUNCE, SETUP, PLAY, RECORD, PAUSE, GET_PARAMETER, TEARDOWN
Server: gortsplib

2023/08/28 22:56:28 DEB [RTSP] [conn [::1]:32810] [c->s] ANNOUNCE rtsp://localhost:8554/pillowstrim RTSP/1.0
CSeq: 2
Content-Length: 141
Content-Type: application/sdp
User-Agent: Lavf60.3.100

v=0
o=- 0 0 IN IP6 ::1
s=No Name
c=IN IP6 ::1
t=0 0
a=tool:libavformat 60.3.100
m=video 0 RTP/AVP 96
b=AS:2000
a=control:streamid=0

2023/08/28 22:56:28 INF [RTSP] [session 6a6c0a15] created by [::1]:32810
2023/08/28 22:56:28 DEB [RTSP] [conn [::1]:32810] [s->c] RTSP/1.0 400 Bad Request
CSeq: 2
Server: gortsplib

2023/08/28 22:56:28 INF [RTSP] [session 6a6c0a15] destroyed (not in use)
2023/08/28 22:56:28 INF [RTSP] [conn [::1]:32810] closed (invalid SDP: media 1 is invalid: clock rate not found)

Did you attach a network dump?

no
Other info
FFmpeg output:
ffmpeg version n6.0 Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 13.1.1 (GCC) 20230429
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libjxl --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-version3 --enable-vulkan
  libavutil      58.  2.100 / 58.  2.100
  libavcodec     60.  3.100 / 60.  3.100
  libavformat    60.  3.100 / 60.  3.100
  libavdevice    60.  1.100 / 60.  1.100
  libavfilter     9.  3.100 /  9.  3.100
  libswscale      7.  1.100 /  7.  1.100
  libswresample   4. 10.100 /  4. 10.100
  libpostproc    57.  1.100 / 57.  1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Videos/Wanderers.mov':
  Metadata:
    creation_time   : 2015-05-03T14:31:35.000000Z
  Duration: 00:03:50.00, start: 0.000000, bitrate: 152873 kb/s
  Stream #0:0[0x1](eng): Video: prores (HQ) (apch / 0x68637061), yuv422p10le(bt709, progressive), 1920x816, 150566 kb/s, SAR 1:1 DAR 40:17, 25 fps, 25 tbr, 25 tbn (default)
    Metadata:
      creation_time   : 2015-05-03T14:31:35.000000Z
      handler_name    : Apple Video Media Handler
      vendor_id       : [0][0][0][0]
      encoder         : Apple ProRes 422 HQ
      timecode        : 01:00:00:00
  Stream #0:1[0x2](eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s (default)
    Metadata:
      creation_time   : 2015-05-03T14:31:35.000000Z
      handler_name    : Apple Sound Media Handler
      vendor_id       : [0][0][0][0]
  Stream #0:2[0x3](eng): Data: none (tmcd / 0x64636D74) (default)
    Metadata:
      creation_time   : 2015-05-03T14:32:40.000000Z
      handler_name    : Time Code Media Handler
      timecode        : 01:00:00:00
Stream mapping:
  Stream #0:0 -> #0:0 (prores (native) -> av1 (libsvtav1))
Press [q] to stop, [?] for help
Svt[info]: -------------------------------------------
Svt[info]: SVT [version]:       SVT-AV1 Encoder Lib v1.7.0-dirty
Svt[info]: SVT [build]  :       GCC 13.2.1 20230801      64 bit
Svt[info]: LIB Build date: Aug 25 2023 13:48:03
Svt[info]: -------------------------------------------
Svt[info]: Number of logical cores available: 32
Svt[info]: Number of PPCS 110
Svt[info]: [asm level on system : up to avx512]
Svt[info]: [asm level selected : up to avx2]
Svt[info]: -------------------------------------------
Svt[info]: SVT [config]: main profile   tier (auto)     level (auto)
Svt[info]: SVT [config]: width / height / fps numerator / fps denominator               : 1920 / 816 / 25 / 1
Svt[info]: SVT [config]: bit-depth / color format                                       : 8 / YUV420
Svt[info]: SVT [config]: preset / tune / pred struct                                    : 8 / PSNR / random access
Svt[info]: SVT [config]: gop size / mini-gop size / key-frame type                      : 161 / 16 / key frame
Svt[info]: SVT [config]: BRC mode / target bitrate (kbps)                               : VBR / 2000
Svt[info]: -------------------------------------------
SvtMalloc[info]: SVT Memory Usage:
SvtMalloc[info]:     total allocated memory:       1.55 GB
SvtMalloc[info]:         malloced memory:          510.69 MB
SvtMalloc[info]:         callocated memory:        72.69 MB
SvtMalloc[info]:         allocated aligned memory: 1006.86 MB
SvtMalloc[info]:     mutex count: 20087
SvtMalloc[info]:     semaphore count: 1660
SvtMalloc[info]:     thread count: 378
SvtMalloc[info]:     hash table fulless: 0.094346, hash bucket is healthy
SvtMalloc[info]: top 10 malloced memory locations:
SvtMalloc[info]: (91.58 MB): /usr/src/debug/svt-av1/SVT-AV1/Source/Lib/Common/Codec/EbBitstreamUnit.c:36
SvtMalloc[info]: (77.36 MB): /usr/src/debug/svt-av1/SVT-AV1/Source/Lib/Encoder/Codec/EbCodingUnit.c:76
SvtMalloc[info]: (64.49 MB): /usr/src/debug/svt-av1/SVT-AV1/Source/Lib/Encoder/Codec/EbPictureControlSet.c:116
SvtMalloc[info]: (56.50 MB): /usr/src/debug/svt-av1/SVT-AV1/Source/Lib/Encoder/Codec/EbPictureControlSet.c:1181
SvtMalloc[info]: (42.86 MB): /usr/src/debug/svt-av1/SVT-AV1/Source/Lib/Encoder/Codec/EbPictureControlSet.c:1376
SvtMalloc[info]: (41.92 MB): /usr/src/debug/svt-av1/SVT-AV1/Source/Lib/Encoder/Codec/EbPictureControlSet.c:117
SvtMalloc[info]: (23.81 MB): /usr/src/debug/svt-av1/SVT-AV1/Source/Lib/Encoder/Codec/EbPictureControlSet.c:1379
SvtMalloc[info]: (16.76 MB): /usr/src/debug/svt-av1/SVT-AV1/Source/Lib/Encoder/Codec/EbPictureControlSet.c:983
SvtMalloc[info]: (13.39 MB): /usr/src/debug/svt-av1/SVT-AV1/Source/Lib/Encoder/Codec/EbModeDecisionProcess.c:232
SvtMalloc[info]: (13.01 MB): /usr/src/debug/svt-av1/SVT-AV1/Source/Lib/Encoder/Codec/EbPictureControlSet.c:488
[out#0/rtsp @ 0x5639b4d22180] Could not write header (incorrect codec parameters ?): Server returned 400 Bad Request
[vost#0:0/libsvtav1 @ 0x5639b4d99040] Error initializing output stream:
SvtMalloc[info]: you have no memory leak
Conversion failed!

Hello, FFmpeg doesn't support publishing AV1 with RTSP yet. Open an issue in the FFmpeg bug tracker.

Hello
I tried publishing to rtsp with gstreamer and i can't make it work. I have gst 1.22 with the rs av1 plugin. (Latest Mediamtx )
Ive created few av1 files with ffmpeg with different params, like short gop, fast decode, yuv420p.
Then, I send to media mtx using:
Gst-launch-1.0 filesrc location=test.mp4 ! qtdemux ! av1parse ! rtspclientsink location=rtsp://<IP_ADDRESS>:8554/test
It connects well, preroll,playing and so on.
Mediamtx logs also ok, saying AV1 stream is published to my path.
When I try to connect to the rtsp address using latest vlc, latest ffplay or gstreamer, I can't get a picture.
I wonder what am I doing wrong?
The only thing I can think of is that the encoded file isn't good for streaming, do you maybe have an example for a working ffmpeg/gstreamer line to create a streamable av1 file? I tried many, all with same results.
I'm also sending the stream to chrome using webrtcbin, which gets the av1 stream and packets, but show nothing.
Any help will be very appreciated

@RobotnickIsrael  here's a tested GStreamer pipeline that shows how to encode a stream in AV1 and sent it with RTSP to the server:
gst-launch-1.0 videotestsrc ! video/x-raw,width=1920,height=1080,format=I420 ! svtav1enc target-bitrate=3000 max-bitrate=3000 preset=8 ! av1parse ! rtspclientsink location=rtspclientsink location=rtsp://localhost:8554/stream

@RobotnickIsrael i tested the commands you provided and in my case everything worked perfectly.
First i encoded 40 seconds of a test stream with FFmpeg:
ffmpeg -re -f lavfi -i testsrc=size=1920x1080:rate=30 -pix_fmt yuv420p -c:v libsvtav1 -preset 8 -pix_fmt yuv420p -filter:v fps=30 -g 90 -svtav1-params fast-decode=1:tune=1:tbr=3000:mbr=3000:color-format=1 -an -t 00:40:00 -y av1test.mp4

Then i used GStreamer to parse the file and send its content to the server through RTSP:
gst-launch-1.0 filesrc location=av1test.mp4 ! qtdemux ! av1parse ! rtspclientsink location=rtsp://localhost:8554/stream

result:
2024/04/25 13:48:44 INF [RTSP] [conn [::1]:44124] opened
2024/04/25 13:48:44 INF [RTSP] [session ba53aa64] created by [::1]:44124
2024/04/25 13:48:45 INF [RTSP] [session ba53aa64] is publishing to path 'stream', 1 track (AV1)
2024/04/25 13:48:55 INF [WebRTC] [session 8071b80b] created by [::1]:42080
2024/04/25 13:48:55 INF [WebRTC] [session 8071b80b] peer connection established, local candidate: host/udp/<IP_ADDRESS>/8189, remote candidate: host/udp/<IP_ADDRESS>/55678
2024/04/25 13:48:55 INF [WebRTC] [session 8071b80b] is reading from path 'stream', 1 track (AV1)

Make sure that the versions of FFmpeg and GStreamer you're using are both up to date. I used GStreamer 1.24.2, built from source:
root@alen:/gst-plugins-rs# gst-launch-1.0 --version
gst-launch-1.0 version 1.24.2
GStreamer 1.24.2
Unknown package origin

and FFmpeg 5.1, built from source:
ale@alen:~/dev/builder-gstreamer$ ffmpeg
ffmpeg version 5.1.git Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)

IMHO ready-to-use packages of GStreamer and FFmpeg cannot be trusted since AV1 is too cutting edge.
If you still have problems, this is  an issue that is not related in any way to the server, so you can move the discussion into the community / mailing list of GStreamer or FFmpeg.


Updated LATEST_TRAINING_DATA_FORMAT_VERSION to 3.2

Without this, training data with version 3.2 couldn't be used with Rasa 3.2.x
Proposed changes:

Set LATEST_TRAINING_DATA_FORMAT_VERSION  to "3.2"

Status (please check what you already did):

[x] added some tests for the functionality
[x] updated the documentation
[x] updated the changelog (please check changelog for instructions)
[x] reformat files using black (please check Readme for instructions)

@Maxinho96 We don't maintain the training data format synched with the rasa-oss release version, therefore this change is not necessary. See more info in this paragraph here. If you've encountered an issue with the training data format please submit a ticket with a description of your problem.

Got it, I was assuming that they were supposed to be in sync, sorry for opening this.


the API ingredient list

The return from the API is in a text format and will need to be parsed.
ex: 1 tablespoon olive oil
from the looks of it we will need to
find the first space
look to the left if this is a number then that is your amount
remove that substring ie "1 " that leave us with
tablespoon olive oil
so find the first space in this string and take everything to the left
in this case "tablespoon" we will have to check this against a list of units if its a unit great
take this off the string
leaving us with olive oil
then anything left will be our ingredient
if the second substring is not a unit then we will keep everything as the ingredient
so in the example of 6 large eggs
first pass we get amount as 6
second pass we get large but this is not a unit so everything left large egg is our ingredient

I checked in a version with a parsing function. Its Ok could use some fine tuning but it works in most cases still have testing to do

I'm going to hold off on a pull request until we see if we need any changes with a new api

This is no longer needed with the spoonacular API. i have removed it and updated the code in list-save.js


Handle unstructured field with UTF-7 encoded-word

Attempting to parse an email with the following header:
References: =?utf-7?B?PDEyMzRAdGVzdC5saW5kc2Fhci5uZXQ+?=

Will cause an error: Encoding::ConverterNotFoundError: code converter not found (UTF-7 to UTF-8).
This can be fixed by checking for UTF-7 within the b_value_decode method and using Net::IMAP to decode the string first.

I'm not sure when it was fixed, but this appears to work on v2.6.3. It still gives a warning, but otherwise seems like this PR could be closed?
::Mail::Encodings.value_decode("=?utf-7?B?PDEyMzRAdGVzdC5saW5kc2Fhci5uZXQ+?=")
# Encoding conversion failed code converter not found (UTF-7 to UTF-8)
<EMAIL_ADDRESS>


Really fix all valid JSON cases.

Sorry for the last fix that broke other case.
This should cover everything correctly now.

Thanks!!!


[Fix]Should non-standard query by methods be supported by user defined repositories

Changes:

https://github.com/jakartaee/data/issues/412

This looks good. We'll also need to update a few TCK tests to match, but that can be a separate pull.

Let me try to fix it at the same PR.


Error getting user: { message: 'Invalid Refresh Token', status: 400 }

Hi! I'm building a Next.js app using the help of this library.
From time to time I'm seeing the following error in my logs:
Error getting user: { message: 'Invalid Refresh Token', status: 400 }

I'm relatively new to supabase, I don't really understand why this is happening. I see this error from time to time in my local development logs, and in the logs of my app deployed on Vercel.
Can you help me figure out why this is happening, and what can I do to resolve it?

Has this been resolved now? also, it seems this isn't related to this repo but to your general supabase setup, am I correct in assuming this?

I'm also running into this error, although I'm just beginning to investigate this. For me, it can be reproduced by logging in using the basic
const { error } = await supabaseClient.auth.signIn({ email, password });

and then leaving the page open for around an hour, and when I hot reload it throws this error. Sometimes it's fixed by hard refreshing the page, while sometimes I have to sign out and sign back in. In my UserProvider I do have autoRefreshToken set to true. I'm not doing much else other than basic database calls, so I'm not quite sure what is causing this at the moment.

Duplicate of #171


CTC loss

CTC as described in this paper: http://www.cs.toronto.edu/~graves/icml_2006.pdf

support gpu？

I will add GPU support, likely by calling CuDNN's CTC function.. .but I gotta merge this one first

I will add GPU support, likely by calling CuDNN's CTC function.. .but I gotta merge this one first

Awesome， If there is a GPU implementation, I plan to write an example of speech recognition


#9486: Merge CCL line_all_gather to TTNN

Ticket
#9486
Problem description
CCL ops needs to be merged to TTNN
What's changed
Merge CCL line_all_gather to TTNN
Checklist

[x] Post commit CI passes
[x] Model regression CI testing passes (if applicable)
[x] New/Existing tests provide coverage for changes

Where is the code to register the op?

I see it... please ignore.

Can we move the unit test to ttnn unit tests?

Hey Eyon, which unit tests are you referring to here? Are you referring to the pytest (test_all_gather.py) or the ccl gtests?
If the former, I agree - we should move them to the appropriate place in the new folder structure (Is that in tests/ttnn/unit_tests/operations/?)
If the latter, those tests are op independent and (generally) need to be moved as well, along with gtests. I'm thinking we can make that a separate task to do that move when, or after, the last ccl op is migrated (looks like it'll be reduce scatter).

Hi @eyonland @SeanNijjar , I have moved the pytest from tt eager to ttnn (tests/ttnn/unit_tests/operations), and during merging of next op (ie. reduce scatter), i will move the gtest to the TTNN

Can you make sure this https://github.com/tenstorrent/tt-metal/actions/workflows/t3000-profiler-tests.yaml passes

Can you make sure this https://github.com/tenstorrent/tt-metal/actions/workflows/t3000-profiler-tests.yaml passes

It will also be easier if the pipeline runs are linked to here as well (either as a comment or in the PR description

@Aswinmcw if you can resolve the conflict, then I  can approve this pending successful runs of the listed pipelines. I think @eyonland's comment is addressed now too.

Undo test case disables.

@SeanNijjar I am getting the same error for the disabled cases as they mentioned in the issue #10086 , can i enable those cases for now?

Undo test case disables.

@SeanNijjar I am getting the same error for the disabled cases as they mentioned in the issue #10086 , can i enable those cases for now?

Yes. None of the tests should be disabled. I was only seeing one of the all-gather post commit tests fail on main so I would only expect that one to fail in your frequent run.

@Aswinmcw, The fix for the t3000 allgather regression has been mainlined. Can you please rebase and kick off new a new t3000 frequent pipeline after the questions from @cfjchu and @ayerofieiev-tt have been addressed?

Hey @Aswinmcw, can you please also run this pipeline https://github.com/tenstorrent/tt-metal/actions/workflows/t3000-demo-tests.yaml
The pipeline itself is not green at the moment but we can make sure we aren't regressing the passing tests or causing the failing test to fail differently.

make sure new changes are tested too before merging