Middleware Ajax Request doesn't send up cookies?

Hello everyone! I'm absolutely loving using nuxtjs for my vue app. It's been awesome so far. Thanks for the hard work!
I seem to have run into a bug or maybe I'm misunderstanding how the middlewares should work. The documentation indicates that I can return a promise in a middleware.
Here's what my middleware looks like. I'm using secure cookies in my app which are not accessible via JavaScript, so, the only way to check if a user is authenticated is by hitting the server. This midleware will check the authentication using my vuex method getSignedInUser.
// Middleware
export default function({ store, redirect }) {
    // If the user is not authenticated
    console.log('is authenticated?');
    if (!store.getters.isAuthenticated) {
        if (!store.getters.hasCheckedForAuthentication) {
            return new Promise((resolve, reject) => {
                store
                    .dispatch('getSignedInUser')
                    .then(() => resolve())
                    .catch(() => redirect('/admin/login'));
            });
        } else
            return redirect('/admin/login');
    }
}

(yeah, I know I probably don't have to wrap my promise in another promise–was trying to debug)
The ajax request is super simple. I use axios with withCredentials: true.
// Get Signed in User
function getSignedInUser() {
    console.log('Send up ajax request');
    return axios.get('/api/v1/admin/user');
}

In the end, there's no ajax request in Chrome:

However, I know it's hitting the server, because the logs are coming through.

When I run the exact same vuex action from a vue method, it works.
isSignedIn() {
    this.$store.dispatch('getSignedInUser');
 }

So am I missing something? How can I get nuxt.js to send up the actual ajax request with the cookie during the middleware? Or should I change my strategy for authentication? I'd like to continue to use secure cookies (to protect against possible XSS attacks).
Thanks!
UPDATE: I just noticed that this issue ONLY occurs when I directly load the page with the middleware. For example, I run this middleware on the /admin page. If I directly go to localhost:3000/admin, the issue I spoke of above occurs. However, if I add a nuxt-link to my home page, linking to the /admin page and go to the page by clicking on the link, this issue doesn't occur.

Where do you use this middleware exactly? nuxt.config.js, layout or page?

On the server side, you need to give the full URL to axios because he doesn't know which host to call.

Sorry, this is a page middleware. My home page (/) does not have any middlewares. If I click on a nuxt-link to /admin from the homepage, the middleware runs properly, sending up the request with the cookie. However, if I type in localhost:3000/admin into the address bar, the middleware does not run properly (the cookie isn't sent up. it doesn't even seem to be a true ajax request).
BTW, I am giving the full url to axios. I used the nuxtjs+express template to get started:
import axios from 'axios';

let options = {
    withCredentials: true
};
// The server-side needs a full url to work
if (process.SERVER_BUILD) {
    options.baseURL = `http://${process.env.HOST || 'localhost'}:${process.env.PORT || 3000}`;
}

export default axios.create(options);

Was a fix for this made? Why was it closed?

I just ran into this same issue. Thanks @Tibfib for doing such a great job describing the scenario so I don't have to.
@alexchopin care to elaborate why this issue was closed?
@Tibfib did you find a solution for this?

@tonylampada good to hear that someone else has experienced this! It's a pretty annoying bug. I never found a solution. I had to add some code to my mounted() function that simulates the middleware. Ugly, but it kind of works :/...

Please consider that for CORS requests, API side should also accept cross origin credentials. Access-Control-Allow-Credentials Header

@pi0, yeah I don't think this has anything to do with CORS. The issue is that the middleware http request doesn't send up cookies when the page with the middleware is the first one loaded. Running the exact same request outside of a middleware works perfectly. It also works if you load a different page and then navigate to the page with the middleware.

@Tibfib if you go directly to localhost:3000/admin, the middleware is run on the server-side.
Sadly, no cookies are store on the server so the request is made without cookies in the header. It's a difficult solution when working with SSR.
One solution is to check if the user is connected via req.session directly in your middleware if req exists, if not, make the Ajax request.

@Atinux oh, that makes sense. But if I navigate from localhost:3000 to localhost:3000/admin within the app, the middleware is run client-side, right? Is this how it has to be or was it designed that way? That seems confusing :/. Could both not be client-side? or both be server-side? Could it be specified in the middleware?
Thanks for the info!

I believe this schema is the one that represents the better how middleware works in Nuxt.js:

You can use context.isServer to check it the middleware is run from server-side or client-side.

I found a workaround for this that seems pretty neat to me.
I was trying to use an auth.js middleware to save the logged user object in the store.
For that, I make an AJAX call to /api/whoami and the backend uses cookies to decide whether the user is logged or not.
So this approach has the issue described by @TibFib (things only work when the middleware is ran on the client)
middleware/auth.js
import AppApi from '~apijs'

export default function (ctx) {
    return AppApi.whoami().then((response) => {
        if(response.data.authenticated){
            ctx.store.commit('SET_LOGGED_USER', response.data.user);
        } else {
            ctx.store.commit('SET_LOGGED_USER', null);
        }
    });
}

Then I tried adding anothe middleware on nuxt.config.js, to configure axios to "forward" all headers (including cookies) to the backend:
  router: {
    middleware: ['fwdcookies', 'auth'],
  },

middleware/fwdcookies.js
import axios from '~/plugins/axios';

export default function (ctx) {
    if(ctx.isServer){
        Object.keys(ctx.req.headers).map((key)=>{
            axios.defaults.headers.common[key] = ctx.req.headers[key];
        });
    }
}

And it freaking works!
@Atinux do you foresee any problems doing that? Do you think that's a good solution?

@tonylampada this is awesome, I don't see any problem right now.
Keep in mind that if you have access to ctx, then you can check directly req.session and know it the user is connecter or not in your app :)

@tonylampada your solution is really amazing for me, thanks for save my time. But there was a small revision for my case.
When I try to fetch users' profile using axios in the server side I met such error Error: Request failed with status code 404, with a lot try I found unexpected headers param cause the issue, so I use the below code
Object.keys(ctx.req.headers).map((key)=>{
  if (key === 'cookie') {
    axios.defaults.headers.common[key] = ctx.req.headers[key];
  }
});

@tonylampada excellent work, here's my version:
control/store/index.js
import Vuex from 'vuex'

const store = () => new Vuex.Store({
  state: {
    user: null
  },
  mutations: {
    SET_USER (state, user) {
      state.user = user || null
    }
  },
  getters: {
    isAuth (state) {
      return !!state.user
    },
    getUser (state) {
      return state.user
    }
  }
})

export default store

control/middleware/cookies.js

import axios from '~/plugins/axios.js'

export default function (ctx) {
  if (ctx.isServer) {
    axios.defaults.headers.common['cookie'] = ctx.req.headers.cookie
  }
}

control/middleware/auth.js
import axios from '~/plugins/axios.js'

export default function (ctx) {
  return axios.get('/me').then((response) => {
    if (response.data.data.id) {
      ctx.store.commit('SET_USER', response.data.data)
      return true
    }
    ctx.store.commit('SET_USER', null)
  }).catch((error) => {
    ctx.redirect('/')
  })
}

@Atinux Might be pretty helpful to see this kind of example in the documentation or something similar to your auth0 example? I was really at a loss for a while until I stumbled across this issue.

@acidjazz could you try by using axios-module without using middleware/cookies.js?
This module handle credentials and it should not require any specific middleware.

@Atinux i never knew about this, glad to!

@Atinux @acidjazz @chuckyo
Please BEWARE, there's a serious security problem with my solution above!!!
I started to notice a strange behaviour in production: some users were unintentionally impersonating others - the cause was my "solution" above. I was able to track it down with some additional debug information like so:
middleware/fwdcookies.js
import axios from '~/plugins/axios';

export default function (ctx) {
    if(ctx.isServer){
        console.log('---------- fwdcookies -------------')
        console.log(axios.defaults.headers.common)
        Object.keys(ctx.req.headers).map((key)=>{
            axios.defaults.headers.common[key] = ctx.req.headers[key];
            console.log(key + ' = ' + ctx.req.headers[key]);
        });
    }
}

