[Bug]: middleware on dynamic routes (deployed)

Summary
I'm using next middleware for A/B testing (by generating a cookie and rewrite to another URL depending on that cookie), but when using dynamic routes, I'm getting odd behavior. When I delete the cookie and revisit the page, the cookie is no longer generated. I've been able to reproduce the issue here with this site I made abtest-middleware.netlify.app. It compares the standard routing and dynamic behaviors.
Hopefully the repro site explains the issue well enough.
Works fine locally!
Steps to reproduce

Go to "/dynamic-routes"
Click "product-1" link
Observe cookie abstest-dynamic generated
Delete cookie
Refresh the page, navigate away and back to "product-1"
Observe no cookie is generated

Compare behavior to "/standard-routes"
A link to a reproduction repository
https://github.com/JohnGemstone/abtest-netlify-next
Plugin version
v4.2.1
More information about your build

[ ] I am building using the CLI
[ ] I am building using file-based configuration (netlify.toml)

What OS are you using?
Windows
Your netlify.toml file
No response
Your public/_redirects file
No response
Your next.config.js file

`next.config.js`
module.exports = {
  reactStrictMode: true,
}

Builds logs (or link to your logs)

Build logs
6:30:55 PM: Build ready to start
6:30:57 PM: build-image version: 122b31996ccaffd45d820a452d6227f8312110cc (focal)
6:30:57 PM: build-image tag: v4.5.3
6:30:57 PM: buildbot version: 44e4d661fad7f5ef0b9bffed6dfdedaa2c1ad008
6:30:57 PM: Fetching cached dependencies
6:30:58 PM: Starting to download cache of 158.3MB
6:30:58 PM: Finished downloading cache in 847.569167ms
6:30:58 PM: Starting to extract cache
6:31:03 PM: Finished extracting cache in 5.119017987s
6:31:03 PM: Finished fetching cache in 5.994004063s
6:31:03 PM: Starting to prepare the repo for build
6:31:04 PM: Preparing Git Reference refs/heads/main
6:31:04 PM: Parsing package.json dependencies
6:31:05 PM: Starting build script
6:31:05 PM: Installing dependencies
6:31:05 PM: Python version set to 2.7
6:31:05 PM: Started restoring cached node version
6:31:07 PM: Finished restoring cached node version
6:31:07 PM: v16.13.2 is already installed.
6:31:08 PM: Now using node v16.13.2 (npm v8.1.2)
6:31:08 PM: Started restoring cached build plugins
6:31:08 PM: Finished restoring cached build plugins
6:31:08 PM: Attempting ruby version 2.7.2, read from environment
6:31:09 PM: Using ruby version 2.7.2
6:31:09 PM: Using PHP version 8.0
6:31:09 PM: Started restoring cached node modules
6:31:09 PM: Finished restoring cached node modules
6:31:10 PM: Started restoring cached go cache
6:31:10 PM: Finished restoring cached go cache
6:31:10 PM: go version go1.16.5 linux/amd64
6:31:10 PM: go version go1.16.5 linux/amd64
6:31:10 PM: Installing missing commands
6:31:10 PM: Verify run directory
6:31:11 PM:
6:31:11 PM: ────────────────────────────────────────────────────────────────
6:31:11 PM:   Netlify Build
6:31:11 PM: ────────────────────────────────────────────────────────────────
6:31:11 PM:
6:31:11 PM: ❯ Version
6:31:11 PM:   @netlify/build 26.1.7
6:31:11 PM:
6:31:11 PM: ❯ Flags
6:31:11 PM:   baseRelDir: true
6:31:11 PM:   buildId: 61f1935e667774f72513d218
6:31:11 PM:   deployId: 61f1935e667774f72513d21a
6:31:11 PM:
6:31:11 PM: ❯ Current directory
6:31:11 PM:   /opt/build/repo
6:31:11 PM:
6:31:11 PM: ❯ Config file
6:31:11 PM:   No config file was defined: using default values.
6:31:11 PM:
6:31:11 PM: ❯ Context
6:31:11 PM:   production
6:31:12 PM:
6:31:12 PM: ❯ Installing plugins
6:31:12 PM:    -<EMAIL_ADDRESS>6:31:13 PM:
6:31:13 PM: ❯ Loading plugins
6:31:13 PM:    -<EMAIL_ADDRESS>from Netlify app
6:31:15 PM:
6:31:15 PM: ────────────────────────────────────────────────────────────────
6:31:15 PM:   1. @netlify/plugin-nextjs (onPreBuild event)
6:31:15 PM: ────────────────────────────────────────────────────────────────
6:31:15 PM:
6:31:15 PM: Next.js cache restored.
6:31:15 PM: Netlify configuration property "build.environment.NEXT_PRIVATE_TARGET" value changed.
6:31:15 PM:
6:31:15 PM: (@netlify/plugin-nextjs onPreBuild completed in 95ms)
6:31:15 PM:
6:31:15 PM: ────────────────────────────────────────────────────────────────
6:31:15 PM:   2. Build command from Netlify app
6:31:15 PM: ────────────────────────────────────────────────────────────────
6:31:15 PM:
6:31:15 PM: $ npm run build
6:31:15 PM: ><EMAIL_ADDRESS>build
6:31:15 PM: > next build
6:31:16 PM: info  - Checking validity of types...
6:31:16 PM: warn  - No ESLint configuration detected. Run next lint to begin setup
6:31:16 PM: info  - Creating an optimized production build...
6:31:16 PM: warn  - using beta Middleware (not covered by semver) - https://nextjs.org/docs/messages/beta-middleware
6:31:19 PM: info  - Compiled successfully
6:31:19 PM: info  - Collecting page data...
6:31:20 PM: info  - Generating static pages (0/15)
6:31:20 PM: info  - Generating static pages (3/15)
6:31:20 PM: info  - Generating static pages (7/15)
6:31:20 PM: info  - Generating static pages (11/15)
6:31:20 PM: info  - Generating static pages (15/15)
6:31:20 PM: info  - Finalizing page optimization...
6:31:21 PM: Page                                       Size     First Load JS
6:31:21 PM: ┌ ○ /                                      2.29 kB        73.8 kB
6:31:21 PM: ├   /_app                                  0 B            71.5 kB
6:31:21 PM: ├ ○ /404                                   194 B          71.7 kB
6:31:21 PM: ├ λ /api/hello                             0 B            71.5 kB
6:31:21 PM: ├ ○ /dynamic-routes                        2.31 kB        73.8 kB
6:31:21 PM: ├ ƒ /dynamic-routes/_middleware            649 B          97.4 kB
6:31:21 PM: ├ ● /dynamic-routes/[slug]                 2.57 kB        74.1 kB
6:31:21 PM: ├   ├ /dynamic-routes/product-0
6:31:21 PM: ├   ├ /dynamic-routes/product-1
6:31:21 PM: ├   └ /dynamic-routes/product-2
6:31:21 PM: ├ ● /dynamic-routes/test/[slug]            2.56 kB          74 kB
6:31:21 PM: ├   ├ /dynamic-routes/test/product-0
6:31:21 PM: ├   ├ /dynamic-routes/test/product-1
6:31:21 PM: ├   └ /dynamic-routes/test/product-2
6:31:21 PM: ├ ○ /standard-routes                       2.3 kB         73.8 kB
6:31:21 PM: ├ ƒ /standard-routes/_middleware           647 B          97.4 kB
6:31:21 PM: ├ ○ /standard-routes/product-a             2.49 kB          74 kB
6:31:21 PM: ├ ○ /standard-routes/product-b             2.51 kB          74 kB
6:31:21 PM: ├ ○ /standard-routes/product-c             2.49 kB          74 kB
6:31:21 PM: └ ○ /standard-routes/test/product-b        2.51 kB          74 kB
6:31:21 PM: + First Load JS shared by all              71.5 kB
6:31:21 PM:   ├ chunks/framework-6e4ba497ae0c8a3f.js   42 kB
6:31:21 PM:   ├ chunks/main-7e73d61bce33e887.js        28.2 kB
6:31:21 PM:   ├ chunks/pages/_app-9cd1d19dd7237c4c.js  493 B
6:31:21 PM:   ├ chunks/webpack-514908bffb652963.js     770 B
6:31:21 PM:   └ css/db4e57db63a2a6e9.css               1.9 kB
6:31:21 PM: ƒ  (Middleware)  intercepts requests (uses _middleware)
6:31:21 PM: λ  (Server)      server-side renders at runtime (uses getInitialProps or getServerSideProps)
6:31:21 PM: ○  (Static)      automatically rendered as static HTML (uses no initial props)
6:31:21 PM: ●  (SSG)         automatically generated as static HTML + JSON (uses getStaticProps)
6:31:21 PM:
6:31:21 PM: (build.command completed in 5.7s)
6:31:21 PM:
6:31:21 PM: ────────────────────────────────────────────────────────────────
6:31:21 PM:   3. @netlify/plugin-nextjs (onBuild event)
6:31:21 PM: ────────────────────────────────────────────────────────────────
6:31:21 PM:
6:31:21 PM: Patching /opt/build/repo/node_modules/next/dist/server/next-server.js
6:31:21 PM: Moving static page files to serve from CDN...
6:31:21 PM: Moved 1 files
6:31:21 PM: Skipped moving 18 files because they match middleware, so cannot be deployed to the CDN and will be served from the origin instead.
6:31:21 PM: This is fine, but we're letting you know because it may not be what you expect.
The following middleware matched statically-rendered pages:
6:31:21 PM: - /dynamic-routes/_middleware
6:31:21 PM: - /standard-routes/_middleware
6:31:21 PM: ────────────────────────────────────────────────────────────────
6:31:21 PM: The following files matched middleware and were not moved to the CDN:
6:31:21 PM: - dynamic-routes.html
6:31:21 PM: - standard-routes.html
6:31:21 PM: - dynamic-routes/product-0.html
6:31:21 PM: - dynamic-routes/product-0.json
6:31:21 PM: - dynamic-routes/product-1.html
6:31:21 PM: - dynamic-routes/product-1.json
6:31:21 PM: - dynamic-routes/product-2.html
6:31:21 PM: - dynamic-routes/product-2.json
6:31:21 PM: - standard-routes/product-a.html
6:31:21 PM: - standard-routes/product-b.html
6:31:21 PM: - standard-routes/product-c.html
6:31:21 PM: - dynamic-routes/test/product-0.html
6:31:21 PM: - dynamic-routes/test/product-0.json
6:31:21 PM: - dynamic-routes/test/product-1.html
6:31:21 PM: - dynamic-routes/test/product-1.json
6:31:21 PM: - dynamic-routes/test/product-2.html
6:31:21 PM: - dynamic-routes/test/product-2.json
6:31:21 PM: - standard-routes/test/product-b.html
6:31:21 PM: ────────────────────────────────────────────────────────────────
6:31:21 PM: Netlify configuration property "redirects" value changed to [
6:31:21 PM:   { from: '/_next/static/*', to: '/static/:splat', status: 200 },
6:31:21 PM:   {
6:31:21 PM:     from: '/_next/image*',
6:31:21 PM:     query: { url: ':url', w: ':width', q: ':quality' },
6:31:21 PM:     to: '/_ipx/w_:width,q_:quality/:url',
6:31:21 PM:     status: 301
6:31:21 PM:   },
6:31:21 PM:   { from: '/_ipx/*', to: '/.netlify/builders/_ipx', status: 200 },
6:31:21 PM:   { from: '/cache/*', to: '/404.html', status: 404, force: true },
6:31:21 PM:   { from: '/server/*', to: '/404.html', status: 404, force: true },
6:31:21 PM:   { from: '/serverless/*', to: '/404.html', status: 404, force: true },
6:31:21 PM:   { from: '/traces', to: '/404.html', status: 404, force: true },
6:31:21 PM:   {
6:31:21 PM:     from: '/routes-manifest.json',
6:31:21 PM:     to: '/404.html',
6:31:21 PM:     status: 404,
6:31:21 PM:     force: true
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/build-manifest.json',
6:31:21 PM:     to: '/404.html',
6:31:21 PM:     status: 404,
6:31:21 PM:     force: true
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/prerender-manifest.json',
6:31:21 PM:     to: '/404.html',
6:31:21 PM:     status: 404,
6:31:21 PM:     force: true
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/react-loadable-manifest.json',
6:31:21 PM:     to: '/404.html',
6:31:21 PM:     status: 404,
6:31:21 PM:     force: true
6:31:21 PM:   },
6:31:21 PM:   { from: '/BUILD_ID', to: '/404.html', status: 404, force: true },
6:31:21 PM:   {
6:31:21 PM:     from: '/api',
6:31:21 PM:     to: '/.netlify/functions/___netlify-handler',
6:31:21 PM:     status: 200
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/api/*',
6:31:21 PM:     to: '/.netlify/functions/___netlify-handler',
6:31:21 PM:     status: 200
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/favicon.ico',
6:31:21 PM:     to: '/favicon.ico',
6:31:21 PM:     conditions: { Cookie: [Array] },
6:31:21 PM:     status: 200
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/vercel.svg',
6:31:21 PM:     to: '/vercel.svg',
6:31:21 PM:     conditions: { Cookie: [Array] },
6:31:21 PM:     status: 200
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/*',
6:31:21 PM:     to: '/.netlify/functions/___netlify-handler',
6:31:21 PM:     status: 200,
6:31:21 PM:     conditions: { Cookie: [Array] },
6:31:21 PM:     force: true
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/_next/data/QfXkGnxehcJxNFXr5qX6B/index.json',
6:31:21 PM:     to: '/.netlify/functions/___netlify-handler',
6:31:21 PM:     status: 200,
6:31:21 PM:     force: false
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/',
6:31:21 PM:     to: '/.netlify/functions/___netlify-handler',
6:31:21 PM:     status: 200,
6:31:21 PM:     force: false
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/_next/data/QfXkGnxehcJxNFXr5qX6B/dynamic-routes.json',
6:31:21 PM:     to: '/.netlify/functions/___netlify-handler',
6:31:21 PM:     status: 200,
6:31:21 PM:     force: false
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/dynamic-routes',
6:31:21 PM:     to: '/.netlify/functions/___netlify-handler',
6:31:21 PM:     status: 200,
6:31:21 PM:     force: false
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/_next/data/QfXkGnxehcJxNFXr5qX6B/standard-routes.json',
6:31:21 PM:     to: '/.netlify/functions/___netlify-handler',
6:31:21 PM:     status: 200,
6:31:21 PM:     force: false
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/standard-routes',
6:31:21 PM:     to: '/.netlify/functions/___netlify-handler',
6:31:21 PM:     status: 200,
6:31:21 PM:     force: false
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/_next/data/QfXkGnxehcJxNFXr5qX6B/standard-routes/product-a.json',
6:31:21 PM:     to: '/.netlify/functions/___netlify-handler',
6:31:21 PM:     status: 200,
6:31:21 PM:     force: false
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/standard-routes/product-a',
6:31:21 PM:     to: '/.netlify/functions/___netlify-handler',
6:31:21 PM:     status: 200,
6:31:21 PM:     force: false
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/_next/data/QfXkGnxehcJxNFXr5qX6B/standard-routes/product-b.json',
6:31:21 PM:     to: '/.netlify/functions/___netlify-handler',
6:31:21 PM:     status: 200,
6:31:21 PM:     force: false
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/standard-routes/product-b',
6:31:21 PM:     to: '/.netlify/functions/___netlify-handler',
6:31:21 PM:     status: 200,
6:31:21 PM:     force: false
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/_next/data/QfXkGnxehcJxNFXr5qX6B/standard-routes/product-c.json',
6:31:21 PM:     to: '/.netlify/functions/___netlify-handler',
6:31:21 PM:     status: 200,
6:31:21 PM:     force: false
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/standard-routes/product-c',
6:31:21 PM:     to: '/.netlify/functions/___netlify-handler',
6:31:21 PM:     status: 200,
6:31:21 PM:     force: false
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/_next/data/QfXkGnxehcJxNFXr5qX6B/standard-routes/test/product-b.json',
6:31:21 PM:     to: '/.netlify/functions/___netlify-handler',
6:31:21 PM:     status: 200,
6:31:21 PM:     force: false
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/standard-routes/test/product-b',
6:31:21 PM:     to: '/.netlify/functions/___netlify-handler',
6:31:21 PM:     status: 200,
6:31:21 PM:     force: false
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/_next/data/QfXkGnxehcJxNFXr5qX6B/dynamic-routes/test/:slug.json',
6:31:21 PM:     to: '/.netlify/builders/___netlify-odb-handler',
6:31:21 PM:     status: 200,
6:31:21 PM:     force: false
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/dynamic-routes/test/:slug',
6:31:21 PM:     to: '/.netlify/builders/___netlify-odb-handler',
6:31:21 PM:     status: 200,
6:31:21 PM:     force: false
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/_next/data/QfXkGnxehcJxNFXr5qX6B/dynamic-routes/:slug.json',
6:31:21 PM:     to: '/.netlify/builders/___netlify-odb-handler',
6:31:21 PM:     status: 200,
6:31:21 PM:     force: false
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/dynamic-routes/:slug',
6:31:21 PM:     to: '/.netlify/builders/___netlify-odb-handler',
6:31:21 PM:     status: 200,
6:31:21 PM:     force: false
6:31:21 PM:   },
6:31:21 PM:   {
6:31:21 PM:     from: '/*',
6:31:21 PM:     to: '/.netlify/functions/___netlify-handler',
6:31:21 PM:     status: 200
6:31:21 PM:   }
6:31:21 PM: ].
6:31:21 PM:
6:31:21 PM: (@netlify/plugin-nextjs onBuild completed in 61ms)
6:31:21 PM:
6:31:21 PM: ────────────────────────────────────────────────────────────────
6:31:21 PM:   4. Functions bundling
6:31:21 PM: ────────────────────────────────────────────────────────────────
6:31:21 PM:
6:31:21 PM: Packaging Functions from .netlify/functions-internal directory:
6:31:21 PM:  - ___netlify-handler/___netlify-handler.js
6:31:21 PM:  - ___netlify-odb-handler/___netlify-odb-handler.js
6:31:21 PM:  - _ipx/_ipx.js
6:31:21 PM:
6:31:38 PM:
6:31:38 PM: (Functions bundling completed in 17.1s)
6:31:38 PM:
6:31:38 PM: ────────────────────────────────────────────────────────────────
6:31:38 PM:   5. @netlify/plugin-nextjs (onPostBuild event)
6:31:38 PM: ────────────────────────────────────────────────────────────────
6:31:38 PM:
6:31:38 PM: Next.js cache saved.
6:31:38 PM:
6:31:38 PM: (@netlify/plugin-nextjs onPostBuild completed in 72ms)
6:31:38 PM:
6:31:38 PM: ────────────────────────────────────────────────────────────────
6:31:38 PM:   6. Deploy site
6:31:38 PM: ────────────────────────────────────────────────────────────────
6:31:38 PM:
6:31:38 PM: Starting to deploy site from '.next'
6:31:38 PM: Creating deploy tree
6:31:38 PM: Creating deploy upload records
6:31:38 PM: 31 new files to upload
6:31:38 PM: 3 new functions to upload
6:31:47 PM: Site deploy was successfully initiated
6:31:47 PM:
6:31:47 PM: (Deploy site completed in 9.3s)
6:31:47 PM:
6:31:47 PM: ────────────────────────────────────────────────────────────────
6:31:47 PM:   Netlify Build Complete
6:31:47 PM: ────────────────────────────────────────────────────────────────
6:31:47 PM:
6:31:47 PM: (Netlify Build completed in 35.9s)
6:31:47 PM: Starting post processing
6:31:48 PM: Post processing - HTML
6:31:48 PM: Caching artifacts
6:31:48 PM: Started saving node modules
6:31:48 PM: Finished saving node modules
6:31:48 PM: Started saving build plugins
6:31:48 PM: Finished saving build plugins
6:31:48 PM: Started saving pip cache
6:31:48 PM: Finished saving pip cache
6:31:48 PM: Started saving emacs cask dependencies
6:31:48 PM: Finished saving emacs cask dependencies
6:31:48 PM: Started saving maven dependencies
6:31:48 PM: Finished saving maven dependencies
6:31:48 PM: Started saving boot dependencies
6:31:48 PM: Finished saving boot dependencies
6:31:48 PM: Started saving rust rustup cache
6:31:48 PM: Finished saving rust rustup cache
6:31:48 PM: Started saving go dependencies
6:31:48 PM: Finished saving go dependencies
6:31:48 PM: Build script success
6:31:49 PM: Post processing - header rules
6:31:49 PM: Post processing - redirect rules
6:31:49 PM: Post processing done
6:31:49 PM: Site is live ✨
6:32:12 PM: Finished processing build request in 1m14.544783547s

Function logs
No response
.next JSON files

generated .next JSON files
.next/required-server-files.json
{"version":1,"config":{"env":{},"webpack":null,"webpackDevMiddleware":null,"eslint":{"ignoreDuringBuilds":false},"typescript":{"ignoreBuildErrors":false,"tsconfigPath":"tsconfig.json"},"distDir":".next","cleanDistDir":true,"assetPrefix":"","configOrigin":"next.config.js","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"target":"server","poweredByHeader":true,"compress":false,"analyticsId":"","images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[16,32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","domains":[],"disableStaticImages":false,"minimumCacheTTL":60,"formats":["image/webp"]},"devIndicators":{"buildActivity":true,"buildActivityPosition":"bottom-right"},"onDemandEntries":{"maxInactiveAge":15000,"pagesBufferLength":2},"amp":{"canonicalBase":""},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"optimizeFonts":true,"excludeDefaultMomentLocales":true,"serverRuntimeConfig":{},"publicRuntimeConfig":{},"reactStrictMode":true,"httpAgentOptions":{"keepAlive":true},"outputFileTracing":true,"staticPageGenerationTimeout":60,"swcMinify":false,"experimental":{"cpus":7,"sharedPool":true,"plugins":false,"profiling":false,"isrFlushToDisk":true,"workerThreads":false,"pageEnv":false,"optimizeImages":false,"optimizeCss":false,"scrollRestoration":false,"externalDir":false,"reactRoot":false,"disableOptimizedLoading":false,"gzipSize":true,"swcFileReading":true,"craCompat":false,"esmExternals":true,"isrMemoryCacheSize":52428800,"concurrentFeatures":false,"serverComponents":false,"fullySpecified":false,"outputFileTracingRoot":"","outputStandalone":false},"configFileName":"next.config.js"},"appDir":"/opt/build/repo","files":[".next/routes-manifest.json",".next/server/pages-manifest.json",".next/build-manifest.json",".next/prerender-manifest.json",".next/server/middleware-manifest.json",".next/react-loadable-manifest.json",".next/server/font-manifest.json",".next/BUILD_ID"],"ignore":["node_modules/next/dist/compiled/@ampproject/toolbox-optimizer/**/*"]}

.next/routes-manifest.json
{"version":3,"pages404":true,"basePath":"","redirects":[{"source":"/:path+/","destination":"/:path+","internal":true,"statusCode":308,"regex":"^(?:/((?:[^/]+?)(?:/(?:[^/]+?))*))/$"}],"headers":[],"dynamicRoutes":[{"page":"/dynamic-routes/test/[slug]","regex":"^/dynamic\\-routes/test/([^/]+?)(?:/)?$","routeKeys":{"slug":"slug"},"namedRegex":"^/dynamic\\-routes/test/(?<slug>[^/]+?)(?:/)?$"},{"page":"/dynamic-routes/[slug]","regex":"^/dynamic\\-routes/([^/]+?)(?:/)?$","routeKeys":{"slug":"slug"},"namedRegex":"^/dynamic\\-routes/(?<slug>[^/]+?)(?:/)?$"}],"staticRoutes":[{"page":"/","regex":"^/(?:/)?$","routeKeys":{},"namedRegex":"^/(?:/)?$"},{"page":"/dynamic-routes","regex":"^/dynamic\\-routes(?:/)?$","routeKeys":{},"namedRegex":"^/dynamic\\-routes(?:/)?$"},{"page":"/standard-routes","regex":"^/standard\\-routes(?:/)?$","routeKeys":{},"namedRegex":"^/standard\\-routes(?:/)?$"},{"page":"/standard-routes/product-a","regex":"^/standard\\-routes/product\\-a(?:/)?$","routeKeys":{},"namedRegex":"^/standard\\-routes/product\\-a(?:/)?$"},{"page":"/standard-routes/product-b","regex":"^/standard\\-routes/product\\-b(?:/)?$","routeKeys":{},"namedRegex":"^/standard\\-routes/product\\-b(?:/)?$"},{"page":"/standard-routes/product-c","regex":"^/standard\\-routes/product\\-c(?:/)?$","routeKeys":{},"namedRegex":"^/standard\\-routes/product\\-c(?:/)?$"},{"page":"/standard-routes/test/product-b","regex":"^/standard\\-routes/test/product\\-b(?:/)?$","routeKeys":{},"namedRegex":"^/standard\\-routes/test/product\\-b(?:/)?$"}],"dataRoutes":[{"page":"/dynamic-routes/test/[slug]","routeKeys":{"slug":"slug"},"dataRouteRegex":"^/_next/data/QfXkGnxehcJxNFXr5qX6B/dynamic\\-routes/test/([^/]+?)\\.json$","namedDataRouteRegex":"^/_next/data/QfXkGnxehcJxNFXr5qX6B/dynamic\\-routes/test/(?<slug>[^/]+?)\\.json$"},{"page":"/dynamic-routes/[slug]","routeKeys":{"slug":"slug"},"dataRouteRegex":"^/_next/data/QfXkGnxehcJxNFXr5qX6B/dynamic\\-routes/([^/]+?)\\.json$","namedDataRouteRegex":"^/_next/data/QfXkGnxehcJxNFXr5qX6B/dynamic\\-routes/(?<slug>[^/]+?)\\.json$"}],"rewrites":[]}

.next/prerender-manifest.json
{"version":3,"routes":{"/dynamic-routes/product-0":{"initialRevalidateSeconds":false,"srcRoute":"/dynamic-routes/[slug]","dataRoute":"/_next/data/QfXkGnxehcJxNFXr5qX6B/dynamic-routes/product-0.json"},"/dynamic-routes/product-1":{"initialRevalidateSeconds":false,"srcRoute":"/dynamic-routes/[slug]","dataRoute":"/_next/data/QfXkGnxehcJxNFXr5qX6B/dynamic-routes/product-1.json"},"/dynamic-routes/product-2":{"initialRevalidateSeconds":false,"srcRoute":"/dynamic-routes/[slug]","dataRoute":"/_next/data/QfXkGnxehcJxNFXr5qX6B/dynamic-routes/product-2.json"},"/dynamic-routes/test/product-0":{"initialRevalidateSeconds":false,"srcRoute":"/dynamic-routes/test/[slug]","dataRoute":"/_next/data/QfXkGnxehcJxNFXr5qX6B/dynamic-routes/test/product-0.json"},"/dynamic-routes/test/product-1":{"initialRevalidateSeconds":false,"srcRoute":"/dynamic-routes/test/[slug]","dataRoute":"/_next/data/QfXkGnxehcJxNFXr5qX6B/dynamic-routes/test/product-1.json"},"/dynamic-routes/test/product-2":{"initialRevalidateSeconds":false,"srcRoute":"/dynamic-routes/test/[slug]","dataRoute":"/_next/data/QfXkGnxehcJxNFXr5qX6B/dynamic-routes/test/product-2.json"}},"dynamicRoutes":{"/dynamic-routes/[slug]":{"routeRegex":"^/dynamic\\-routes/([^/]+?)(?:/)?$","dataRoute":"/_next/data/QfXkGnxehcJxNFXr5qX6B/dynamic-routes/[slug].json","fallback":false,"dataRouteRegex":"^/_next/data/QfXkGnxehcJxNFXr5qX6B/dynamic\\-routes/([^/]+?)\\.json$"},"/dynamic-routes/test/[slug]":{"routeRegex":"^/dynamic\\-routes/test/([^/]+?)(?:/)?$","dataRoute":"/_next/data/QfXkGnxehcJxNFXr5qX6B/dynamic-routes/test/[slug].json","fallback":false,"dataRouteRegex":"^/_next/data/QfXkGnxehcJxNFXr5qX6B/dynamic\\-routes/test/([^/]+?)\\.json$"}},"notFoundRoutes":[],"preview":{"previewModeId":"0bb2028ec42375c35516c0c9a5b74e5c","previewModeSigningKey":"d6921b05d37d0177aa621e43820565de92f7a4963f8c5ca9341e0d478201c200","previewModeEncryptionKey":"3999c0787d7edf11903f21d4593aca7efcf5b8d33079f968f3e1d632b629a209"}}

I'm going to close this in favour of #1114, so please do subscribe there to keep track of this.

Thanks for the quick turn around with this @ascorbic and reviewers.
Everything works as expected now!
https://abtest-middleware.netlify.app/
Will update the issue with the old branch URL for preservation's sake.

Great! Thanks for letting us know.

Just been told that any redirects declared in netlify.toml pointing to middleware routes are throwing 404 ☠. Is the best way around this to declare them in the next.config?

Hi @JohnGemstone ,
Yes, it's best to use the Next config for that.

Hey @ascorbic, I've given it a go, and now I'm experiencing another bug. It's a bit of a narrow case but it seems like if you arrive at a middleware route from a next-rewrite, the middleware rewrite response is ignored.
I have reproduced using the example above (make sure the cookie abtest-dynamic is set to test)
https://abtest-middleware.netlify.app/product-landing

My next config
module.exports = {
  reactStrictMode: true,
  async rewrites() {
    return [
      {
        source: '/product-landing',
        destination: '/dynamic-routes/product-1',
      },
    ]
  },
}

I'll have a look to see if this can be side stepped using redirects instead, I guess part of the problem is having rewrites on rewrites!


'prettifyTitle' setting does not work as expected (or its name is misleading)

When prettifyTitle == true everything works fine. But when it's turned off I would expect the title to be equal the the project's name -- at least if there is only 1 project directory.
But instead the input is empty.
It may also be useful to specify the kind of prettification 🤔
See https://github.com/danielbrodin/atom-project-manager/blob/6b1b8350e1582355e46273308c428c5076a53d88/lib/views/EditView.js#L140-L142

Thanks! 👍


Add Dataset#load to BigQuery

Support creating, configuring and loading a table in one API call.
[closes #1528]

@AlfonsoUceda Please take a look, and let me know if you have any feedback or suggestions, thanks!

@quartzmo great PR thanks!, just a question, is there a change to pass the schema as an option instead a block? for example the following snippet:
bigquery.dataset("my_dataset").load "my_table", file, write: "truncate", schema: schema

We create schema objects #from_gapi(nil) because then we inject them in the table#load using our fork. I know #from_gapi method is private but is there a way to create schema objects from a public interface? have you though in that?

is there a change to pass the schema as an option instead a block?

No. We don't allow a schema object to be defined outside of the block syntax. For instance, there is no schema argument to Dataset#create_table.
Calling Schema#from_gapi(nil) is the private API and subject to change. You should not use it. If you want to be able to create a schema object outside of the block syntax for creating a table then that should be requested separately as it would affect more methods than Dataset#load.

@AlfonsoUceda Can you explain why you prefer to create the schema object outside of a block and pass it as an argument? This will help us justify adding a schema option as well as a (documented) way to create a new schema object.

@quartzmo we have our custom reporter component, I mean an ETL process. We have schema separated by files, every schema its class, so we can inject them in our ETL class, every ETL has a file and we define a extractor, transformer and loader (csv). When the CSV file is created then with this file and a generated schema object we inject into our bigquery loaders class to create or truncate the table.
bigquery_loader.load(file, schema: schema)

# inside `#load`
table.load file, write: 'truncate', schema: schema # this is because of our fork

This is because we can't test our schema in a separate test or because we share schemas by ETL.

@AlfonsoUceda Thank you. I will merge this PR now, and create a new issue for the schema option and schema creation.

@quartzmo thank you for your work and considering the schema option.

@AlfonsoUceda No problem!  ;)


Change the background color of generated image

Hi,
I want to change the background color of the generated chart image.
With code like this:
 chartNode.on('beforeDraw', function(ChartJs) {
   var ctx = ChartJs.Chart.ctx;
   ctx.fillStyle = "white";
   ctx.fillRect(0, 0, ChartJs.chart.width, ChartJs.chart.height);
 });

However, I did not manage to access the ctx, from the provided ChartJs.
Can it be accessed? Or is there any other way to change the background color?
Regards,
Thomas

Hi,
I'm using the following code to set the background color:
ChartJS.plugins.register({
    beforeDraw: function(chartInstance) {
      var ctx = chartInstance.chart.ctx;
      ctx.fillStyle = "white";
      ctx.fillRect(0, 0, chartInstance.chart.width, chartInstance.chart.height);
    }
});

I have a server running chartjs-node that returns charts. I'm using the code above to set the background colour, but after it has been set once in the server's lifetime, the colour remains. I have a controller where basically the following happens:
const chart = new ChartjsNode(width, height);
const config = {};

// some logic here processes request args and fills config
// most notably resulting in config.options.plugins.beforeDraw being set to:

function (instance) {
      const ctx = instance.chart.ctx;

      ctx.fillStyle = params.backgroundColor ? params.backgroundColor : transparent;
      ctx.fillRect(0, 0, instance.chart.width, instance.chart.height);
}

// then...
await chart.drawChart(configuration);

Where params.backgroundColor is an RGBA string from request, and transparant is an RGBA string for white with full transparency.
After server launch, it will be transparent if no colour is requested. Request a colour, and it works. However, if you remove the colour, it gets 'stuck'.
If I change transparent to solid white, it goes back white, but adding multiple statements to first set to solid white, then transparent white, still results in it coming back the colour from the last request that specified backgroundColour.


GitHub Enterprise web hook does support pulling history so we cannot view historical data

Hygieia is unable to pull the history of any repo through the webhook or the collector. This is a huge issue as when you first load the collectors, plugins and webhooks you can't see any data loading in the dashboard. You have to wait a while before information starts filling in.

You can run the collector and GitHub push together. After few days (say 14 days) you can stop the collector and not run anymore.

@camillone I see that you can configure webhook for a private repo on Github Enterprise environment.  I am struggling to do that with Hygiea 2.0.  Is there specific configuration needed on the Hygiea application.properties?  The Github collector is working fine.
Thank you


Implement Password Validation for Regex Pro

Password Validation for Regex Pro
Background
Password validation is a critical aspect of web application security. We want to enhance the Regex Pro project by implementing password validation using regular expressions.
Task
Your task is to implement password validation using regular expressions. Here are the requirements for this task:

Design a regular expression pattern for password validation that adheres to security best practices.
Add the regular expression in the validationForms in pages.js.

Getting Started:

Fork this repository to your GitHub account.
Create a new branch for this task.
Implement the changes as described.
Commit your changes and push them to your fork.
Open a pull request to this repository.

Password Validation Requirements

The password should be at least 8 characters long.
It should include at least one uppercase letter.
It should include at least one lowercase letter.
It should include at least one numeric digit.
It should include at least one special character (e.g., !, @, #, $, etc.).

Additional Notes

This is a "Good First Issue" suitable for contributors who are new to the project and want to get involved.
Please reach out if you have any questions or need assistance with the task.

We look forward to your contribution! 😄

Hi, can I try to solve this issue please?

Yeah, of course.


Low Training Accuracy

Hi,
I am getting very low accuracy when running training without any malicious clients. For ResNet18 for Cifar10, the accuracy peaks at about 0.25 and starts getting worse after that with increasing rounds.
I am using the same parameters as mentioned in the RoFL paper, here is my config.yml file (accuracy stays bad even when I remove clipping):
environment:
  num_clients: 100
  num_selected_clients: 40
  num_malicious_clients: 0
  experiment_name: "Sample run without attackers"

load_model: ./models/resnet18.h5

server:
  num_rounds: 20
  num_test_batches: 50
  aggregator:
    name: FedAvg
  global_learning_rate: 1

client:
  clip:
    type: l8
    value: 10
  model_name: resnet18
  benign_training:
    num_epochs: 2
    batch_size: 64
    optimizer: SGD
    learning_rate: 0.02
    step_decay: true

dataset:
  dataset: cifar10
  data_distribution: nonIID

Since the readme on the repo says that the included models are pre-trained, do you know why am I seeing such low accuracy? Here is a sample run for 2 rounds:
INFO:root:Starting training...
round= 0 	test_accuracy= 0.0859375 	adv_success= 0 	test_loss= 4.521559
DEBUG:root:Memory info:<PHONE_NUMBER>
round= 1 	test_accuracy= 0.10375 	adv_success= 0 	test_loss= 2.4279819 	duration=<PHONE_NUMBER>69574
DEBUG:root:Memory info:<PHONE_NUMBER>

For a pre-trained model, shouldn't the test_accuracy of round 0 be already good?
Thanks for the help in advance!

There was an indentation issue with the config file.

Hi, completely missed that you created an issue until now, my bad!
Glad you found the problem already!


Records showing up on records tab without division tag after deleting the division

Describe the bug in current situation
When a ministry division is deleted then the corresponding records are showing up on the records tab without division tag
Link bug to the User Story
Impact of this bug
It shows the deleted divisions records on records tab without division tag and shows corrupted file folder when downloading harms
Chance of Occurring (high/medium/low/very low)
High
Pre Conditions: which Env, any pre-requesites or assumptions to execute steps?
Test -marshal
Steps to Reproduce
Steps to reproduce the behavior:

Go to Ministry login
Go to any request and add some divisions
Upload some records for each division on records tab
Then come back to request and delete one division
Then come back to records tab and deleted division's records are still visible without division tag
6.Also when download the harms, corrupted folder is created at the user end

Actual/ observed behaviour/ results
Expected behaviour
Needs to block the deleting ability if a record is uploaded for that corresponding division on the records tab
Screenshots/ Visual Reference/ Source
If applicable, add screenshots to help explain your problem. You an use screengrab.
Records tab before deletion

Records tab for all divisions  after deleting division 'Deputy Minister's office '

Records tab for division 'Deputy Minister's Office' after it is been deleted from request

When download the harms, it shows a folder without name

@JHarrietha-AOT Please review the ticket.

@nimya-aot I touched base with Matt and Lise on Friday. So how we would want to fix this bug is as follows.

We would like for a module to appear when a user try's to delete a Ministries - this will only happen if user has assigned a divisional state, due date or other details, but NOT upload any records. It ask the user if they are sure they would like to delete the division as all data will be lost.

A different module will also appear if they have uploaded records but it will not allow them to delete the division, and will instruct the user if they would like to delete the division they must first delete all records that have been upload for this division to preserve the Records Package.

An additional thing Matt and Lise though of is that fact that divisions change names, so we want to ensure we preserve all records in the situation that the divisons name has been changed.

I will link the designs for these module before end of day, let me know if you have any questions

Fixed. Changes made to look up division from master data.

@liseandtea @m-prodan Here is what I came up with for the modules, let me know if you would like me to change the text. And I can change it when I get back later tonight
https://jacklyn808742.invisionapp.com/overview/Redaction-cla8feezv003o015h7op82c5c/screens
https://jacklyn808742.invisionapp.com/overview/Redaction-cla8feezv003o015h7op82c5c/screens

@sumathi-thirumani-aot One issue related to this, when we update a division name after uploading records corresponding to that division and try to download the harms it still shows the old division name as folder name

Notes from standup - users should not be able to delete or change a division in divisional tracking when there are records in the gathering records log tagged with that division.
Do we need a modal for when users attempt to change a division when there are records in the Gathering Records log tagged with the division? (e.g., similar to the "cannot delete this division" modal)? @JHarrietha-AOT

@JHarrietha-AOT In the UX, I believe we don't need the delete button itself. Because it will not show up if no records are associated and it is only an information message. Can you please have a look.

@JHarrietha-AOT Please let me know which option to go with.

@m-prodan @liseandtea What do you both think of just removing the delete button? It makes sense to me and as apart of training we can train this piece that you can't delete a division that has records associated with it. If it does not have any records associated with it then you get a module to ensure they don't accidentally delete it.

That's exactly what I am thinking @liseandtea so the delete button would disappear when records have been uploaded that are associated with the division. If there are no records then the delete would appear and the user would get the module ensure they wish to delete a division.
@sumathi-thirumani-aot what do you think of this solution?

@sumathi-thirumani-aot just making a note here we will switch it to one button that says okay.
For the wording my only change would be prior should have a lowecase p. and there should be a period at the end of the bottom sentence

working as expected


About "huge-apps" example

Not really related to react nor react-router, but what the purpose of:
<!doctype html public "embarassment">
in this file:
https://github.com/reactjs/react-router/blob/master/examples/huge-apps/index.html
Assigning a FPI to an html5 doctype is not valid right ?

@ryanflorence Any idea why that's there? You added it :P

LOL

My code is embarassing, and lots of it is public.
There are others.

Trololol

I haven't tested this, but I'd like to know which browsers get thrown into quirksmode by the invalid DTD, making this sort of a self fulfilling prophecy

It's harmless.

My code is embarassing

I'd really like to see code that isn't embarrassing, then :)


some sort of internet issue

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?
when i boot up bloxstrap it shows me:
System.Net.Http.HttpRequestException: No such host is known. (clientsettings.roblox.com:443)
[Inner Exception]
System.Net.Sockets.SocketException: No such host is known.

If it's an internet issue then I'm not sure what you want me to do about it. Ensure your internet connection is working properly..


Add support for Stash as a repository

Stash and github are largely compatible but differ in very slight ways. It would be nice if clog could generate links not only for github, but also for stash. In order to support this there should be an option to provide the flavor of repository links should be generated for.
I've implemented this in a fork and can do a pull request assuming you don't have any changes you want me to implement. My current implementation adds a new CLI parameter --repoflavor and a TOML option repo-flavor, both of which accept either "github" or "stash" as arguments (case insensitive). This new parameter controls two aspects of the changelog generation. Firstly it changes the commit links to follow the proper convention for the respective repository flavor. Secondly it changes the issue links to not be generated in the case of stash (because it doesn't have built in issue tracking). This approach is flexible and it should be relatively trivial to add support for other kinds of repository flavor down the line (bitbucket maybe?).

Go ahead and put the PR in, and if needed we can make changes from there. Ultimately @cburgdorf would make the call, but I think this would be a good addition making clog even more versatile.


fix flaky TestWorkflowRetryPolicyContinueAsNewAsCron integration test

What changed?
Made TestWorkflowRetryPolicyContinueAsNewAsCron more reliable, by getting only start workflow events with ContinueAsNewCronSchedule initiator

Why?
TestWorkflowRetryPolicyContinueAsNewAsCron was flaky

How did you test it?
Change is to a test

Potential risks

Release notes

Documentation Changes

Let's update the existing TestCronWorkflow test instead?


It is inconvenient that states have to be hashable

It is inconvenient that states have to be hashable. Why not remove the restriction? OR define apis converting state to its hashable version (e.g. self.state_representation(state)) automatically, the users could focus on the raw states.

Hi!
It's required to be able to use graph_search without it becoming super slow, as it needs to check if the state was previously seen. Being hashables, we can use a set and the time to the check becomes trivial  (O(1)), while if they weren't hashable then the time to check in the closed list would increase linearly with the number of visited states, and each lookup would take more and more time.
It also has another less obvious benefit: most people using this lib to learn AI don't have too much experience in python, and don't immediately understand the dangers of having a mutable states and doing mutations in the result() method. Doing this would lead to unknowingly altering the states of previous nodes, something that will surely bite most newcomers. Hashable types are usually immutable types, which automatically prevent this problem.
Having to define a method that converts states to hashable representations is an interesting idea, but I see this problem: if we make that mandatory, it ads an extra and slightly obscure thing to do, which isn't AI related or obvious, that we would need to explain to the students or doc readers.
While not making it mandatory (default = using state itself) creates the chance of people using mutable states, not defining it, and doing changes to the parent state in result(), something that will bite most people.
So for now, we prefer this approach. It has the problem of requiring hashable types, which can be annoying, but both prevents the unexpected state mutations and doesn't require extra methods to be defined in your problem.


Noob Question: How is it so fast?

First of all I wanna say thank you for making such an amazing tool! It has greatly improved my work flow so can't thank you enough!
I am often astonished by the speed. I was curious if there is any documentation on how uv is able to be so much more performant? I assume a lot of caching but also curious if there are any algorithmic changes that enable the performance?

While I'm not the maintainer of this repo, I'll take a stab at answering for the team to use as a baseline.
As with many improvement stories, there's more than one factor. In the case of UV, here's a few:

UV is primarily written in Rust, rather than Python, with a little bit of Python sprinkled in to facilitate building it for installation with pip. Rust is fast for lots of reasons, but there's a few big ones that matter the most

It's compiled rather than interpreted. There's no program running that interprets a text file (with a .py ending) line by line into commands that are translated on the fly into computer instructions. Instead all those computer instruction calculations are done ahead of time in the compiler step, resulting in a program that can run without "the language" being installed. To run a Rust program, you don't need Rust installed on your system.
Rust makes it easier to work with lots of simultaneous instructions. With Python it's possible to make 100 simultaneous network calls, but it's a big difficult to manage and takes a fair amount of thought to get right. Rust is optimized for this type of operation.
Most languages are either "fast" or "safe". Python is on the "safe" side of things, with a separate piece of the code running called the Garbage Collector (GC) that keeps track of which variables no longer need memory allocated from the operating system and managing that on your behalf. Languages like C and C++ don't have a garbage collector, but require you to keep track of your own memory allocations, otherwise leading to program crashes or other bad side effects. Rust strives for both "fast" and "safe", and the tradeoff is effort up front when developing to get the program to compile in the first place. This effort is nonzero, and the primary reason why Rust is not just "better" for everything, but certainly when the effort is made the results are stunning.

UV does some aggressive caching on disk, as you pointed out. Though it's also a lot faster on the first run.
Anytime you take an older project and rework it from the ground up, you know the problem better. You are able to make better calls as to what is required and what is worth forgetting about, what the primary flows are you should optimize for and what are nice to haves that can be built later. You see this with other pip competitors, too. While poetry or pdm are not as fast as uv, and these things are sometimes subjective, I would argue the interfaces of both are more thoughtful and slick than pip, which is evolving rather than starting with a green field.
uv doesn't do as much as pip, broadly speaking. There's many years of deprecated features that pip continues to support, I'm sure much to the chagrin of the developers. It's not that more features makes something slower necessarily, but I'm certain there's stuff in pip along the lines of "make sure to check all 3 possible places for the data before making a decision".

@dineshtrivedi I thought you might be interested in this tool for Python 👍🏾

I'm giving a talk on this topic (or something variant of it) at EuroRust 2024! But @brianmego hit some of the most important ideas:

Rust.
Heavy use of parallelism and concurrency.
A cache design that's optimized for warm installs (it's common to install a package more than once on a given machine, so we bias towards that use-case and make those reinstalls much faster and more efficient).


GUI freezes upon interacting with a widget under Wayland

Is there an existing issue for this?

[X] I have searched the existing issues.

Is this issue related to iced?

[X] My hardware is compatible and my graphics drivers are up-to-date.

What happened?
Moving the cursor over a widget freezes the application, which I then have to manually close.
This is a desktop application using default settings other than a custom window size, though the example programs behave the same way.
I'm using an Nvidia GPU with the latest drivers. Setting std::env::set_var("WINIT_UNIX_BACKEND", "x11"); to force XWayland worked with Iced 0.10, but now has no effect.
I would appreciate guidance on where to look to find the route of this issue.
Thank you.
What is the expected behavior?
Application runs without freezes.
Version
crates.io release
Operating System
Linux
Do you have any log output?
No response

I ran into this earlier today, also being on Wayland with NVIDIA. I decided to do some debugging and this is not an issue with iced, it's a winit problem. Which I confirmed by writing a short test exec with winit and wgpu (I tested with both Hyprland and river).
It seems to be related to the CursorLeft event but I don't know why (except it's not like the iced apps work as long as the cursor is in the window when it starts, iced is frozen from the beginning). Stuff seems to work fine so long as the cursor is sitting within the bounds of the window, after that the event loop freezes and you can't close the window normally (make sense since not event processing is happening).  The issue may have come as a result of EventLoop 3.0 Changes but that's just a guess on my part, since my experience with winit is limited.
It also doesn't look like there is an issue open for this yet.

This can be fixed by moving to a more recent commit of winit. The crates.io version is insufficient.

Neither updating winit nor wgpu is working for me

Are you on the 550.67 driver that was released a couple days ago, or an earlier 550 driver?
https://www.nvidia.co.uk/download/driverResults.aspx/223635/en-us mentions "Fixed a bug that caused wgpu applications to hang on Wayland".

Ah that's probably it. I update to 550, but only 550.54. I'll see if I can get the latest on my distro (NixOS)

This is indeed fixed with the 550.67 driver for me.
@blueOkiris if it's working well for you too I'll close?

I'll assume it's all good now, thanks for the help everyone.


[BSO 2X Loot] didn't get double from mally

🐛 Bug Report
this just seemed very odd to me.

basically, if Ori works at a monster (IE Malygos), it gives double kill rolls. 10 Malygos will be 20 Malygos worth of loot.
If Ori DOESNT work at the monster (Nex, KG etc), then its simply doubling whatever loot you got. So 5 Nex kills becomes 5 Nex kills worth of loot multiplied by 2

basically, if Ori works at a monster (IE Malygos), it gives double kill rolls. 10 Malygos will be 20 Malygos worth of loot.
If Ori DOESNT work at the monster (Nex, KG etc), then its simply doubling whatever loot you got. So 5 Nex kills becomes 5 Nex kills worth of loot multiplied by 2.
This is working properly, been doing malygos myself and noticed loot is definitely doubled rolls

everything else was doubled but not my lance

yes, because the loot isnt being doubled - the rolls are. if it was a boss like nex or kk, then it'd roll however many kills the trip was normally and double it. For Malygos, its essentially killing 2x the amount of Malygos than the initial trip. So your 4 kill trip is actually 8 kills worth of loot rolls

yes, because the loot isnt being doubled - the rolls are. if it was a boss like nex or kk, then it'd roll however many kills the trip was normally and double it. For Malygos, its essentially killing 2x the amount of Malygos than the initial trip.


update config and CI with msrv and 'actions-rs'

a few changes here, which will likely require some discussion (hence why i've left this as a draft)
the MSRV i've chosen is arbitrary. I wonder whether testing the MSRV should also be accompanied by a statement in the README. I don't love that the MSRV is defined in two places (the clippy config and the CI workflow) though it's not too much cognitive load to remember to bump both together.

Thanks for the PR, but I'm not looking to make changes like this to CI at this time.


bug: inconsistent autocompletion UI

Make sure you have done the following

[X] I have updated to the latest version of blink.cmp
[X] I have read the README

Bug Description
Here are some examples on how inconsistent the UI becomes:
First part: typing String and then Stringu

Second part: typing a and then abb

The distance between label and description(?) changes based on what it shows.
What's going on?
Relevant configuration
No response
neovim version
0.10.1
blink.cmp version: branch, tag, or commit
9822c6b40ad9

Are you on the default config? And what is neovim 0.11.1?

It should obviously be 0.10.1. I've updated the description
And no, this is my config:
return {
  "saghen/blink.cmp",
  dev = true,
  dir = "~/projects/blink.cmp",
  -- build = "cargo build --release",
  lazy = false, -- lazy loading handled internally
  dependencies = "rafamadriz/friendly-snippets",
  -- version = "v0.*",
  opts = {
    accept = {
      auto_brackets = {
        enabled = true,
      },
    },
    windows = {
      autocomplete = {
        border = "rounded",
        min_width = 80,
        draw = {
          components = {
            label = {
              width = { fill = true, max = 60 },
              text = function(ctx)
                return ctx.label
              end,
            },
            label_description = {
              width = { fill = true, max = 90 },
              text = function(ctx, package)
                local source = ctx.item.source_id
                local client = source == "lsp" and vim.lsp.get_client_by_id(ctx.item.client_id).name

                local formattedPackage
                if source == "lsp" and client == "jdtls" then
                  if ctx.kind == "Constructor" then
                    if ctx.item.detail ~= nil and ctx.item.detail ~= "" then
                      formattedPackage = ctx.item.detail:match("^[^%(]*")
                    end
                  end
                end

                if package then
                  return package
                elseif formattedPackage then
                  return formattedPackage
                elseif ctx.label_description ~= nil and ctx.label_description ~= "" then
                  return ctx.label_description
                else
                  return ""
                end
              end,
            },
          },
        },
      },
      documentation = {
        auto_show = true,
        auto_show_delay_ms = 50,
        border = "rounded",
      },
      signature_help = {
        border = "rounded",
      },
    },
    keymap = {
      ["<Tab>"] = { "accept" },
      ["<C-k>"] = { "select_prev" },
      ["<C-j>"] = { "select_next" },
    },
  },
}

It's because you added fill = true to the label_description. This is your 7th issue that's effectively not an issue so please read the documentation and try to fix these issues on your own. I'm not tech support :smile:

It's because you added fill = true to the label_description. This is your 7th issue that's effectively not an issue so please read the documentation and try to fix these issues on your own. And when you do post issues, please follow the template. I'm not tech support 😄

https://github.com/Saghen/blink.cmp/issues/156 is the one issue that's not an actual issue, I agree, so I don't know where you get the number 7 from.
And you really think I haven't tried removing fill = true to see what happens before creating this issue? Cmon man 😆


Send transaction as array in README

Found out today while using ark-js for the first time that the README wasn't up to date with the actual library.
The transaction key has to be called transactions and it has to be send as an array instead of  an object.

true that
+5


Fix table display on mobile

Summary of changes

Fix IoT casing in links.

Apply Bootstrap's responsive and condensed table styles. With this change, there will be some horizontal scrolling within the table itself. Here's the result:

🐱👤

Thanks for fixing the links @scottaddie and the table layout. Does this fix a particular issue? If so lets make sure it gets linked to this PR by referencing in the issue and closing the issue.


Pypy hasattr

Thank you for contributing to pyo3!
Please consider adding the following to your pull request:

an entry in CHANGELOG.md
docs to all new functions and / or detail in the guide
tests for all new or changed functions

Be aware the CI pipeline will check your pull request for the following:

Rust tests (Just cargo test or make test if you need to test examples)
Rust lints (make clippy)
Rust formatting (cargo fmt)
Python formatting (black . --check. You can install black with pip install black)
Compatibility with all supported Python versions for all examples. This uses tox; you can do run it using make test_py.

You can run a similar set of checks as the CI pipeline using make test.

The first commit here looks unrelated?

The first commit here looks unrelated?

Is removed now. was a leftover from testing. rust-numpy does not support the latest pyo3 version (or at least I couldn't get it to work).


Component Not Starting - Errorcode 500 on Data Pull

Hi there,
During the init of HomeAssistant there seems to be an error thrown (HTTP 500).
2021-06-06 10:02:40 INFO (MainThread) [homeassistant.components.sensor] Setting up sensor.apsystems
2021-06-06 10:02:41 DEBUG (MainThread) [custom_components.apsystems.sensor] Sensor is running. Start/Stop time: 2021-06-06 05:14:31.516857-07:00, 2021-06-06 21:23:23.045027-07:00
2021-06-06 10:02:41 DEBUG (MainThread) [custom_components.apsystems.sensor] Sensor is running. Start/Stop time: 2021-06-06 05:14:31.516857-07:00, 2021-06-06 21:23:23.045027-07:00
2021-06-06 10:02:41 DEBUG (MainThread) [custom_components.apsystems.sensor] Sensor is running. Start/Stop time: 2021-06-06 05:14:31.516857-07:00, 2021-06-06 21:23:23.045027-07:00
2021-06-06 10:02:41 DEBUG (MainThread) [custom_components.apsystems.sensor] Sensor is running. Start/Stop time: 2021-06-06 05:14:31.516857-07:00, 2021-06-06 21:23:23.045027-07:00
2021-06-06 10:02:41 DEBUG (MainThread) [custom_components.apsystems.sensor] Sensor is running. Start/Stop time: 2021-06-06 05:14:31.516857-07:00, 2021-06-06 21:23:23.045027-07:00
2021-06-06 10:02:42 DEBUG (MainThread) [custom_components.apsystems.sensor] status code login: 200
2021-06-06 10:02:42 DEBUG (MainThread) [custom_components.apsystems.sensor] post_data:
2021-06-06 10:02:42 DEBUG (MainThread) [custom_components.apsystems.sensor] {'queryDate': '20210606', 'selectedValue': 'XXXX', 'systemId': 'XXXXX'}
2021-06-06 10:02:42 DEBUG (MainThread) [custom_components.apsystems.sensor] starting: 2021-06-06 10:02:42
2021-06-06 10:02:42 DEBUG (MainThread) [custom_components.apsystems.sensor] status code data: 500
2021-06-06 10:02:42 DEBUG (MainThread) [custom_components.apsystems.sensor] <Response [500]>
2021-06-06 10:02:42 ERROR (MainThread) [homeassistant.components.sensor] apsystems: Error on device update!
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 432, in _async_add_entity
await entity.async_device_update(warning=False)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 550, in async_device_update
await task
File "/config/custom_components/apsystems/sensor.py", line 143, in async_update
ap_data = await self._fetcher.data()
File "/config/custom_components/apsystems/sensor.py", line 249, in data
await self.run()
File "/config/custom_components/apsystems/sensor.py", line 238, in run
self.cache = result_data.json()
File "/usr/local/lib/python3.8/site-packages/requests/models.py", line 900, in json
return complexjson.loads(self.text, **kwargs)
File "/usr/local/lib/python3.8/site-packages/simplejson/__init__.py", line 525, in loads
return _default_decoder.decode(s)
File "/usr/local/lib/python3.8/site-packages/simplejson/decoder.py", line 370, in decode
obj, end = self.raw_decode(s)
File "/usr/local/lib/python3.8/site-packages/simplejson/decoder.py", line 400, in raw_decode
return self.scan_once(s, idx=_w(s, idx).end())
simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

@jimmyray78 thanks...
Yeah today I tested the yesterday version and see the APSystems changed the cookie logic from his portal. To have a better component handling it now I'm using a browser logic instead of request API. It will handle cookies in a better way. Available at 1.0.3.

@jimmyray78 the version 1.0.3 solves your problem?


added new covid care project

Added Covid Care project
close #511

@ashitaprasad please review this pr

@Maheshwari-Love Remove the extra new lines you have added.

@ashitaprasad kindly check i have resolved the conflicts and removed extra lines

There are still empty lines visible.
Closing this PR, raise a new one only with the added project.


performance issue with collection-for pattern

I am implementing the algorithm in this paper as a way to try out pattern matching features.
Full program here: https://gist.github.com/mmcdon20/8ad69a99480a36d1f1d8823d661acc55
Dart SDK version: 3.0.0-241.0.dev (dev) (Wed Feb 15 10:48:22 2023 -0800) on "windows_x64"
When using a collection-for pattern in the results_ function, the program takes about 2.0 seconds to run on my computer.
List<Result> results_(List<int> list) => switch (list) {
  [] => [],
  [var n] => [if (n > 0) (Val(n), n)],
  var ns => [for (var (ls, rs) in nesplit(ns))
             for (var lx in results(ls))
             for (var ry in results(rs))
             for (var res in combine_(lx, ry)) res],
};

However the program takes only about 0.5 seconds when not using a pattern.
List<Result> results_(List<int> list) => switch (list) {
  [] => [],
  [var n] => [if (n > 0) (Val(n), n)],
  var ns => [for (var tup in nesplit(ns))
             for (var lx in results_(tup.$1))
             for (var ry in results_(tup.$2))
             for (var res in combine_(lx, ry)) res],
};

It also takes about 0.5 seconds when using a for pattern outside of a collection.
List<Result> results_(List<int> list) => switch (list) {
  [] => [],
  [var n] => [if (n > 0) (Val(n), n)],
  var ns => () {
    List<Result> results = [];
    for (var (ls, rs) in nesplit(ns)) {
      for (var lx in results_(ls)) {
        for (var ry in results_(rs)) {
          for (var res in combine_(lx, ry)) results.add(res);
        }
      }
    }
    return results;
  }(),
};

This was a mistake on my part sorry. I was recursively calling results instead of results_. Sorry about that.


Embedding gitter in the main site

@BillMills Sidecar is a new feature that gitter has launched which allows you to embed the feed in your website (a bit like twitter feeds, I'm assuming). Should we try and embed it in the main resbaz website?
https://sidecar.gitter.im/

I'm super impressed, this is one of the slickest widgets I've ever seen.

@BillMills Do you think we should embed the Gitter feed next to the Twitter feed in the "contact ResBaz" part of the website?

We could do - but I dunno, is that actually better than the pop-over? The pop-over has the advantage of being orthogonal to the rest of the layout - no wondering if things will break on whatever resolution. I also like that the 'join chat' button follows you around, makes it stick out a bit. I dunno, I'm mostly ambivalent on this - if people have a burning desire for an explicit embed, we can do that.

Actually, no, you're right. The pop-over is much better!


Curator summary widget + link out to template

Regarding: https://app.zenhub.com/workspaces/engineering-backlog-do-not-delete-604fab62d4b98d00150a2854/issues/stolostron/backlog/23480

/lgtm

Looks like the rebase lost some of my changes. I'm correcting atm.

Looks like the rebase lost some of my changes. I'm correcting atm.

/lgtm


Return non zero exit code on errors for clean-svg-ids

@kesara can you give an example of a document where it's important to bubble up this failure as a critical failure?

@kesara can you give an example of a document where it's important to bubble up this failure as a critical failure?

@dkg I don't have an example in hand.
IIRC this was an issue I came across when I was implementing https://author-tools.ietf.org/clean-svg-ids
Author Tools logic relied on exit codes to identify errors.


Support all istanbul-reports reports instead of only lcov

 istanbul-reports has many report types, but coverage options support only lcov
I think the options could be
istanbulReportName: "clover" | "cobertura" | "html-spa" | "html" | "json" | "json-summary" | "lcov" | "lcovonly" | "none" | "teamcity" | "text" | "text-lcov" | "text-summary"
instanbulReportOptions: any

it should be supported in version<EMAIL_ADDRESS>please use the option toIstanbul:

toIstanbul: true defaults to html-spa
toIstanbul: 'html' html report
toIstanbul: ['html', 'json']  multiple reports
multiple reports with report options

toIstanbul: ['html', 'json', {
            name: 'json',
            options: {
                file: 'my-json-file-name.json'
            }
}]


70cm band sensitivity

There seems to be a difference in rx quality and sensitivity on the 70cm band between this firmware and the stock OEFW.
I do not have proper test equipment for this, but I have tested as thoroughly and consistently as possible with what I have.  If there are any other comparisons that you would find helpful (without test equipment), I'm happy to do them.
Test setup:
UV-K5 with Nagoya NA-701
Local repeater on 442.3 Mhz
The repeater was active with a conversation between two fixed base stations.  During this conversation, I flashed the radio between several different firmwares and observed the results.  Observations were made only when base station #1 was transmitting (to eliminate any variability between operators).  The same radio and antenna were used.  The radio was on battery power during testing.  Each firmware was flashed and tested twice, results did not change between flashes.  The entire test ran for about 25 minutes.
Each firmware was tested in two locations.  The radio was put in the same position during each test.

2nd floor desk near a window - good reception of the repeater
Basement table - borderline reception of the repeater

Unfortunately, I did not record the build versions of each firmware (I can re-test if this would be useful).  But each was built from a fresh pull of their repository on 10/15.  All firmware tested had the recent RSSI fix, but I can't confirm they all measure RSSI the same way.  The RSSI number is included for reference.  Main point of comparison was the audio output.
Results
OneOfEleven
Desk
- RSSI average of -82
- Audio clear with constant static
- Squelch remained open
Basement
- RSSI average of -101
- Heavy static, voices audible at high volume
- Squelch intermittently open and closed
Stock OEFW
Desk
- No RSSI available
- Audio clear with infrequent static
- Squelch remained open
Basement
- No RSSI available
- Audio clear with constant static
- Squelch remained open
Stock OEFW - RSSI mod (quick modification I made to display RSSI)
Desk
- RSSI average of -61
- Audio clear with infrequent static
- Squelch remained open
Basement
- RSSI average of -83
- Audio clear with constant static
- Squelch remained open
Fagci
Desk
- RSSI average of -62
- Audio clear with infrequent static
- Squelch remained open
Basement
- RSSI average of -83
- Audio clear with constant static
- Squelch remained open

okey doke. I'll have a look with the signal generator.
I presume this is in FM mode (not AM) ?
The only thing I change from OEFW is the front end gains, and ONLY in AM mode,. FM mode uses all the same settings, so in theory their shouldn't be any difference, but I may have done something not quite right somewhere.

As far as I am aware, I think this may has been inherited from OEFW, as this has been observed on other OEFW based firmwares as well.

I do make the squelch more sensitive, so it's up to the user to step up the squelch setting in the menu if it's a bit too sensitive for them, which is exactly what the squelch level setting is for.
Those that will ONLY ever use squelch level 1 when there are 9 or 10 to choose from is not making good use of the available settings the user has to play with.
I do update the squelch changes I make from time to time if it seems they're not at their best though. So reports are welcomed (don't want to scare people off)

I presume this is in FM mode (not AM) ?

Yeah, this was all in FM.  It's been mentioned a few times in Telegram, so I'm pretty sure it's not just my hardware.  But no one had done any A/B testing to confirm.

Yes I have lost sensitivity. I have compare original  and custom Fw and found a difference in receiving week signals. SQUELCH was not useful in that situation.

The issue appears to be because AGC is never enabled. I have ported the fix from fagci's FW.

The issue appears to be because AGC is never enabled. I have ported the fix from fagci's FW.

I picked your changes and am testing.  Thanks for finding this.

After the AGC fix, reception on the 70cm seems to be improved (on my radio at least).  The RSSI reported on the signal bar has not changed (and is still ~20 lower than reported from other firmwares).  But the audio clarity and the ability of the radio to keep the squelch open are both much better after the change.  I can no longer hear a difference when compared to the same radio running base OEFW or Fagci.  So it's either a good improvement, or a very effective placebo.

I'm sure I'll put pay to that at some point ;) !

After the AGC fix, reception on the 70cm seems to be improved (on my radio at least). The RSSI reported on the signal bar has not changed (and is still ~20 lower than reported from other firmwares). But the audio clarity and the ability of the radio to keep the squelch open are both much better after the change. I can no longer hear a difference when compared to the same radio running base OEFW or Fagci. So it's either a good improvement, or a very effective placebo.

Some of the code is swapped between EnableAGC and DisableAGC so I'm unsure if you got the placebo or not. As I've said elsewhere, I'll need to wait until I'm back surrounded by air traffic before I can continue. AGC should be applicable to mic input so maybe I can try auto mic gain while I'm at it.

It's because I went through my code and fixed the front end settings.
I've also disabled AGC.

don't forget, '0' = AGC (auto), '1' = fixed (no AGC). in reg 0x7E

also, you'll break the AM fix if you use anything but reg 0x13 for the front end gains. change that and you'll upset a lot of people.

don't forget, '0' = AGC (auto), '1' = fixed (no AGC). in reg 0x7E

I had it backwards, my apologies. That would mean it's on by default, if the docs are to be believed.

also, you'll break the AM fix if you use anything but reg 0x13 for the front end gains. change that and you'll upset a lot of people.

I understand. I was confident this morning thinking I'd stumbled on something but now I'm not so sure. Feeling the Dunning-Kruger effect for sure.

Many thanks for your patience, and to those who gave my thoughts the time of day (even if I was wrong).


repo.clear! throws exception

undefined method each' for nil:NilClass /home/groobiest/huh/vendor/cache/ruby/2.3.0/gems/rdf-2.2.11/lib/rdf/model/dataset.rb:67:in each_statement'
/home/groobiest/huh/vendor/cache/ruby/2.3.0/gems/rdf-2.2.11/lib/rdf/mixin/mutable.rb:288:in delete_statements' /home/groobiest/huh/vendor/cache/ruby/2.3.0/gems/rdf-2.2.11/lib/rdf/mixin/mutable.rb:238:in clear'
/home/groobiest/huh/vendor/cache/ruby/2.3.0/gems/rdf-2.2.11/lib/rdf/util/aliasing.rb:46:in block in alias_method' /home/groobiest/huh/lib/tasks/triples.rake:51:in block (2 levels) in <main>'

Closed along with #4 by a change to RDF.rb.


Oauth google login for iNat account not working on Naturalista

Should I be able to login to Naturalista using the same credentials as iNat? I use my Google account for iNat. I CAN login that way to naturewatchNZ.
Here's the error I got.

Gar, forgotten config change. Can you give it another try? It just worked for me after I made the change to our Google API setup.

Works now! Thanks Ken-ichi!


fixes initial state of gallery and buttons

I added initial state based on current state of uploader to galllery, cancel, delete and retry buttons.
This should fix #128. Also now it is possible to call uploader.methods.addInitialFiles before creating gallery and to see initial files.

I think I need deleteable button for initial files.


Enable quotes rule for eslint

I missed those quotes while doing other PR: https://github.com/benmosher/eslint-plugin-import/pull/245#discussion_r61135535 :)
Now it should be harder to miss that :)

LGTM :)
@benmosher is this something you didn't want to enforce by any chance?