Then when accessing the app for the first time as an authenticated user, the output from conosle.log is:
---------- fwdcookies -------------
{ Accept: 'application/json, text/plain, */*' }
host = evolutio:3000
connection = close
cache-control = max-age=0
upgrade-insecure-requests = 1
user-agent = Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
accept = text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
accept-encoding = gzip, deflate, sdch
accept-language = en-US,en;q=0.8,pt;q=0.6
cookie = A LOT OF COOKIES HERE...;
if-none-match = W/"36022-fEPb7HVUEYdxaznhnuYioP702+s"

Then, I open a new incognito browser window (unautheticated), and the output is:
---------- fwdcookies -------------
{ Accept: 'application/json, text/plain, */*',
  host: 'evolutio:3000',
  connection: 'close',
  'cache-control': 'max-age=0',
  'upgrade-insecure-requests': '1',
  'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36',
  accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
  'accept-encoding': 'gzip, deflate, sdch',
  'accept-language': 'en-US,en;q=0.8,pt;q=0.6',
  cookie: 'A LOT OF COOKIES HERE...'
  'if-none-match': 'W/"36022-fEPb7HVUEYdxaznhnuYioP702+s"' }
host = localhost:3000
connection = keep-alive
upgrade-insecure-requests = 1
user-agent = Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
accept = text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
accept-encoding = gzip, deflate, sdch
accept-language = en-US,en;q=0.8,pt;q=0.6

As you can see, the state previously saved on axios.defaults.headers.common was preserved between calls of different users. In the unauthenticated browser window I was in fact seeing the application as a logged user (yikes!)
I'm really sorry about that. If you're using the same kind of approach, please check your code if you're vulnerable. I'll be posting a workaround for it very soon.

So, simply resetting axios.defaults.headers.common in the middleware fixes the problem above:
middleware/fwdcookies.js
import axios from '~/plugins/axios';

export default function (ctx) {
    if(ctx.isServer){
        axios.defaults.headers.common = {}
        Object.keys(ctx.req.headers).map((key)=>{
            axios.defaults.headers.common[key] = ctx.req.headers[key];
        });
    }
}

So, simply resetting axios.defaults.headers.common in the middleware fixes the problem above:

@tonylampada This is exactly what was fixed in axios module sience 4.x. Actually there are shared headers more than common too. source.
So this is why strongly suggested using provided axios-module instead of custom implementations. There may be still or future potential leaks like this to be patched for all of users.

@pi0
Absolutely. Thanks for the info

Hi,
if i have this nuxt.config.js
/*
   *  Modules
   */
  modules: [
    '@nuxtjs/axios',
  ],
  /*
  ** Plugins
  */
  plugins: '~/plugins/vendorPlugins/axios',
  /*
  ** Middleware
   */
  router: {
    middleware: ['fwdcookies', 'auth'],
  }

Then, ~/plugins/vendorPlugins/axios' :
export default function (ctx) {
}

fwdcookies middleware like this:
export default function ({req, app}) {
  if (process.server) {
    app.$axios.defaults.headers.common = {}
    Object.keys(req.headers).map((key) => {
      app.$axios.defaults.headers.common[key] = req.headers[key];
    });
  }
}

My auth middleware is:
export default async function ({ req, app, route, redirect, store, $axios }) {
  let response = await app.$axios.$get('http://<IP_ADDRESS>:3333/test')
  console.log(response)
}

Why am i getting the same error exposed above? (response is always like the user is not logged, but in mounted function is logged)
Thank you very much for your patience


configurable regular database backup

I have a suggestion for a new feature. It would be nice if I could configure a regular backup of the database to a backup volume. Currently I have to backup the database manually with the UI.

I like the idea and it is probably pretty easy to implement. What would you think is necessary to configure. The storage location, interval and the number of backups to keep?

In the meantime you can also backup the database with somethign like this:

Yeah, I think storage location, interval and number of backups to keep should be enough. In the meantime I will use the docker command.

@tillsteinbach if I run that command in a cronjob how can I then restore the database in a new install ?


Khanayan123/enable nodejs consistency test

Motivation
Enable config consistency tests for node.js
Changes
Enabled config consistency tests for node.js along with some changes to make tests follow spec

I set back this PR to draft, to unstress my notifications stack 😄 . You can set it back to normal once it;s ready for review. If you need any help, please reach me on slack.

I set back this PR to draft, to unstress my notifications stack 😄 . You can set it back to normal once it;s ready for review. If you need any help, please reach me on slack.

I think it was just test flakiness, after rerunning those tests are passing now


Like button fix

The Like button should clearly display if the itinerary is liked or not

solved in PR https://github.com/WanderWise-Inc/app/pull/179


Install fails because of local reference in package.json

Following the section: 'Developing the client' npm install was executed.  npm throw an error because a local file was not found:
npm ERR! code ENOLOCAL
npm ERR! Could not install from "../realm-object-server-graphql" as it does not contain a package.json file.

npm ERR!      /Users/oeisenhut/.npm/_logs/2018-02-23T19_58_48_012Z-debug.log

Would  like to contribute but there is no guide what to place there.

I got a similar error because I didnt have nvm node version manager installed as seems to be prefered by realm. Installing nvm fixed it but thats not something you should have to do as far as I can tell.

Sorry about that - it was a leftover from before the package was published, so I was developing both the client and the service locally. It should be fixed now.


[release-1.7] Remove DNS hacks in dns listener

This is an automated cherry-pick of #25619

@istio-testing: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test release-notes_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@googlebot I consent.

@istio-testing: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test release-notes_istio_release-1.7

unit-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test unit-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test release-notes_istio_release-1.7

unit-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test unit-tests_istio_release-1.7

integ-ipv6-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-ipv6-k8s-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test release-notes_istio_release-1.7

unit-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test unit-tests_istio_release-1.7

integ-ipv6-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-ipv6-k8s-tests_istio_release-1.7

integ-distroless-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-distroless-k8s-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-operator-controller-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-operator-controller-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test release-notes_istio_release-1.7

unit-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test unit-tests_istio_release-1.7

integ-ipv6-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-ipv6-k8s-tests_istio_release-1.7

integ-distroless-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-distroless-k8s-tests_istio_release-1.7

integ-operator-controller-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-operator-controller-tests_istio_release-1.7

integ-mixer-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-mixer-k8s-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test release-notes_istio_release-1.7

unit-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test unit-tests_istio_release-1.7

integ-ipv6-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-ipv6-k8s-tests_istio_release-1.7

integ-distroless-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-distroless-k8s-tests_istio_release-1.7

integ-operator-controller-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-operator-controller-tests_istio_release-1.7

integ-mixer-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-mixer-k8s-tests_istio_release-1.7

integ-pilot-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-pilot-k8s-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test release-notes_istio_release-1.7

unit-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test unit-tests_istio_release-1.7

integ-ipv6-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-ipv6-k8s-tests_istio_release-1.7

integ-distroless-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-distroless-k8s-tests_istio_release-1.7

integ-operator-controller-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-operator-controller-tests_istio_release-1.7

integ-mixer-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-mixer-k8s-tests_istio_release-1.7

integ-pilot-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-pilot-k8s-tests_istio_release-1.7

integ-telemetry-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-telemetry-k8s-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test release-notes_istio_release-1.7

unit-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test unit-tests_istio_release-1.7

integ-ipv6-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-ipv6-k8s-tests_istio_release-1.7

integ-distroless-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-distroless-k8s-tests_istio_release-1.7

integ-operator-controller-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-operator-controller-tests_istio_release-1.7

integ-mixer-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-mixer-k8s-tests_istio_release-1.7

integ-pilot-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-pilot-k8s-tests_istio_release-1.7

integ-telemetry-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-telemetry-k8s-tests_istio_release-1.7

integ-multicluster-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-multicluster-k8s-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test release-notes_istio_release-1.7

unit-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test unit-tests_istio_release-1.7

integ-ipv6-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-ipv6-k8s-tests_istio_release-1.7

integ-distroless-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-distroless-k8s-tests_istio_release-1.7

integ-operator-controller-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-operator-controller-tests_istio_release-1.7

integ-mixer-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-mixer-k8s-tests_istio_release-1.7

integ-pilot-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-pilot-k8s-tests_istio_release-1.7

integ-telemetry-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-telemetry-k8s-tests_istio_release-1.7

integ-multicluster-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-multicluster-k8s-tests_istio_release-1.7

integ-security-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-security-k8s-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@istio-testing: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-ipv6-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-ipv6-k8s-tests_istio_release-1.7

integ-distroless-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-distroless-k8s-tests_istio_release-1.7

integ-operator-controller-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-operator-controller-tests_istio_release-1.7

integ-mixer-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-mixer-k8s-tests_istio_release-1.7

integ-pilot-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-pilot-k8s-tests_istio_release-1.7

integ-telemetry-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-telemetry-k8s-tests_istio_release-1.7

integ-multicluster-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-multicluster-k8s-tests_istio_release-1.7

integ-security-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-security-k8s-tests_istio_release-1.7

unit-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test unit-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-ipv6-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-ipv6-k8s-tests_istio_release-1.7

integ-distroless-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-distroless-k8s-tests_istio_release-1.7

integ-mixer-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-mixer-k8s-tests_istio_release-1.7

integ-pilot-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-pilot-k8s-tests_istio_release-1.7

integ-telemetry-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-telemetry-k8s-tests_istio_release-1.7

integ-multicluster-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-multicluster-k8s-tests_istio_release-1.7

integ-security-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-security-k8s-tests_istio_release-1.7

unit-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test unit-tests_istio_release-1.7

integ-operator-controller-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-operator-controller-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-ipv6-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-ipv6-k8s-tests_istio_release-1.7

integ-mixer-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-mixer-k8s-tests_istio_release-1.7

integ-pilot-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-pilot-k8s-tests_istio_release-1.7

integ-telemetry-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-telemetry-k8s-tests_istio_release-1.7

integ-multicluster-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-multicluster-k8s-tests_istio_release-1.7

integ-security-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-security-k8s-tests_istio_release-1.7

unit-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test unit-tests_istio_release-1.7

integ-operator-controller-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-operator-controller-tests_istio_release-1.7

integ-distroless-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-distroless-k8s-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-mixer-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-mixer-k8s-tests_istio_release-1.7

integ-pilot-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-pilot-k8s-tests_istio_release-1.7

integ-telemetry-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-telemetry-k8s-tests_istio_release-1.7

integ-multicluster-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-multicluster-k8s-tests_istio_release-1.7

integ-security-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-security-k8s-tests_istio_release-1.7

unit-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test unit-tests_istio_release-1.7

integ-operator-controller-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-operator-controller-tests_istio_release-1.7

integ-distroless-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-distroless-k8s-tests_istio_release-1.7

integ-ipv6-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-ipv6-k8s-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-pilot-k8s-tests_istio_release-1.7

integ-telemetry-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-telemetry-k8s-tests_istio_release-1.7

integ-multicluster-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-multicluster-k8s-tests_istio_release-1.7

integ-security-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-security-k8s-tests_istio_release-1.7

unit-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test unit-tests_istio_release-1.7

integ-operator-controller-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-operator-controller-tests_istio_release-1.7

integ-distroless-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-distroless-k8s-tests_istio_release-1.7

integ-ipv6-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-ipv6-k8s-tests_istio_release-1.7

integ-mixer-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-mixer-k8s-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-pilot-k8s-tests_istio_release-1.7

integ-multicluster-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-multicluster-k8s-tests_istio_release-1.7

integ-security-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-security-k8s-tests_istio_release-1.7

unit-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test unit-tests_istio_release-1.7

integ-operator-controller-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-operator-controller-tests_istio_release-1.7

integ-distroless-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-distroless-k8s-tests_istio_release-1.7

integ-ipv6-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-ipv6-k8s-tests_istio_release-1.7

integ-mixer-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-mixer-k8s-tests_istio_release-1.7

integ-telemetry-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-telemetry-k8s-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-pilot-k8s-tests_istio_release-1.7

integ-security-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-security-k8s-tests_istio_release-1.7

unit-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test unit-tests_istio_release-1.7

integ-operator-controller-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-operator-controller-tests_istio_release-1.7

integ-distroless-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-distroless-k8s-tests_istio_release-1.7

integ-ipv6-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-ipv6-k8s-tests_istio_release-1.7

integ-mixer-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-mixer-k8s-tests_istio_release-1.7

integ-telemetry-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-telemetry-k8s-tests_istio_release-1.7

integ-multicluster-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-multicluster-k8s-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-security-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-security-k8s-tests_istio_release-1.7

unit-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test unit-tests_istio_release-1.7

integ-operator-controller-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-operator-controller-tests_istio_release-1.7

integ-distroless-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-distroless-k8s-tests_istio_release-1.7

integ-ipv6-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-ipv6-k8s-tests_istio_release-1.7

integ-mixer-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-mixer-k8s-tests_istio_release-1.7

integ-telemetry-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-telemetry-k8s-tests_istio_release-1.7

integ-multicluster-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-multicluster-k8s-tests_istio_release-1.7

integ-pilot-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-pilot-k8s-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test unit-tests_istio_release-1.7

integ-operator-controller-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-operator-controller-tests_istio_release-1.7

integ-distroless-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-distroless-k8s-tests_istio_release-1.7

integ-ipv6-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-ipv6-k8s-tests_istio_release-1.7

integ-mixer-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-mixer-k8s-tests_istio_release-1.7

integ-telemetry-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-telemetry-k8s-tests_istio_release-1.7

integ-multicluster-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-multicluster-k8s-tests_istio_release-1.7

integ-pilot-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-pilot-k8s-tests_istio_release-1.7

integ-security-k8s-tests_istio_release-1.7
4ff84c96a1cff26fb41d5080ce06583eb3599ac2
link
/test integ-security-k8s-tests_istio_release-1.7

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@rshriram this cherrypick looks different than the original commit. Can you please take a look?

It is.. I think the bot picked the wrong commit


Temporarily exclude JLM remote class test on AIX

As reported in https://github.com/eclipse-openj9/openj9/issues/11557, JLM remote class tests (all flavours) fail pretty consistently due to failure of STF's attempt to kill child subprocess. We need to investigate and improve the STF logic of   cleaning up child processes (especially on AIX). Until then, the targets which are consistently failing due to this are being excluded in this PR.
Signed-off-by: Mesbah-Alam<EMAIL_ADDRESS>

Changing this PR to draft as there is a fix that just got delivered. We want to monitor the builds for the next little while to check if it resolves the problem.

The related issue  is closed. We no longer need this exclude. Closing without merging.


Fmriprep 3dvolreg error in bold_t1_trans_wf.bold_reference_wf.gen_avg

What happened?
This is cross-post from NeuroStars. I repeatedly encounter this issue even when restarting fmriprep with clean working and freesurfer directories.  I've included a screenshot that demonstrates the poor alignment of my functional to anatomical data.

Singularity
Is your data BIDS valid?
Yes
Are you reusing any previously computed results?
No
Please copy and paste any relevant log output.
Inputs:

    in_file:
    mc_method: AFNI
    nonnegative: True
    t_mask:

Traceback (most recent call last):
  File "/opt/conda/lib/python3.8/site-packages/nipype/pipeline/plugins/legacymultiproc.py", line 67, in run_node
    result["result"] = node.run(updatehash=updatehash)
  File "/opt/conda/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 516, in run
    result = self._run_interface(execute=True)
  File "/opt/conda/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 635, in _run_interface
    return self._run_command(execute)
  File "/opt/conda/lib/python3.8/site-packages/nipype/pipeline/engine/nodes.py", line 741, in _run_command
    result = self._interface.run(cwd=outdir)
  File "/opt/conda/lib/python3.8/site-packages/nipype/interfaces/base/core.py", line 428, in run
    runtime = self._run_interface(runtime)
  File "/opt/conda/lib/python3.8/site-packages/niworkflows/interfaces/images.py", line 322, in _run_interface
    res = Volreg(
  File "/opt/conda/lib/python3.8/site-packages/nipype/interfaces/base/core.py", line 428, in run
    runtime = self._run_interface(runtime)
  File "/opt/conda/lib/python3.8/site-packages/nipype/interfaces/afni/base.py", line 124, in _run_interface
    return super(AFNICommandBase, self)._run_interface(
  File "/opt/conda/lib/python3.8/site-packages/nipype/interfaces/base/core.py", line 822, in _run_interface
    self.raise_exception(runtime)
  File "/opt/conda/lib/python3.8/site-packages/nipype/interfaces/base/core.py", line 749, in raise_exception
    raise RuntimeError(
RuntimeError: Command:
3dvolreg -Fourier -twopass -1Dfile vol0000_xform-00000_clipped_merged_sliced.1D -1Dmatrix_save vol0000_xform-00000_clipped_merged_sliced.aff12.1D -prefix vol0000_xform-00000_clipped_merged_sliced_volreg.nii.gz -zpad 4 -maxdisp1D vol0000_xform-00000_clipped_merged_sliced_md.1D /N/scratch/dlevitas/fmriprep-21.0.2_temp/sub-41/fmriprep_wf/single_subject_41_wf/func_preproc_task_pacpal_run_2_wf/bold_t1_trans_wf/bold_reference_wf/gen_avg/vol0000_xform-00000_clipped_merged_sliced.nii
Standard output:

Standard error:
++ 3dvolreg: AFNI version=AFNI_22.1.02 (Apr  6 2022) [64-bit]
++ Authored by: RW Cox
** AFNI converts NIFTI_datatype=4 (INT16) in file /N/scratch/dlevitas/fmriprep-21.0.2_temp/sub-41/fmriprep_wf/single_subject_41_wf/func_preproc_task_pacpal_run_2_wf/bold_t1_trans_wf/bold_reference_wf/gen_avg/vol0000_xform-00000_clipped_merged_sliced.nii to FLOAT32
     Warnings of this type will be muted for this session.
     Set AFNI_NIFTI_TYPE_WARN to YES to see them all, NO to see none.
++ Coarse del was 10, replaced with 5

Fatal Signal 11 (SIGSEGV) received
       fft_shift2
      apply_zshear
     apply_3shear
    THD_rota_vol
   mri_3dalign_one
  3dvolreg main
 Bottom of Debug Stack
** Command line was:
3dvolreg -Fourier -twopass -1Dfile vol0000_xform-00000_clipped_merged_sliced.1D -1Dmatrix_save vol0000_xform-00000_clipped_merged_sliced.aff12.1D -prefix vol0000_xform-00000_clipped_merged_sliced_volreg.nii.gz -zpad 4 -maxdisp1D vol0000_xform-00000_clipped_merged_sliced_md.1D /N/scratch/dlevitas/fmriprep-21.0.2_temp/sub-41/fmriprep_wf/single_subject_41_wf/func_preproc_task_pacpal_run_2_wf/bold_t1_trans_wf/bold_reference_wf/gen_avg/vol0000_xform-00000_clipped_merged_sliced.nii
** AFNI version = AFNI_22.1.02  Compile date = Apr  6 2022
** [[Precompiled binary linux_openmp_64: Apr  6 2022]]
** Program Death **
** If you report this crash to the AFNI message board,
** please copy the error messages EXACTLY, and give
** the command line you used to run the program, and
** any other information needed to repeat the problem.
** You may later be asked to upload data to help debug.
** Crash log is appended to file /N/u/dlevitas/Carbonate/.afni.crashlog
Return code: 1

Additional information / screenshots

This issue appears to be related to the new SDC workflow changes implemented starting fmriprep version 21. I've left a comment in #2830 since it is the core problem (SDC) I've encountered with the newer fmriprep versions. I'll therefore close this issue.


Password prompt of setup.sh email update and setup email add without immediate password argument do not escape password correctly.

Calling setup.sh email update <address> or setup.sh email add <address>, without an immediate password argument, will cause a non-echoing password prompt to be shown. However, a password that is input into that prompt is not escaped correctly.
Context
I initially added an email account by running setup.sh email add 'foo@example', which showed me a non-echoing password prompt. I typed a password that contains the "\"" sequence of characters - e.g. "foo\"bar". When I tried to login to that e-mail account, I couldn't. I thought I made a typo at the setup.sh password prompt, so I ran setup.sh email update<EMAIL_ADDRESS>without an immediate password argument. At the password prompt, I re-typed the same password, but I still couldn't login.
Expected Behavior
Be able to log with the "foo\"bar" password afterwards.
Actual Behavior
I couldn't login with "foo\"bar". I had to use "foo"bar" instead.
Suspecting that it's a string escape issue, I ran setup.sh email update<EMAIL_ADDRESS>again, but inputting "foo\\\"bar" instead this time. Then I was able to login using the "foo\"bar" password.
Possible Fix
Properly escape the input of that prompt. If that's not an option, maybe document it somewhere.

I've hit the same issue.  I'll note that escaping the backslash seemed to fix it; I didn't have to escape any other characters.  (In your example, foo\\"bar may work.)  Obligatory xkcd.

setup.sh has been reworked, though I'm not sure this issue was resolved. Could you please reach back to me with this matter @ksze or @501st-alpha1 ?

This should have been taken care of by #1601 where I refactored setup.sh. Please re-open this issue if the issue still exists,


update firmware partition with generic-extlinux-compatible

When using the aarch64 sdimage to install NixOS to a raspberry pi 3, and using u-boot with generic-extlinux-compitable bootloader module, there is no way to update the files in the firmware partition.
One possibility is using populateFirmwareCommands and run it at system activation with the firmware partition mounted.
It might also be possible to dd a fresh filesystem to the whole partition, as long as the firmwareSize matches.
CC @samueldr

Still important to me

Due to copying and pasting the configuration.nix file that was recommended in the wiki a year ago or so, I used to have both the pi loader and extlinux enabled. This caused everything to be duplicated in both partitions and some bootloader issues that really don't matter much at this point and I unknowingly carried for a while.
When upgrading to 22.05 it warned me this is not supported and I chose the u-boot path, which made me discover this quirk.
I resorted to downloading the latest sd image and manually copying all files to the FIRMWARE partition.
I think a/the intended usecase would be to mount the partition labeled FIRMWARE to /boot and re-enable the pi bootloader, like ie. you would do on Archlinuxarm or a no frills EFI system install.
I really like the u-boot + extlinux thing though, so I will do the manual update thing for a while.


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-1.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 352

Questions ?
Please refer to the Backport tool documentation


Fix monotype randbats

Oh, it's probably bad that .format is an ID in some subclasses and a format object in others. Should look into fixing.


Expose "key address" to normalization callbacks

Keys belong to various objects like step phases or fmf ids, and tmt can do better job when reporting unexpected input values. Another step is to expose the location of the key to normalization callbacks and a dedicated exception for reporting the violations in a unified manner.
The key address is already used by schema validation when reporting validation errors, and while it's often subpar, it enhances error messages a bit.
In the follow-up patches, improving the addresses will happen - for example, sometimes a class name is printed instead of a fmf node name, usually because the node name is not available.

Hi @happz, do you plan get this PR merged soon? PR https://github.com/teemtee/tmt/pull/1905 of mine has a dependency on this one, I'll update it once your PR is merged, thanks!

Hi @happz, your PR looks good to me.
And I also tested your patch by updating tmt/base.py because of PR https://github.com/teemtee/tmt/pull/1905, the test result looks good.

Patch

(tmt) huanli@kvm-01-guest01:dev$ git branch
* dev.huanli.1881.20230417
  main
  normalize-include-key-address
(tmt) huanli@kvm-01-guest01:dev$ git diff
diff --git a/tmt/base.py b/tmt/base.py
index 7347dc4..7f316a3 100644
--- a/tmt/base.py
+++ b/tmt/base.py
@@ -766,7 +766,11 @@ class Test(Core, tmt.export.Exportable['Test']):
         # TODO: mandatory schema validation would remove the need for Optional...
         # `test` is mandatory, must exist, so how to initialize if it's missing :(
         if value is None:
-            return ShellScript('')
+            raise tmt.utils.NormalizationError(key_address, value, 'string')
+
+        # Raise an error if value is not a string, e.g. False or True
+        if not isinstance(value, str):
+            raise tmt.utils.NormalizationError(key_address, value, 'string')

         return ShellScript(value)

Test result

(tmt) huanli@kvm-01-guest01:foo$ pwd
/home/huanli/dev/1001869/foo/tests/foo
(tmt) huanli@kvm-01-guest01:foo$ cat main.fmf
summary: Concise summary describing what the test does
test: false
framework: beakerlib
(tmt) huanli@kvm-01-guest01:foo$ tmt run -avvv provision -h local
/var/tmp/tmt/run-001
Found 1 plan.

/plans
summary: Basic smoke test
    discover
        how: fmf
        order: 50
        directory: /home/huanli/dev/1001869/foo
                warn: /tests/foo:test - False is not of type 'string'
    finish
        prune: Prune plan workdir '/var/tmp/tmt/run-001/plans'.
        summary: 0 tasks completed

Field "/tests/foo:test" can be string, "bool" found.
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  Looks good !!!

Fix for testing-farm:fedora-38-x86_64:internal-plugins  in progress


Added a basic hyprland/language module

Shows the current keyboard layout (like sway/language)
config:

format (duh) like "Lang: {}"
keyboard-name for specifying a keyboard to use (recommended to use the one with AT Translated set ...) -> if unset, any and all will be used.

Also allows for custom formats per-language:
"format-us": "Burger Land",
"format-de": "Germoney",
"format-it": "Mamma mia"

Waiting for NotAShelf to PR manpages.

Wiki Entry
Man Documentation (Awaiting merge)

sorry for the delay, I added the thing I was talking about above, insallah the linter wont complain. I'll tell NotAShelf.

Mashallah brother, docs coming shortly

all done

Lgtm!

@Alexays anything missing (that I can add shortly), or is this good to merge?

Any update on this?

we're waiting for Alex

LGTM thx


AdvancedTimeInput sample dont run Arduino IDE

I copied the AdvancedTimeInput sample from https://examples.blynk.cc/?board=ESP8266&shield=ESP8266 WiFi&example=Widgets%2FTimeInput%2FAdvancedTimeInput but when I try to run I get: "exit status 1
'TimeInputParam' was not declared in this scope "of the Arduino IDE.

Please consult our community forum for such questions: https://community.blynk.cc/


Added Flappy Bird

🛠 Fixes Issue (Number)
Closes #1601
👨💻 Changes proposed and Brief Description

Gameplay Mechanics: Improved for smoother experience.
Collision Detection: Enhanced for accuracy.
Code Organization: Optimized for better readability.
Performance: Boosted for seamless play.
Movement: Made bird and pipes move smoother.
Scoreboard: Implemented to track and display scores.
Scoring Mechanism: Adjusted for accurate updates.
Responsiveness: Improved overall responsiveness.
File Structure: Added Flappy Bird game folder (120).
Assets: Included a screenshot in the assets folder.
Integration: Updated game link in 30DaysOfJavaScript\script.js.
Website: Added game link to the website with a description.

✅ Check List (Check all the applicable boxes)
[X] My code doesn't break any part of the project
[X] This PR does not contain plagiarized content.
[X] My Addition/Changes works properly and matches the overall repo pattern.
[X] The title of my pull request is a short description of the requested changes.
📷 Screenshots

@AsmitaMishra24 Thank you for contributing to this repo. Looking forward for more 🚀


Bugfix/history inefficient

This solves parts of issue #1121 because the ArgoCDHistoryCard took very long to load (and sometimes didn't load at all) if an app had many revisions. Therefore I implemented the following:

Load the app details first and then lazy load all revisions
Make the number of revisions to load configurable in the app configuration

I tested this with some internal apps that nearly never loaded before and with this change it worked much better.
:heavy_check_mark: Checklist

[ ] Added tests for new functionality and regression tests for bug fixes
[x] Added changeset (run yarn changeset in the root)
[ ] Screenshots of before and after attached (for UI changes)
[x] Added or updated documentation (if applicable)

Note: I didn't add any screenshots because the UI still looks the same.

Note2: I'm not a frontend dev but I did my best :D

Hello! :)
May I ask for an Approval and Merge of this PR? :smiley:

Thank you @Xantier for merging my PR :slightly_smiling_face:
I just wanted to update the plugin in our Backstage instance and noticed that only the frontend plugin was released. The last release of the backend plugin was 11 days ago: https://www.npmjs.com/package/@roadiehq/backstage-plugin-argo-cd-backend
Did I do something wrong with the changeset? Would it be possible to also release the backend plugin to get this working? Thank you :)

Hi @KatharinaSick,
The changeset entry only indicated releasable changes on the frontend part of the plugin. If you create a PR with a changeset to the backend also, I can merge that in and get a release going

That's awesome! Thank you :)
And sorry for the mistake


What is HalfPixelScalerForNN in nearest interpolation?

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): ArchLinux
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 1.14.1-dev20190526
Python version: 3.7
Bazel version (if compiling from source): tf_env_collect.sh just crashes here