I just recently turned it off, actually. This is one of those rules that (from my perspective) is as controversial as it is arbitrary.
Which is to say: fine with me to turn it back on. 😁

Let's merge this then?

👍


Installing hiredis in python:3.10 or later fails building wheel (Windows Containers)

I was previosly using python:3.9 (latest version of 3.9) and was running the same application in both, linux and windows containers. Lately, I upgraded python version to python:3.10 and the deployment on linux seems to work fine. However, the windows version fails with the following errors. Apparently, installing building wheel for hiredis==2.0.0 is failing. Since it is a problem only occurring in windows and only on python:3.10 or later, I thought about reporting it here.
I'm also attaching the logs which seems relevant to the case.
2022-09-02T11:05:18.1513227Z Digest: sha256:745efdfb7e4aac9a8422bd8c62d8bc35a693e8979a240d29677cb03e6aa91052
2022-09-02T11:05:18.1513894Z Status: Downloaded newer image for python:3.10.6
2022-09-02T11:05:18.1520937Z docker.io/library/python:3.10.6
2022-09-02T11:05:18.1530302Z [command]"C:\Program Files\Docker\docker.exe" inspect python:3.10.6
2022-09-02T11:05:19.1739509Z [
2022-09-02T11:05:19.1739837Z     {
2022-09-02T11:05:19.1740193Z         "Id": "sha256:3c8130865bbdffd801f0372ab8d83901e6f0fcfd2b25e30f412afc39f4a1271d",
2022-09-02T11:05:19.1742476Z         "RepoTags": [
2022-09-02T11:05:19.1742731Z             "python:3.10.6"
2022-09-02T11:05:19.1742990Z         ],
2022-09-02T11:05:19.1743228Z         "RepoDigests": [
2022-09-02T11:05:19.1743591Z             "python@sha256:745efdfb7e4aac9a8422bd8c62d8bc35a693e8979a240d29677cb03e6aa91052"
2022-09-02T11:05:19.1743963Z         ],
2022-09-02T11:05:19.1744201Z         "Parent": "",
2022-09-02T11:05:19.1744436Z         "Comment": "",
2022-09-02T11:05:19.1744736Z         "Created": "2022-08-12T00:33:41.9360842Z",
2022-09-02T11:05:19.1745149Z         "Container": "43a42efed20a756d5e3c710d5b6017bacd98fbc7829b10d334807b89553fbfdf",
2022-09-02T11:05:19.1745498Z         "ContainerConfig": {
2022-09-02T11:05:19.1745791Z             "Hostname": "43a42efed20a",
2022-09-02T11:05:19.1746066Z             "Domainname": "",
2022-09-02T11:05:19.1746300Z             "User": "",
2022-09-02T11:05:19.1746558Z             "AttachStdin": false,
2022-09-02T11:05:19.1746846Z             "AttachStdout": false,
2022-09-02T11:05:19.1747117Z             "AttachStderr": false,
2022-09-02T11:05:19.1747382Z             "Tty": false,
2022-09-02T11:05:19.1747717Z             "OpenStdin": false,
2022-09-02T11:05:19.1747970Z             "StdinOnce": false,
2022-09-02T11:05:19.1748363Z             "Env": [
2022-09-02T11:05:19.1748632Z                 "PYTHONIOENCODING=UTF-8",
2022-09-02T11:05:19.1748908Z                 "PYTHON_VERSION=3.10.6",
2022-09-02T11:05:19.1749208Z                 "PYTHON_PIP_VERSION=22.2.1",
2022-09-02T11:05:19.1749642Z                 "PYTHON_SETUPTOOLS_VERSION=63.2.0",
2022-09-02T11:05:19.1750092Z                 "PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/5eaac1050023df1f5c98b173b248c260023f2278/public/get-pip.py",
2022-09-02T11:05:19.1750632Z                 "PYTHON_GET_PIP_SHA256=5aefe6ade911d997af080b315ebcb7f882212d070465df544e1175ac2be519b4"
2022-09-02T11:05:19.1751002Z             ],
2022-09-02T11:05:19.1751232Z             "Cmd": [
2022-09-02T11:05:19.1751511Z                 "powershell",
2022-09-02T11:05:19.1753066Z                 "-Command",
2022-09-02T11:05:19.1753576Z                 "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';",
2022-09-02T11:05:19.1754030Z                 "#(nop) ",
2022-09-02T11:05:19.1754413Z                 "CMD [\"python\"]"
2022-09-02T11:05:19.1754757Z             ],
2022-09-02T11:05:19.1755211Z             "Image": "sha256:29df42d994e601ed2ee277a646b5fdd95289e4a9adc1abeb14d54d02f168b9f2",
2022-09-02T11:05:19.1755703Z             "Volumes": null,
2022-09-02T11:05:19.1756086Z             "WorkingDir": "",
2022-09-02T11:05:19.1756448Z             "Entrypoint": null,
2022-09-02T11:05:19.1756804Z             "OnBuild": null,
2022-09-02T11:05:19.1757170Z             "Labels": {},
2022-09-02T11:05:19.1757517Z             "Shell": [
2022-09-02T11:05:19.1757856Z                 "powershell",
2022-09-02T11:05:19.1758213Z                 "-Command",
2022-09-02T11:05:19.1758671Z                 "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"
2022-09-02T11:05:19.1759109Z             ]
2022-09-02T11:05:19.1759423Z         },
2022-09-02T11:05:19.1759782Z         "DockerVersion": "20.10.8",
2022-09-02T11:05:19.1760160Z         "Author": "",
2022-09-02T11:05:19.1760497Z         "Config": {
2022-09-02T11:05:19.1760861Z             "Hostname": "",
2022-09-02T11:05:19.1761222Z             "Domainname": "",
2022-09-02T11:05:19.1761564Z             "User": "",
2022-09-02T11:05:19.1761927Z             "AttachStdin": false,
2022-09-02T11:05:19.1762309Z             "AttachStdout": false,
2022-09-02T11:05:19.1762697Z             "AttachStderr": false,
2022-09-02T11:05:19.1763058Z             "Tty": false,
2022-09-02T11:05:19.1763422Z             "OpenStdin": false,
2022-09-02T11:05:19.1763794Z             "StdinOnce": false,
2022-09-02T11:05:19.1764135Z             "Env": [
2022-09-02T11:05:19.1764576Z                 "PYTHONIOENCODING=UTF-8",
2022-09-02T11:05:19.1764986Z                 "PYTHON_VERSION=3.10.6",
2022-09-02T11:05:19.1766042Z                 "PYTHON_PIP_VERSION=22.2.1",
2022-09-02T11:05:19.1766462Z                 "PYTHON_SETUPTOOLS_VERSION=63.2.0",
2022-09-02T11:05:19.1767002Z                 "PYTHON_GET_PIP_URL=https://github.com/pypa/get-pip/raw/5eaac1050023df1f5c98b173b248c260023f2278/public/get-pip.py",
2022-09-02T11:05:19.1767661Z                 "PYTHON_GET_PIP_SHA256=5aefe6ade911d997af080b315ebcb7f882212d070465df544e1175ac2be519b4"
2022-09-02T11:05:19.1768136Z             ],
2022-09-02T11:05:19.1768474Z             "Cmd": [
2022-09-02T11:05:19.1768811Z                 "python"
2022-09-02T11:05:19.1769149Z             ],
2022-09-02T11:05:19.1769615Z             "Image": "sha256:29df42d994e601ed2ee277a646b5fdd95289e4a9adc1abeb14d54d02f168b9f2",
2022-09-02T11:05:19.1770096Z             "Volumes": null,
2022-09-02T11:05:19.1770446Z             "WorkingDir": "",
2022-09-02T11:05:19.1770820Z             "Entrypoint": null,
2022-09-02T11:05:19.1771202Z             "OnBuild": null,
2022-09-02T11:05:19.1771555Z             "Labels": null,
2022-09-02T11:05:19.1771910Z             "Shell": [
2022-09-02T11:05:19.1772262Z                 "powershell",
2022-09-02T11:05:19.1772614Z                 "-Command",
2022-09-02T11:05:19.1773154Z                 "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"
2022-09-02T11:05:19.1773598Z             ]
2022-09-02T11:05:19.1773920Z         },
2022-09-02T11:05:19.1774262Z         "Architecture": "amd64",
2022-09-02T11:05:19.1774640Z         "Os": "windows",
2022-09-02T11:05:19.1775025Z         "OsVersion": "10.0.17763.3287",
2022-09-02T11:05:19.1775402Z         "Size":<PHONE_NUMBER>,
2022-09-02T11:05:19.1775780Z         "VirtualSize":<PHONE_NUMBER>,
2022-09-02T11:05:19.1776155Z         "GraphDriver": {
2022-09-02T11:05:19.1776505Z             "Data": {
2022-09-02T11:05:19.1776998Z                 "dir": "C:\\ProgramData\\docker\\windowsfilter\\a7cad8c6bef59446b4545d66774d4c0cdac795f8b007cd6d166916ce4bb49750"
2022-09-02T11:05:19.1777506Z             },
2022-09-02T11:05:19.1777885Z             "Name": "windowsfilter"
2022-09-02T11:05:19.1778236Z         },
2022-09-02T11:05:19.1778559Z         "RootFS": {
2022-09-02T11:05:19.1778927Z             "Type": "layers",
2022-09-02T11:05:19.1779276Z             "Layers": [
2022-09-02T11:05:19.1779745Z                 "sha256:d6fdd6832d95a5f537e0e7d87f2613ea9741ad9c20438b9d5a2697a883c4cd96",
2022-09-02T11:05:19.1780329Z                 "sha256:ccc004b169ee6b7194527fa6d6b7426e2943474955f102a36dfa9570705b2d60",
2022-09-02T11:05:19.1780903Z                 "sha256:7c01b84090896fffa209fcd821a841b91dac0ea2e465fe68c1589a7bc2f82c14",
2022-09-02T11:05:19.1781476Z                 "sha256:6975da7039c8fb7c71b9213ff334d901acdb6f986fdbddcfd9660455d6313cbd",
2022-09-02T11:05:19.1832636Z                 "sha256:6d5bfdf5ba3f104076b83b90a253727ca00a151a7bb1983a3171b2c6eefbe173",
2022-09-02T11:05:19.1848169Z                 "sha256:dcfac0de8780416f4f9dfdfde615d4e456c50392b65f53ff5391b04046e3d150",
2022-09-02T11:05:19.1854834Z                 "sha256:38e5c519e9e157017cd5099855e10419c2b57f2562f1fc51787ec561a120c3a8",
2022-09-02T11:05:19.1855692Z                 "sha256:0cc473a8eb79280e5101f7ca496c03e5f2ce9ba76984103ace5fad989849fb35",
2022-09-02T11:05:19.1873791Z                 "sha256:eac37d4286c6cd07067355abd701b55e0f06a9dfad24d97015bade1e50c61da2",
2022-09-02T11:05:19.1874931Z                 "sha256:68626b965a3d9c4e94f87fd8eefe79a20600e15914825cd9bf3b6fcc48e19229",
2022-09-02T11:05:19.1875569Z                 "sha256:01e0234c360959ea1d980567a3fd106e1f6f4b2c1a68c3eafb3d39e4655dfdd7",
2022-09-02T11:05:19.1876157Z                 "sha256:656d77b78b8af23a57f87ba4aa1cd36420b1b5e63755efff31d30b64a049634c"
2022-09-02T11:05:19.1876616Z             ]
2022-09-02T11:05:19.1876937Z         },
2022-09-02T11:05:19.1877282Z         "Metadata": {
2022-09-02T11:05:19.1877704Z             "LastTagTime": "0001-01-01T00:00:00Z"
2022-09-02T11:05:19.1878087Z         }
2022-09-02T11:05:19.1878664Z     }
2022-09-02T11:05:19.1878987Z ]
2022-09-02T11:05:19.1922794Z [command]"C:\Program Files\Docker\docker.exe" build -f D:\a\1\s\backend\Dockerfile_win_worker --label com.visualstudio.tlkenergy.image.system.teamfoundationcollectionuri=https://tlkenergy.visualstudio.com/ --label com.visualstudio.tlkenergy.image.system.teamproject=odineapps --label com.visualstudio.tlkenergy.image.build.repository.name=tlkenergy/odineapps --label com.visualstudio.tlkenergy.image.build.sourceversion=9a3dc0669a5d613f6eef53a72b749671f49c4815 --label com.visualstudio.tlkenergy.image.build.repository.uri=https://bitbucket.org/tlkenergy/odineapps --label com.visualstudio.tlkenergy.image.build.sourcebranchname=develop --label com.visualstudio.tlkenergy.image.build.definitionname=tlkenergy.odineapps --label com.visualstudio.tlkenergy.image.build.buildnumber=20220902.1 --label com.visualstudio.tlkenergy.image.build.builduri=vstfs:///Build/Build/224 --label image.base.ref.name=python:3.10.6 --label image.base.digest=sha256:745efdfb7e4aac9a8422bd8c62d8bc35a693e8979a240d29677cb03e6aa91052 -t odine-backend-windows:latest D:\a\1\s\backend
2022-09-02T11:05:19.6481087Z Sending build context to Docker daemon  1.263MB
2022-09-02T11:05:19.6481844Z
2022-09-02T11:05:19.6488099Z Step 1/24 : FROM python:3.10.6
2022-09-02T11:05:19.6494803Z  ---> 3c8130865bbd