Describe the current behavior
https://github.com/tensorflow/tensorflow/blob/r1.14/tensorflow/core/kernels/resize_nearest_neighbor_op.cc#L111
I am implementing resize op for ONNX. https://github.com/onnx/onnx/pull/2057. I don't know why there is not "-0.5f" like vanilla HalfPixelScaler. The comments don't solve my concern. For example, if (static_cast<float>(x) + 0.5f) * scale equals 1.4, minus 0.5f or not will brings completely different result, no matter there is or is not std::floor.
Describe the expected behavior
I think -0.5f is more reasonable

This question is better asked on StackOverflow since it is not a bug or feature request. There is also a larger community that reads questions there.


++H.O.T-SEX~STEP]]* Sophie Rain Spiderman Leaked Video Original Tiktok

15 second ago - Sophie Rain Spiderman Video Oficial Sophie Rain Spiderman Leaked Video, How To Watch Sophie Rain Spiderman Video on Tiktok. About This Sophie Rain Spiderman Leaked Video Leaked Video Online.
🌐 Watch 🟢 ==►►🌐 CLICK HERE TO LINK
🔴 DOWNLOAD ==►►FULL VIRAL VIDEO LINK
Sophie Rain Often Explores Themes Of Friendship Courage And The Complexities Of Growing Up Her Storytelling Not Only Entertains But Also Prompts Viewers To Reflect On Their Own Experiences By Incorporating These Themes She Creates A Deeper Connection With Her Audience Encouraging Them To Engage With Her Content On A More Personal Level.

Viral X.X.X Video Here's Sophie Rain Spiderman Leaked Video Oficial on Instagram, Spider Man Videos Through Her Unique Style She Brings The Iconic Superhero To Life Captivating Audiences With Her Creative Storytelling Her Video.
Sophie Rain Spiderman Leaked Video Viral On Social Media. Sophie Rain Spiderman Leaked Video Viral On Social Media. Sophie Rain Spiderman Leaked Video Viral On Social Media.
Sophie Rain Spiderman Nude Leak Only Fans leak video. Sophie Rain Spiderman Nude Leak leaked pictures. Sophie Rain Spiderman Nude Leak explicit content leak Only Fans account breach. Only Fans data hack.
Sophie Rain Spiderman Nude Leak personal information exposed, Celebrity news outlets further spread the video across websites as fans could not get enough of watching Sophie Rain Spiderman Nude Leak in such a hilarious and eye-catching viral moment.
Discussion over the viral Sophie Rain Spiderman Nude Leak video showing the star candidly dealing with sudden wardrobe issues dominated pop culture chatter online.
Sophie Rain Spiderman Video Oficial Sophie Rain Spiderman Leaked Video, How To Watch Sophie Rain Spiderman Video on Tiktok. About This Sophie Rain Spiderman Leaked Video Leaked Video Online.
 Sophie Rain Spiderman Nude Leak leaked pictures. Sophie Rain Spiderman Nude Leak explicit content leak Only Fans account breach Only Fans data hack.

Viral X.X.X Video Here's Sophie Rain Spiderman Leaked Video Oficial on Instagram, Spider Man Videos Through Her Unique Style She Brings The Iconic Superhero To Life Captivating Audiences With Her Creative Storytelling Her Video.
Sophie Rain Spiderman Leaked Video Viral On Social Media. Sophie Rain Spiderman Leaked Video Viral On Social Media. Sophie Rain Spiderman Leaked Video Viral On Social Media.
Sophie Rain Spiderman Nude Leak Only Fans leak video. Sophie Rain Spiderman Nude Leak leaked pictures. Sophie Rain Spiderman Nude Leak explicit content leak Only Fans account breach. Only Fans data hack.
Sophie Rain Spiderman Nude Leak personal information exposed, Celebrity news outlets further spread the video across websites as fans could not get enough of watching Sophie Rain Spiderman Nude Leak in such a hilarious and eye-catching viral moment.
Discussion over the viral Sophie Rain Spiderman Nude Leak video showing the star candidly dealing with sudden wardrobe issues dominated pop culture chatter online.
Sophie Rain Spiderman Video Oficial Sophie Rain Spiderman Leaked Video, How To Watch Sophie Rain Spiderman Video on Tiktok. About This Sophie Rain Spiderman Leaked Video Leaked Video Online.
 Sophie Rain Spiderman Nude Leak leaked pictures.


Support tsv files produced by older snowplow versions

\cc @alexanderdean

Since upgrading snowplow, I've added fields to the event object, so Cassava's (reasonably) not able to parse the old event format.
This might be an easy fix and useful for integrating future snowplow updates since snowplow only appends entries to their events object.
Might also be a good opportunity to support supporting data in multiple events files so that they won't grow very large after a few years, for example.

snowglobe(master)$ ./dist/build/snowglobe-analysis/snowglobe-analysis --events ./data/events-pre-2015-05-20.tsv DayReport
parse error (Failed reading: conversion error: cannot unpack array of length 108 into a 108-tuple.

Hey @bamos ! All makes sense. A couple of notes from our side:

We are getting belatedly getting better (!) at versioning/documenting our enriched event model: https://github.com/snowplow/snowplow/wiki/Canonical-event-model
For now updates are append-only. However at some stage soon we will be aggressively removing fields as they migrate into dedicated JSONs with proper JSON Schemas
Some time after that, we will be wholly replacing the enriched event TSV with an Avro format

Hope that helps...


[How to create vocab.txt file]

Can you explain a method to build vocab.txt file ?

It's the same procedure as you would create a vocab file for BERT. E.g. you could use the excellent Tokenizers library from Hugging Face for that.
For my Turkish BERT model I documented the vocab generation steps, see it here.
After that, you can use this vocab for training a new model :)

thanks for your response.
Can you give me format of your "tr_final" file? Or some sample of this?

I used a sentence-segmented training corpus. That means, each line of the input file contains one sentence :)

I used a sentence-segmented training corpus. That means, each line of the input file contains one sentence :)

Is that one sentence a line thing ok? I am asking because there is an option called: blanks-separate-docs: Whether blank lines indicate document boundaries (True by default).
This sounds like you need blank lines...


Basic Auth

Describe the problem you are facing
Currently, the Resonate Server does not support authentication and authorization
Describe the solution you'd like
Add Basic Auth for authentication for the Resonate's http api
Additional context
This is a first step towards a mature authentication and authorization system. The design of the authentication and authorization system will be discussed in a separate issue

Resonate uses the gin web framework so we can use the gin Basic Auth middleware. E.g.
// Apply Basic Auth middleware conditionally
    authorized := r.Group("/")
    // username password pairs could also be a list to configure multiple accounts
    if config.AuthUsername != "" && config.AuthPassword != "" {
        accounts := gin.Accounts{
            config.AuthUsername: config.AuthPassword,
        }
        basicAuthMiddleware := gin.BasicAuth(accounts)
        authorized.Use(basicAuthMiddleware)
    }

    // Promises API
    authorized.POST("/promises", s.createPromise)
    authorized.GET("/promises", s.searchPromises)
    authorized.GET("/promises/*id", s.readPromise)
    authorized.PATCH("/promises/*id", s.completePromise)

See source file
In subsequent iterations, we need to design how to attach authenticated user information to our api requests.

Additional information

Every API endpoint is registered on the authorized group

Config needs to be extended to contain AuthUsername and AuthPassword (if we only care about single user) or a list of Username Password pairs (if we want to support multiple users)

Username and password can be configured via config file or via cobra command line arguments

Hi, is this issue already assigned to someone?

@dtornow requesting your review on https://github.com/resonatehq/resonate/pull/333


added instructions for Ubuntu installation

Installation with the instructions on the installation page proved a bit frustrating, as torch-sparse, torch-geometric in the form as listed in the installation guide led to segmentation faults with the newest cuda version.
A new installation path for these is available from the new pytorch-geometric site, here.
This worked smoothly for ubuntu.

Wonderful! Thank you for your contribution 🤩


Validate a samplesheet automatically from a schema file

close #19
This PR adds the automatic validation of a sample sheet (or any file provided through a parameter) which has a schema field in the parameters JSON Schema.
It also replaces the prefix "Sample" in sample sheet validation errors by "Row" to make it more general for all kinds of pipelines.
Example output of a sample sheet validation with errors:
ERROR ~ ERROR: Validation of 'input' file failed!

 -- Check '.nextflow.log' file for details
The following errors have been detected:

* -- Entry 1 - number: expected type: Number, found: String (string)
* -- Entry 1 - boolean: expected type: Boolean, found: String (20)
* -- Entry 1 - file: string [non_existing_file.tsv] does not match pattern ^.*\.txt$ (non_existing_file.tsv)
* -- Entry 1 - file: the file 'non_existing_file.tsv' does not exist (non_existing_file.tsv)
* -- Entry 1 - directory: the directory 'non_exsiting_folder' does not exist (non_exsiting_folder)
* -- Entry 2: Missing required value: string
* -- Entry 2: Missing required value: number
* -- Entry 2: Missing required value: boolean
* -- Entry 3 - metaBoolean: expected type: Boolean, found: String (3333)
* -- Entry 3 - metaInteger: expected type: Integer, found: String (false)

Ah you are right, I like Entry more :)

* Missing required value: string

Any reason this doesn't have a line number? I think people are going to struggle to know what to do with this..

Any reason this doesn't have a line number?

The validation library reports the line number together with the header name for the other errors, but for this one it only reports the name, so I can't obtain the line number from this output :(

The validation library reports the line number together with the header name for the other errors, but for this one it only reports the name, so I can't obtain the line number from this output :(

Actually, I investigated a bit further, and I think I can obtain the line number. I will give it a try!

Great! Much better!
* -- Entry 1: Missing required value: string

Next question :trollface: Is it possible to get the column that is missing the required value? 🥺

It already does that :). The column is called string in that test 😁

Ahhh, hooray! Great 😀

I understand the confusion in this case 😁

Ok, requests getting more nitty gritty now:
* -- Row 0 - directory: the directory 'non_exsiting_folder' does not exist (non_exsiting_folder)
* -- Entry 1: Missing required value: string

I assume that everything is Entry now and that this GitHub comment is just partially updated?
Can we make the numbering start at 1, instead of 0?

The comment is now updated. And entry numbers start at 1

Hello!
I was thinking on the best way to deal with the sample sheet schema. I think that using the file provided in the parameters schema will add more code to the pipeline main.nf which is tedious.
I also realized that validateAndConvertSamplesheet() doesn't use the json schema validation, so I removed the whole code for that.
I updated the documentation accordingly, moving the definition of formats to the main README and using params.input instead of a file name in all examples.
I didn't change the name of the function, as I think we can still consider it validates a sample sheet.
What do you think?

According to our last discussions, I made the following changes:

rename validateAndConvertSamplesheet() to fromSamplesheet().
When creating a channel from a samplesheet, the validation is repeated.
Added debug messages to allow tracking of validation time.
Added a default path for a samplesheet schema -> 'assets/schema_input.json'

Added a default path for a samplesheet schema -> 'assets/schema_input.json'

I thought we were taking this path from the info supplied in nextflow_schema.json for the supplied parameter name, no?
I'm not sure that it makes so much sense to have a default path for the sample sheet schema (parameters schema yes, but sample sheet stuff is likely to be more variable).

I missed that, solved now :)


docs: update usage

This should likely be taken out of the repository root and shifted under our documentation site anyway.
Thoughts, @tbnritzdoge and @Vetlix?

This should likely be taken out of the repository root and shifted under our documentation site anyway.
Thoughts, @tbnritzdoge and @Vetlix?

I personally like having everything in one repo but it's not a bad idea to separate the docs.

This should likely be taken out of the repository root and shifted under our documentation site anyway.
Thoughts, @tbnritzdoge and @Vetlix?