...
2022-09-02T11:07:08.3125570Z Collecting hiredis
2022-09-02T11:07:08.3266521Z   Downloading hiredis-2.0.0.tar.gz (75 kB)
2022-09-02T11:07:08.3300020Z      ---------------------------------------- 75.8/75.8 kB ? eta 0:00:00

...
2022-09-02T11:07:24.7599974Z   Building wheel for hiredis (setup.py): started
2022-09-02T11:07:25.2148577Z   Building wheel for hiredis (setup.py): finished with status 'error'
2022-09-02T11:07:25.2213660Z [91m  error: subprocess-exited-with-error
2022-09-02T11:07:25.2214847Z
2022-09-02T11:07:25.2215562Z   × python setup.py bdist_wheel did not run successfully.
2022-09-02T11:07:25.2223286Z   │ exit code: 1
2022-09-02T11:07:25.2223687Z   ╰─> [17 lines of output]
2022-09-02T11:07:25.2224453Z       C:\Users\ContainerAdministrator\AppData\Local\Temp\pip-install-2aa3rzhj\hiredis_12b42ad0a7154868bba083b970b54850\setup.py:7: DeprecationWarning: the imp module is deprecated in favour of importlib and slated for removal in Python 3.12; see the module's documentation for alternative uses
2022-09-02T11:07:25.2225511Z         import sys, imp, os, glob, io
2022-09-02T11:07:25.2226125Z      [0m[91m C:\Python\lib\site-packages\setuptools\dist.py:771: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead
2022-09-02T11:07:25.2226698Z         warnings.warn(
2022-09-02T11:07:25.2226997Z       running bdist_wheel
2022-09-02T11:07:25.2227276Z       running build
2022-09-02T11:07:25.2227582Z      [0m[91m running build_py
2022-09-02T11:07:25.2227871Z       creating build
2022-09-02T11:07:25.2228183Z       creating build\lib.win-amd64-cpython-310
2022-09-02T11:07:25.2228512Z       creating build\lib.win-amd64-cpython-310\hiredis
2022-09-02T11:07:25.2228917Z       copying hiredis\version.py -> build\lib.win-amd64-cpython-310\hiredis
2022-09-02T11:07:25.2229348Z       copying hiredis\__init__.py -> build\lib.win-amd64-cpython-310\hiredis
2022-09-02T11:07:25.2229752Z       copying hiredis\hiredis.pyi -> build\lib.win-amd64-cpython-310\hiredis
2022-09-02T11:07:25.2230179Z       copying hiredis\py.typed -> build\lib.win-amd64-cpython-310\hiredis
2022-09-02T11:07:25.2230641Z       running build_ext
2022-09-02T11:07:25.2230915Z       building 'hiredis.hiredis' extension
2022-09-02T11:07:25.2231420Z       error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
2022-09-02T11:07:25.2231887Z       [end of output]
2022-09-02T11:07:25.2232129Z
2022-09-02T11:07:25.2232438Z   note: This error originates from a subprocess, and is likely not a problem with pip.
2022-09-02T11:07:25.2232841Z [0m[91m  ERROR: Failed building wheel for hiredis
2022-09-02T11:07:25.2233192Z [0m  Running setup.py clean for hiredis
2022-09-02T11:07:25.6398759Z Successfully built django-json-widget dj-rest-auth django-allauth autobahn pendulum coreschema future zope.interface
2022-09-02T11:07:25.6401551Z Failed to build hiredis
2022-09-02T11:07:26.5060991Z Installing collected packages: webencodings, twisted-iocpsupport, pywin32, pytz, pyasn1, msgpack, lark-parser, itypes, incremental, constantly, brotli, zopfli, zope.interface, XlsxWriter, wrapt, urllib3, uritemplate, tzdata, typing-extensions, txaio, tinycss2, sqlparse, six, pytzdata, pyrsistent, Pyphen, pyparsing, PyJWT, pydyf, pycparser, pyasn1-modules, psutil, prometheus-client, Pillow, oauthlib, numpy, mysqlclient, MarkupSafe, lxml, jmespath, idna, hiredis, future, fonttools, django-environ, defusedxml, charset-normalizer, certifi, attrs, async-timeout, asgiref, unittest-xml-reporting, requests, python3-openid, python-dateutil, packaging, jsonschema, Jinja2, hyperlink, html5lib, dramatiq, django-json-widget, django, deprecated, cssselect2, cffi, Automat, aioredis, weasyprint, twisted, requests-oauthlib, redis, pendulum, pandas, model-bakery, jsonfield, fmpy, djangorestframework, django-storages, django-safedelete, django-reversion, django-health-check, django_dramatiq, django-debug-toolbar, django-cors-headers, cryptography, coreschema, botocore, service-identity, s3transfer, pyopenssl, periodiq, djangorestframework-simplejwt, dj-rest-auth, coreapi, autobahn, django-allauth, boto3, django-ses, daphne, channels, channels-redis
2022-09-02T11:07:38.5715087Z   Running setup.py install for hiredis: started
2022-09-02T11:07:39.1067346Z   Running setup.py install for hiredis: finished with status 'error'
2022-09-02T11:07:39.1113228Z [91m  error: subprocess-exited-with-error
2022-09-02T11:07:39.1116191Z
2022-09-02T11:07:39.1117389Z   × [0m[91mRunning setup.py install for hiredis did not run successfully.
2022-09-02T11:07:39.1120701Z   │ exit code: 1
2022-09-02T11:07:39.1121654Z   ╰─> [19 lines of output]
2022-09-02T11:07:39.1122664Z       [0m[91mC:\Users\ContainerAdministrator\AppData\Local\Temp\pip-install-2aa3rzhj\hiredis_12b42ad0a7154868bba083b970b54850\setup.py:7: DeprecationWarning: the imp module is deprecated in favour of importlib and slated for removal in Python 3.12; see the module's documentation for alternative uses
2022-09-02T11:07:39.1123864Z         import sys, imp, os, glob, io
2022-09-02T11:07:39.1124613Z       C:\Python\lib\site-packages\setuptools\dist.py:771: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead
2022-09-02T11:07:39.1125254Z         warnings.warn(
2022-09-02T11:07:39.1125644Z       running install
2022-09-02T11:07:39.1126281Z       C:\Python\lib\site-packages\setuptools\command\install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
2022-09-02T11:07:39.1126919Z         warnings.warn(
2022-09-02T11:07:39.1127264Z       running build
2022-09-02T11:07:39.1127683Z       running build_py
2022-09-02T11:07:39.1128059Z       creating build
2022-09-02T11:07:39.1129911Z       creating build\lib.win-amd64-cpython-310
2022-09-02T11:07:39.1131511Z       creating build\lib.win-amd64-cpython-310\hiredis
2022-09-02T11:07:39.1132110Z       copying hiredis\version.py -> build\lib.win-amd64-cpython-310\hiredis
2022-09-02T11:07:39.1134486Z       copying hiredis\__init__.py -> build\lib.win-amd64-cpython-310\hiredis
2022-09-02T11:07:39.1135110Z       copying hiredis\hiredis.pyi -> build\lib.win-amd64-cpython-310\hiredis
2022-09-02T11:07:39.1136454Z       copying hiredis\py.typed -> build\lib.win-amd64-cpython-310\hiredis
2022-09-02T11:07:39.1138680Z       running build_ext
2022-09-02T11:07:39.1139414Z       building 'hiredis.hiredis' extension
2022-09-02T11:07:39.1142068Z       error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
2022-09-02T11:07:39.1144092Z       [end of output]
2022-09-02T11:07:39.1146703Z
2022-09-02T11:07:39.1147277Z   note: This error originates from a subprocess, and is likely not a problem with pip.
2022-09-02T11:07:39.1147902Z [0m[91merror: legacy-install-failure
2022-09-02T11:07:39.1149333Z
2022-09-02T11:07:39.1150780Z × Encountered error while trying to install package.
2022-09-02T11:07:39.1152853Z ╰─> hiredis
2022-09-02T11:07:39.1153216Z
2022-09-02T11:07:39.1153645Z note: This is an issue with the package mentioned above, not pip.
2022-09-02T11:07:39.1154159Z hint: See above for output from the failure.
2022-09-02T11:07:42.8673648Z [0mThe command 'powershell -Command $ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue'; pip3 install --no-cache-dir -r /tmp/requirements.txt' returned a non-zero code: 1
2022-09-02T11:07:42.8774578Z ##[error]The process 'C:\Program Files\Docker\docker.exe' failed with exit code 1
2022-09-02T11:07:42.8857621Z ##[section]Finishing: Build an image

From what I can tell, hiredis doesn't support Python 3.10 yet (it's supported in their master branch via https://github.com/redis/hiredis-py/pull/117, but I don't think that's in a release yet).

@tianon It is working fine with Python 3.10 on a linux container. In the windows container however, it is causing that error. I don't think hiredis is incompatible with Python 3.10


Pulumi Doesn't Refresh ACL on SpacesObject

Hello!

Vote on this issue by adding a 👍 reaction
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already)

Issue details
When an external actor changes the acl on a SpacesObject, pulumi up --refresh doesn't detect the drift and reconcile.
Steps to reproduce

import * as digitalocean from "@pulumi/digitalocean";

const region = "nyc3";

const myBucket = new digitalocean.SpacesBucket("rawkode", {
  region,
});

const index = new digitalocean.SpacesBucketObject("index", {
  region,
  bucket: myBucket.name,
  acl: "private",
  key: "index.html",
  content: "
This page is empty.
",
  contentType: "text/html",
});

Create this Space and Object, modify through the UI to public-read, run pulumi up --refresh
No changes detected.

This still repros today


Project's .babelrc is getting ignored on build

I am getting the following error when deploying. I am using "babel-plugin-transform-class-properties": "^6.11.5" as a dependency and
{   "plugins": ["transform-class-properties"] }
is placed in my .babelrc file in my project root directory. I am able to run locally and it works as expected, but the Heroku build fails with this error:
-----> Building Meteor app with ROOT_URL: https://uncharted-final.herokuapp.com Warning: unable to resolve "transform-class-properties" in plugins of /tmp/build_41cebf5d2b4d72643364d42fc09ccc92/joserocha3-uncharted-final-c099aaf/.babelrc Errors prevented bundling: While building for web.browser: imports/stores/CountryStore.js:7:16: /imports/stores/CountryStore.js: Missing class properties transform. imports/stores/IndicatorStore.js:7:16: /imports/stores/IndicatorStore.js: Missing class properties transform.  !     Push rejected, failed to compile Node.js app.  !     Push failed

I was able to get transform-class-properties to work, however transform-decorators-legacy does not work. It does however build, but the decorators have not effect on the variable they are "decorating" and I get a list of warning in the build log.
Warning: unable to resolve "es2015" in presets of /tmp/build_886045f7c1743ae2c312ffa8e34d8189/joserocha3-uncharted-final-66dbef1/.babelrc
Warning: unable to resolve "stage-1" in presets of /tmp/build_886045f7c1743ae2c312ffa8e34d8189/joserocha3-uncharted-final-66dbef1/.babelrc
Warning: unable to resolve "transform-decorators-legacy" in plugins of /tmp/build_886045f7c1743ae2c312ffa8e34d8189/joserocha3-uncharted-final-66dbef1/.babelrc

The following get rid of two of the mentioned warnings. But the I still get the decorator warning and the decorators do not work.
    "babel-preset-es2015": "^6.14.0",
    "babel-preset-stage-0": "^6.5.0",

Writing the message above I saw my mistake :) the warning says Warning: unable to resolve "transform-decorators-legacy" which is correct. My dependency was the official (not valid for babel 6) package, not the legacy one.
Hope this teaches me to not just copy and paste from a tutorial with verifying first :)


Update base service to use local persistence

The base service should use the local persistence class so that any added persistence methods will be available through the persistence in the local service.

Not ideal to maintain generics the base repository was made private and local repository was added in.


Add RGB Scalar

Add RgbType to Hotchocolate.Types.Scalars

https://github.com/ChilliCream/hotchocolate/pull/3213

Addresses: #2927

and again thanks for the contribution!!


Don't always save the role

Is your feature request related to a problem? Please describe.
https://github.com/jmhale/okta-awscli/blob/ceeab286525bc4be78e703932dc3f41024cc4419/oktaawscli/okta_awscli.py#L23
The script assumes that you want to save the role that you select and then doesn't prompt upon further invocations.  Maybe I want to choose a different role and different times.  It would be nice to have that option without having to edit the dot file
Describe the solution you'd like
Add a command-line option and a config option to not save the role
--no-save-role or
no-save-role = true

Describe alternatives you've considered
All other alternatives involve munging the config file, which sucks.
perl -p -i -e 's/role = .*//g' ~/.okta-aws etc

Fixed in v0.4.2

Sorry to jump late on this ticket, but does the behaviour no ignore the role in the config file now?
Just asking as I have now to pick the role despite having it configured in the .okta-awscli file, which is made even awkward since the returned roles are not in any orders (I have 20+ assigned to me by my org).

@thoroc if you don't have the --force flag set, then you shouldn't be prompted to choose a role, so long as you have one set in your .okta-aws file.
I just tested and confirmed that to be the case with the latest version, 0.4.6.
Are you seeing behavior that is different?

@jmhale just updated to version 0.4.6, and I am not being prompted to pick a role already defined in the okta-aws config file. I can confirm the behaviour observed with the previous (0.4.5) version isn't there anymore, and it is working as expected.
Thank you.
~TR


I need know when open the menu

I using your dependency, and i got a problem, i can't know when user open the menu button... or have any way to get this?

I'm working on it, everything should be fine in a few minutes in a new version 0.1.1

@lucas-sesti A new property is now available to know when the menu button is open or not (onMenuButtonToggle) in Version 0.1.1+1
Enjoy  !


Attribute 'flags' error on plotting xarray data using hvplot

The following code gives AttributeError("'Array' object has no attribute 'flags'") :
import hvplot.xarray

grib_thredds_da = xr.open_dataset("http://thredds.ucar.edu/thredds/dodsC/grib/FNMOC/WW3/Global_1p0deg/Best", chunks={})
var = 'wnd_wav_per_surface'
time_dim = grib_thredds_da[var].dims[0]

grib_thredds_da[var].hvplot(x='lon', y='lat', groupby=time_dim, rasterize=True)

We are able to perform all other operations on it using xarray such as:
grib_thredds_da[var].groupby(time_dim).mean()

but using hvplot results in error.
This conda environment  has been used.
The same error has been reproduced in  https://github.com/hdsingh/Dashboards/issues/1 first three notebooks. Its traceback is also available in this issue.
@philippjfr @martindurant Please help me figure this out.

@philippjfr Thank you !!


Improved wordle

Various improvements to the Wordle cog.

Added /keyboard command - lets the user see what letters they have already used and whether they are correct or not. The message is only viewable by the command invoker to prevent clutter.
Added HARD MODE which is hard. Should be the same as what's on the website.
Minor restructuring so it is not as bad, including better (but probably still not very proper) documentation
Two new words: "pretz" and "tinky." These additions will vastly improve the Wordle experience.

Thanks for the feedback guys! I'll try to make an alias for the keyboard command but I'm not really sure how. Otherwise, I will put it in the original message.

only noobs can't type out the word keyboard on their phone. but did you make sure to test that the keyboard looks ok on mobile too?

I made it so there's now a keyboard. Here's an example of what the keyboard looks like.

Wait there is an issue like @RussellChien described: it looks horrible on mobile.

Any suggestions?

I have fixed it for mobile (hopefully) now. One last review please!!!!

good work. the users of wid bot will be very pleased with this new update