Seems like a decent idea to me

I personally like having everything in one repo but it's not a bad idea to separate the docs.

Our docs site is under the same repo. We would simply be taking USAGE.md out of the repository root and bundling it under our versioned documentation at <root>/docs instead.

I personally like having everything in one repo but it's not a bad idea to separate the docs.

Our docs site is under the same repo. We would simply be taking USAGE.md out of the repository root and bundling it under our versioned documentation at <root>/docs instead.

Ah yes, that seems like a good idea. Sorry for misreading

@Vetlix enable maintainer edits if it isn't already, it won't let me checkout your PR for some reason.

@Vetlix enable maintainer edits if it isn't already, it won't let me checkout your PR for some reason.

It's already turned on, I don't usually turn it off

Apologies for the delay, I'll give this a go after our test refactoring.


rosdep: split fltk into fltk-dev and fluid

This splits the fltk rosdep key into a dev and runtime part, libfltk-dev and fluid respectively. This is to resolve https://github.com/ros-simulation/stage_ros/pull/9. I'll leave fltk for backwards compatibility.

Should we add a comment to the fltk entry to point users to the new keys?

Comment added.


132 migrate away from jest

Closes https://github.com/fastify/fastify-awilix/issues/132
I have no idea what you guys would like to have to check the coverage, so I opted for c8, requiring 0 configs files and being plug-n-play

c8 is what we (and tap) use, thank you for this PR!

Just make sure to target next
https://github.com/fastify/fastify-awilix/tree/next

Just make sure to target next
https://github.com/fastify/fastify-awilix/tree/next

uh, nice catch! just updated.
Targetting node 18 now, should we skip the jobs for node 14 an 16, being failing?

Targetting node 18 now, should we skip the jobs for node 14 an 16, being failing?

Yes, it will test for node >=18 in next, as soon as the conflicts are resolved

Targetting node 18 now, should we skip the jobs for node 14 an 16, being failing?

Yes, it will test for node >=18 in next, as soon as the conflicts are resolved

Yeah, that was my bad :)
Should be fixed now!

Hopefully the last review ;)
You forgot the most important step, removing jest
https://github.com/fastify/fastify-awilix/blob/fd7bde2bd1ba2b8cde997725586af7ce2898a2b2/package.json#L40

oh boi, I didn't forget, it got reintroduced when I merged "next" into my branch!
Good catch, and thanks :)

Thank you!


[typing] Use ParamSpec in jit annotation; bump MyPy to 1.0

This pull request would be a huge improvement for Jax users who use type checkers like MyPy or Pyright, which now support ParamSpec.
Consider:
from jax import Array, jit

@jit
def f(x: Array, y: Array) -> Array:
    pass

reveal_type(f.__call__)

Previous to this PR, users who decorate a function with jit lose all annotations of the method:
Pyright: Type of "f.__call__" is "(*args: Unknown, **kwargs: Unknown) -> Unknown"
MyPy: Revealed type is "def (*args: Any, **kwargs: Any) -> Any"

After this PR, we get:
Pyright: Type of "f.__call__" is "(x: Array, y: Array) -> Array"
MyPy: Revealed type is "def (x: Array, y: Array) -> Array"

This unblocks a lot of type checking.
Part of https://github.com/google/jax/issues/12049 cc: @jakevdp

Not sure what's going on with the type checking, but perhaps it's not running MyPy 1.0.1?
Also, I'm still working on fixing this for applying jit to methods, which currently works, but does not type check correctly.

After testing this a lot with my code, I think MyPy is still not ready to check code with complex ParamSpec usage (although Pyright is).
If we check something like this in, it may trip up MyPy quite a bit.  On the other hand, it has a the amazing effect of exposing plenty Jax type annotations that were previously hidden.  Plenty of functions in jax.numpy are stripped of perfectly good annotations by @jit.
Also, there are some limitations in Python typing wrt method decorators.  I've posted about this on typing-sig.  If people are using jit on methods, then they will get errors, and there doesn't seem to be a universal fix.
What I will do is add typed decorators to my tjax library.  Please let me know if you'd like to get this in to Jax sooner or if we should wait on it.

Thanks for looking at this! ParamSpec seems like it could be interesting; that said it still looks to be relatively unstable and probably the remarks here still apply.

Hasn't this already been discussed here: https://github.com/google/jax/issues/10311?

@JesseFarebro My mistake, I didn't find that when I searched!  MyPy has progressed since then, but maybe still not enough.

Great news: Thanks to the recently merged https://github.com/python/mypy/pull/15837, it appears that the main issue with this pull request may have been solved: https://github.com/python/mypy/issues/12169.  Also, many of the MyPy errors that may have affected its usage may have been solved: https://github.com/python/mypy/issues/11846, https://github.com/python/mypy/issues/12986, https://github.com/python/mypy/issues/14802.

We've updated mypy to 1.4.1 in the meantime, and #17147 bumps it to 1.5.0 – can you sync your PR to the current main branch?

@jakevdp Done.  FYI the MyPy pull I linked is merged, but it's not in any released MyPy yet.

@jakevdp MyPy 1.6 is out today, and it may now support using ParamSpec as in this pull request.  (See the section on ParamSpec improvements.)
Is there a process or plan for upgrading Jax to use MyPy 1.6?

As soon as the new mypy version is mirrored at https://github.com/pre-commit/mirrors-mypy, we can bump the version in the pre-commit configuration.

It looks like the update will happen automatically in about 13 hours: https://github.com/pre-commit/mirrors-mypy/blob/08cbc46b6e135adec84911b20e98e5bc52032152/.github/workflows/main.yml#L6

#18066 updates mypy to v1.6.0

Okay, I've rebased this to take advantage of the new MyPy version

Just FYI if you want to get rid of the typing_extensions dependency, one option would be to follow SPEC 0, and drop Python 3.9 (since you already support Python 3.12).  Python 3.10 has ParamSpec.

We'll drop Python 3.9 sometime after April 2024, following NEP 29.

sometime after April 2024, following NEP 29 (see

Fair enough, but isn't NEP 29 now superseded by SPEC 0?

Fair enough, but isn't NEP 29 now superseded by SPEC 0?

Not in JAX... our policy still explicitly points to NEP 29. We could have a discussion about changing that, but the discussion would have to happen.

I'm proposing switching to SPEC 0 in #18072

Well, it looks like the result of the SPEC-0 discussion is that we're going to support old Python releases for even longer than we did previously. If the current proposal goes in, we won't drop Python 3.9 until after July 2024. But for the purpose of this work, I believe we can use typing_extensions until then.

Hi @NeilGirdhar – what's the status of this? Do you want to keep pushing on this approach?

@jakevdp Yes, I'm really looking forward to something like this making it in.  I'll need to look at it tomorrow since I have plans tonight.  Were you able to update to the new MyPy?

Yes, we currently run the CI on mypy 1.6.1: https://github.com/google/jax/blob/953f4670d88d2a1c168a4ad0b44ed940f6c58829/.pre-commit-config.yaml#L29-L30

Running MyPy 1.6.1, I'm still getting a lot of bad errors:

jax/experimental/sparse/linalg.py:102: error: Argument 2 to "__call__" of "Wrapped" has incompatible type "Array"; expected "P.args"  [arg-type]
jax/experimental/sparse/linalg.py:102: error: Argument 3 to "__call__" of "Wrapped" has incompatible type "int"; expected "P.args"  [arg-type]
jax/experimental/sparse/linalg.py:102: error: Argument 4 to "__call__" of "Wrapped" has incompatible type "Array | float | None"; expected "P.args"  [arg-type]

It seems like more MyPy bugs.   PyRight seems okay with it.  I guess we'll have to wait longer?  And someone should consider submitting this bug to MyPy?

Seems like maybe a bad interaction with functools.partial?

Seems like maybe a bad interaction with functools.partial?

That makes sense.  I'll look at it as soon as I have more time.

Filed a MyPy bug https://github.com/python/mypy/issues/16404

@jakevdp I think we should wait one more release of MyPy, which should fix the above errors.  After that, although this change will not help MyPy users (the inferred type of a jit-decorated function will just be Callable), this change won't hurt, and it will help Pyright users.

@jakevdp I think we should wait one more release of MyPy

Sounds good

@jakevdp I've rebased this now.  Is there a way to get the tests to run?  https://github.com/python/mypy/issues/1484 is still unsolved, so there may only be modest gains in MyPy.

Pytype is failing with this message:
File ".../jax/_src/api.py", line 100, in <module>: argument "covariant" to TypeVar not supported yet [not-supported-yet]

Seems this is a known issue (https://github.com/google/pytype/issues/1471). Is there any way to do this kind of improvement without using covariant TypeVars?

@jakevdp

I'm going to approve and then pull it in to run internal pytype tests'

Thanks for taking the time!

Is there any way to do this kind of improvement without using covariant TypeVars?

The return type does need to be covariant.  One option is to do this in two steps.  Just keep the paramspec stuff working and not type the return type.
Another option is to see if Pytype needs the covariant marker.  I have a feeling that MyPy and Pyright will fail wihtout it.  It's funny because in Python 3.12, we won't need these markers at all as the type checker can infer them, although I think we'd have to use the new PEP 695 syntax.
Should I remove the annotations on the  return type?

I'm honestly not sure what the best fix is here.

I think maybe the discussion in https://jax.readthedocs.io/en/latest/jep/12049-type-annotations.html#avoid-unstable-typing-mechanisms is still applicable.

@jakevdp No worries.  I thought we were just waiting for MyPy.  I didn't realize that we were waiting for Pytype as well!


Linting and maintenance

just to trigger CI

@Thalhammer do you mind if I remove the vcpkg/ folder? the files are available in that repo https://github.com/microsoft/vcpkg/tree/master/ports/jwt-cpp
I do not think we need a copy.

@Thalhammer do you mind if I remove the vcpkg/ folder? the files are available in that repo https://github.com/microsoft/vcpkg/tree/master/ports/jwt-cpp
I do not think we need a copy.

@Thalhammer do you mind if I remove the vcpkg/ folder? the files are available in that repo https://github.com/microsoft/vcpkg/tree/master/ports/jwt-cpp

Naww I dont care.

@Thalhammer do you mind if I remove the vcpkg/ folder? the files are available in that repo https://github.com/microsoft/vcpkg/tree/master/ports/jwt-cpp

Naww I dont care.

Logo Idea
Blend of JWT and C++

Logo Idea
Blend of JWT and C++

Logo Idea

Pretty cool, but I would make the "++" a bit finer (similar to the thickness of the remaining font).

Logo Idea

Pretty cool, but I would make the "++" a bit finer (similar to the thickness of the remaining font).


[WIP] Initial draft of observation

This is an initial draft of the observation feature. It includes an implementation of the Observation module and associated protocols and utility types. This does not yet include the macro synthesis and may have some alterations incoming to the final iterations with regards to member key path calculation and default observation transaction models.

@swift-ci please build toolchain

@swift-ci please build toolchain

@swift-ci please build toolchain

The ThreadLocal.cpp file seems to duplicate a lot of what's already done for you in swift/Threading/ThreadLocalStorage.h. I wonder if it could be written using the support that's in that header instead? You'd want to add observation_tracking and observation_transaction to swift/Threading/TLSKeys.h and also to the tls_get_key() function in swift/Threading/Impl/Darwin.h, and then you could just declare two variables, ala:
static SWIFT_THREAD_LOCAL_TYPE(void *, tls_key::observation_tracking) observationTracking;
static SWIFT_THREAD_LOCAL_TYPE(void *, tls_key::observation_transaction) observationTransaction;

and do what you will with them.

@swift-ci please smoke test

@swift-ci please build toolchain

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please build macOS toolchain

@swift-ci please build toolchain macosx

@swift-ci please build toolchain macosx

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please build toolchain macosx

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test and merge

@swift-ci please smoke test and merge

@swift-ci please smoke test and merge

@swift-ci please smoke test and merge

@swift-ci please smoke test and merge


Add feature: WIP limits

Doing Kanban without WIP limits isn't easy. Please add WIP limits, it's really essential.
This app is really good, but would be more even more professional/useful with WIP limits.

@denisz1
Please describe step by step how it would work and what is should look like.
Or link to webpage with complete description.

@xet7 "WIP limits" are central part of LEAN process - a team doing LEAN (or Kanban etc.) needs them. Otherwise kanban board is just a pretty thing without real management power.
Very good info is many explanation videos on YouTube.
This one is very good, I linked to the exact time 28:12 in the video.
Short one
There are plenty of explanations. Just search "kanban wip limits", and maybe:
JIRA has it
More
More

Moved to https://github.com/wekan/wekan/issues/783

@xet7 Are we moving back to the main project? I thought it was "dead".

@denisz1 Yes we are moving. I'm maintainer of Wekan now, see readme at https://github.com/wekan/wekan

@xet7 Congrats Lauri... You work hard to keep it alive! Also is better name "Wekan" to "Wefork"! One sounds like Kanban and other sounds like lunch.
Maybe in some point in near future we even have WIP limits, I hope. 😄


Support for Multiple polygons on a track

Support for placing multiple polygons into a single track.

@BryonLewis do you remember if someone asked for this specifically? Could you fill out the description with a bit more detail about motivation and approach; alternatively, please close if this is no longer relevant.

This has been an ask from Matt for NOAA.
In implementation for the UI you need to introduce a key system to the polygon editor so it knows which polygon you are currently editing.  That way you can switch between adding new points to one polygon vs another.
I believe that we can use the existing geoJSON key system to include multiple polygons in the current track.JSON format.
This may bring out another question related to implementing 'holes' in polygons and a UI for doing that as well.


EfficientNetB0 compiler Model not quantized

I use EfficientNetB0 in jupyter notebook to transfer learning.Then use tensorflow to train and quantize to convert to INT8.
After the quantization is completed, the compilation starts, but there is no quantization problem.
My Version: ubuntu 18.04
Edge TPU Compiler version 14.1.317412892
python 3.6
tf-nightly-gpu           2.4.0.dev20200811
Keras                    2.3.1
My model: https://drive.google.com/file/d/1dceGKCTualI7f-JWMV5Zj-DeAhNq_xM7/view?usp=sharing
My code:
Mycode.zip
error:
must@must-HP-Z440-Workstation:~/下載/generater/model/save_model/efficientnet$ edgetpu_compiler 224_io.tflite
Edge TPU Compiler version 14.1.317412892
Invalid model: 224_io.tflite
Model not quantized

@LINYOUWEI0804 Hi!
Can you try adding this line?
converter.optimizations = [tf.lite.Optimize.DEFAULT]

that should force the tflite converter to apply quantization and fails if it's unable to

If that doesn't work out, could you try the official tensorflow efficientnet instead?
https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet/edgetpu

Thanks for your reply!
I have this line already in line 36 of the program.
The official tensorflow efficientnet seems to be the teaching of Cloud TPUs, but I run it on jupyter notebook

@LINYOUWEI0804 Hi again!
I see, sorry I didn't catch that, I think it's because it's in a separate cell!
I know that previously the efficientnet-edgetpu models were released with tf1.15.3, I'm not 100% sure how different it is when you use tf2.x. However, there is one thing that could definitely cause this issue, see with keras from tensorflow2.x, the batchsize is not set by default, you can see it in the model summary: (None, 224, 224, 3)
Could you try setting the batchsize to 1 before quantizing it?
model.input.set_shape((1,) + model.input.shape[1:])
model.input.shape
converter = tf.lite.TFLiteConverter.from_keras_model(model)

@LINYOUWEI0804 okay, had a little time today so I reproduced this notebook which is very similar to yours minus a few extra parameters you had that I didn't look into. Model evaluation and compiled just fine with the fix I mentioned above, you can follow this to customize your model:
https://colab.research.google.com/drive/1TicOJZGtt-oqmxmo84Dn8HKrwdwJiada?usp=sharing
Cheers

According to the notebook quantitative model, it can be successfully compiled as a result, thank you very much for your help!!

No problems!

Hello, this is the model I recently trained. After quantification, the size should be 1/4 smaller, but mine is 1/10 smaller. Is this normal?


"No available channels to watch."

Just realized that there was a dev-build available and tried it out. Seems to be working now. I apologize for not being thorough with this issue and looking deeper. Thank you nonetheless and for this app!