[gwctl] Expand the output of gwctl describe httproute

What type of PR is this?
/kind gep
What this PR does / why we need it:
This PR introduces an expansion in the output of gwctl describe httproute/httproutes  as per the expectation of this GEP.
Which issue(s) this PR fixes:

Fixes #3037
Does this PR introduce a user-facing change?:

The output of `gwctl describe httproute <NAME>` is enhanced further.

/assign
Thanks @tdn21, this seems to be shaping up well. Will do a more detailed review once we take care of the clarifications provided in https://github.com/kubernetes-sigs/gateway-api/issues/3037#issuecomment-2105390648
Thanks for contributing!

Hi @tdn21! Did you get a chance to make the necessary updates?

@gauravkghildiyal, sincere apologies for not getting to this last week. I will update the PR this weekend. Thank you for your patience. 🙇

@gauravkghildiyal thank you for waiting and please take a look whenever you get some time.

Hi @tdn21! Were you able to make some progress here?

Hi @tdn21
We'd like to get this in soon, so I've rebased the commits from this PR and built on top of these commits in https://github.com/kubernetes-sigs/gateway-api/pull/3181.
/close


write a c++ program for problem - Sort an array of 0s, 1s and 2s

@sherigar pls assign ASAP

thanks for assigning @sherigar


Cannot read property '$swiper' of undefined

Vue.js version and component version
nuxt: 2.11.0
Steps to reproduce
plugins/vue-awesome-swiper.js:
import Vue from 'vue'
import VueAwesomeSwiper from 'vue-awesome-swiper'

import 'swiper/css/swiper.css'

Vue.use(VueAwesomeSwiper)

nuxt.config.js:
  plugins: [
    { src: '~/plugins/vue-awesome-swiper', mode: 'client' }
  ],

components/Gallery.vue:
    <client-only>
      <swiper ref="carousel" :options="swiperOptions" class="swiper">
        <swiper-slide>Slide 1</swiper-slide>
        <swiper-slide>Slide 2</swiper-slide>
        <swiper-slide>Slide 3</swiper-slide>
        <swiper-slide>Slide 4</swiper-slide>
        <swiper-slide>Slide 5</swiper-slide>
        <swiper-slide>Slide 6</swiper-slide>

      </swiper>
    </client-only>

data() {
return {
       swiperOptions: {
        loop: true,
        slidesPerView: 'auto',
        centeredSlides: true,
        spaceBetween: 30,
        pagination: {
          el: '.swiper-pagination',
          dynamicBullets: true
        }
      }
}
}

What is actually happening?
i get this error:
Cannot read property '$swiper' of undefined

Is it possible to show specific error stack information? such as which line of which file.


Overfitting

Hello, can you please suggest me any tricks to prevent syncnet overfitting? Decreasing learning rate doesn't help...

Hello, can you please suggest me any tricks to prevent syncnet overfitting? Decreasing learning rate doesn't help...

+1

+1

What dataset are you training on?

Filtered mix of AVS and voxceleb2

Do you have checkpoints at some of these various steps, are the outputs looking intelligible yet? Do you have a way to get in touch, directly we can try a few things interactively and I can probe you about the data and outputs a bit more easily.

all problems about overfitting is your training dataset is not general

all problems about overfitting is your training dataset is not general

No)
If overfitting phenomenon was so easy to avoid, so many studies and methods would not exist
I think you operate scripts different from this repo, so for your private implementation your message could be right
Overfitting reasons with this repo:

Syncnet audio encoder presented in this repo is too weak for 288px face encoder, need to add layers. I've done that - it works, but 24/32/48kHz audio input would be ideal
You need to work properly with your learning rate. With wrong LR you can stuck on saddle points and train for weeks / thousands of epochs
Dropout layers help to avoid overfitting and make training process more efficient

all problems about overfitting is your training dataset is not general

No) If overfitting phenomenon was so easy to avoid, so many studies and methods would not exist
I think you operate scripts different from this repo, so for your private implementation your message could be right
Overfitting reasons with this repo:

Syncnet audio encoder presented in this repo is too weak for 288px face encoder, need to add layers. I've done that - it works, but 24/32/48kHz audio input would be ideal
You need to work properly with your learning rate. With wrong LR you can stuck on saddle points and train for weeks / thousands of epochs
Dropout layers help to avoid overfitting and make training process more efficient

Do you mean apply dropout for syncnet or wav2lip?

all problems about overfitting is your training dataset is not general

No) If overfitting phenomenon was so easy to avoid, so many studies and methods would not exist
I think you operate scripts different from this repo, so for your private implementation your message could be right
Overfitting reasons with this repo:

Syncnet audio encoder presented in this repo is too weak for 288px face encoder, need to add layers. I've done that - it works, but 24/32/48kHz audio input would be ideal
You need to work properly with your learning rate. With wrong LR you can stuck on saddle points and train for weeks / thousands of epochs
Dropout layers help to avoid overfitting and make training process more efficient

Do you mean apply dropout for syncnet or wav2lip?

Syncnet audio encoder. Video encoder performs well even without dropout

make senses! That would be perfect with audio_encoder

I also trained with dropout layer, the result is pretty good

I also trained with dropout layer, the result is pretty good

Can you share your dropout layer code?

I also trained with dropout layer, the result is pretty good

Can you please show you train/eval losses charts?
I think it's not sensitive and private/nda information, I just want to see, how you training behaves
thanks!

@NikitaKononov I can share my training graphs. I'm currently at 0.29 train/eval loss. Not overfitted yet, but nearly there. But still better than 0.39.
What I did - really strictly followed the data preprocessing advice from @primepake here https://github.com/primepake/wav2lip_288x288/issues/21#issuecomment-1172847918.
This is how the beginning of training looked like:

And this is how the last steps looked like:

At this point I have two questions:

@primepake did your training graphs look similar? Can you share them? Was it approaching 0.25 very smooth? I don't see my loss tends to decrease to 0.25, or it will take an enormous amount of time... despite it is still decreasing
the sync correction you used - was it corrected to exactly 0, or +-3 was acceptable as well? Mine is 0 now and I suspect it's a bit too strict for the model - +-1 frame and y gets set to 0 for this case. And as I see it, this is a bit too hard condition. 1 frame apart - and the syncnet should already say "out-of-sync"
and the third question is connected to the second one - did you change the loss function? There are discussions about that, but I don't understand which loss was used by whom in the end :)

Thank you very much!

Yep! My loss also similar! Also I took 6M to get below at 0.25
Did you use syncnet_python with correct way? Because Syncnet_python need expand the video from the face area!
Yes! The changing in loss function is a crucial for this project!

I also trained with dropout layer, the result is pretty good

Can you please show you train/eval losses charts? I think it's not sensitive and private/nda information, I just want to see, how you training behaves thanks!

it seems like it dropped sharply in the first steps but after that it stopped so I changed the group norm instead of batch norm

Yep! My loss also similar! Also I took 6M to get below at 0.25

Thanks! In this case there's still 2.5 million steps to go :sweat_smile: the loss might decrease to 0.25, because still no clear overfitting and it continues to go down.

Did you use syncnet_python with correct way? Because Syncnet_python need expand the video from the face area!

I believe, I used it correctly: applied syncnet to the whole frame, not to the face. Also, I checked the sync-corrected videos again - and if before syncnet_python gave me nonzero offset, after the sync-correction the offset was always 0. I'm a bit concerned by this, actually - maybe, I should have some videos with not so strict sync (I mean, allow +-1 or +-2 frames offset). But currently I applied this sync procedure to the whole dataset and my whole dataset has only zero offset.

Yes! The changing in loss function is a crucial for this project!

Yes, I suspect this. Will think about it. Thank you for the response!

@NikitaKononov I can share my training graphs. I'm currently at 0.29 train/eval loss. Not overfitted yet, but nearly there. But still better than 0.39. What I did - really strictly followed the data preprocessing advice from @primepake here #21 (comment). This is how the beginning of training looked like:  And this is how the last steps looked like:
At this point I have two questions:

@primepake did your training graphs look similar? Can you share them? Was it approaching 0.25 very smooth? I don't see my loss tends to decrease to 0.25, or it will take an enormous amount of time... despite it is still decreasing
the sync correction you used - was it corrected to exactly 0, or +-3 was acceptable as well? Mine is 0 now and I suspect it's a bit too strict for the model - +-1 frame and y gets set to 0 for this case. And as I see it, this is a bit too hard condition. 1 frame apart - and the syncnet should already say "out-of-sync"
and the third question is connected to the second one - did you change the loss function? There are discussions about that, but I don't understand which loss was used by whom in the end :)

Thank you very much!

Thanks a lot for sharing! Pretty nice graph for ResNet
How many video segments do you have in your training set?
And did you change any audio parameters in hyperparams?

I also want to ask how many video segments do you have in your training set.

@hannarud
Thanks a lot for sharing!
Did you modify any hparams? Especially audio
hop_size for example, or smth else
How many video segments do you have in your training set?
Did you set any padding in face detection in preprocessing?
Did you change loss function? Or you use BCELoss?
Did you change activation function to LeakyReLU or PReLU?
Or you use code in repo as it is (with ReLU and other default parameters)
Looking forward for your answer, thanks

all problems about overfitting is your training dataset is not general

No) If overfitting phenomenon was so easy to avoid, so many studies and methods would not exist
I think you operate scripts different from this repo, so for your private implementation your message could be right
Overfitting reasons with this repo:

Syncnet audio encoder presented in this repo is too weak for 288px face encoder, need to add layers. I've done that - it works, but 24/32/48kHz audio input would be ideal
You need to work properly with your learning rate. With wrong LR you can stuck on saddle points and train for weeks / thousands of epochs
Dropout layers help to avoid overfitting and make training process more efficient

hi, may I ask you a question?
the Sync loss is below 0.25,
but the wav2lip, the loss is as follows:
Saved checkpoint: checkpoints/checkpoint_step001734000.pth
Evaluating for 700 steps
L1: 0.013941520919356383, Sync loss: 2.2253419873802875
Saved checkpoint: checkpoints/checkpoint_step001737000.pth
Evaluating for 700 steps
L1: 0.014049437306236779, Sync loss: 1.8948244154028138
Starting Epoch: 277
Saved checkpoint: checkpoints/checkpoint_step001740000.pth
Evaluating for 700 steps
L1: 0.014056642805511789, Sync loss: 1.8763052398570084
Saved checkpoint: checkpoints/checkpoint_step001743000.pth
Evaluating for 700 steps
L1: 0.014362473078018929, Sync loss: 1.8959102338969112
Starting Epoch: 278
Saved checkpoint: checkpoints/checkpoint_step001746000.pth
Evaluating for 700 steps
L1: 0.01367571011329131, Sync loss: 1.896067845073134
Saved checkpoint: checkpoints/checkpoint_step001749000.pth
Evaluating for 700 steps
L1: 0.013082690317762987, Sync loss: 1.9725817754418296
Starting Epoch: 279
Saved checkpoint: checkpoints/checkpoint_step001752000.pth
Evaluating for 700 steps
L1: 0.013426973524313426, Sync loss: 2.784595004799703
Saved checkpoint: checkpoints/checkpoint_step001755000.pth
Evaluating for 700 steps
L1: 0.013677941734893262, Sync loss: 1.5971123527698272
Starting Epoch: 280
Saved checkpoint: checkpoints/checkpoint_step001758000.pth
Evaluating for 700 steps
L1: 0.014198551799427086, Sync loss: 1.828956418557786
Saved checkpoint: checkpoints/checkpoint_step001761000.pth
Evaluating for 700 steps
L1: 0.013761360742970132, Sync loss: 2.2420577421763146
Starting Epoch: 281
how can I solved this? change learning rate and how?

I also trained with dropout layer, the result is pretty good

Can you please show you train/eval losses charts? I think it's not sensitive and private/nda information, I just want to see, how you training behaves thanks!

it seems like it dropped sharply in the first steps but after that it stopped so I changed the group norm instead of batch norm

could you describe how to use syncnet_python with correct way?

just input the video
https://github.com/joonson/syncnet_python

@NikitaKononov did you finally resolve this issue and achieve a lower loss ?

Did you get 0.25 loss?


Check CSV for empty strings

You were previously checking if parsed[i][lonfield] was undefined twice within the same if statement.  I removed the duplicated check, and added a check for empty strings which I think is what was originally intended for the second part of the if statement.

This part of leaflet-omnivore is in a built file. Please fix this upstream in csv2geojson instead of in the built file.


Cannot pop up the notepad window

HI MAN!
Cannot pop up the notepad window

The provided DLL does not spawn notepad.exe in the current user's session, so it won't be visible, but you should see the process running.

but not process running.

SystemCollector.exe doesn't spawn notepad, it interacts with the service and causes DiagnosticsHub.StandardCollector.Service.exe to spawn notepad. Make sure you are testing on an unpatched system and that the DLL has been compiled for the correct architecture.

thanks


[Minor Bug] Wiki search box cursor starts on the right.

When I click search using the Wiki plugin the chat box cursor starts on the right.

I'm curious if this is a "bug" with resizeable-chat, or if it is a "disconnect" (not sure if this is the right word) between the native RuneLite chatbox widget and resizable-chat's chatbox widget...
Let me explain:
From the gif and my own testing, I noticed that the chatbox widget is not resizable when the search event is triggered. I believe the RuneLite client displays a different widget (not the existing resizable-chat widget) when the search button is clicked... This could be why the search chatbox isn't resizable.
I wonder if somewhere in that transfer of control from resizable-chat's widget to native RuneLite's widget is having some issue...
I'll look into it on my own, but I bet @thource will beat me to a response/fix :D


fix: update go version in makefile for m1 support

I suspect it's because of the hard-coded go version within the make file that the darwin arm is not built by the go releaser.
"GO_VERSION := $(shell $(GO) version | sed -e 's/^[^0-9.]([0-9.]).*/\1/')"
is from jenkins x cli makefile, where it seems to work.
https://github.com/jenkins-x/jx/blob/main/Makefile
Go Version and darwin arm support.
https://github.com/goreleaser/goreleaser/issues/1952

Created this PR due to Issue
https://github.com/jenkins-x/jx/issues/8067

/assign @ankitm123
Let's test this out. No harm even with the merge I guess as only GO_VERSION will be set dynamically now.

Go version should always be set dynamically, but some of our repos have hard coded values sadly. The image we use for building the binaries is 1.15, so the jx-preview binary will now be built with 1.17. Thanks for updating this.

/ok-to-test
/lgtm

However this wont build the arm binary. The binary is built in this github actions file: https://github.com/jenkins-x-plugins/jx-preview/blob/725098c2b3ba302d2ab3085c64deccb68a0485d3/Makefile#L134
which calls make release, which only releases linux binary atm. That needs to be changed to include arm as well.


Add a way to determine if a socket is in an error state

Right now, errors in polling are reported as "read-ready" events. However, it may be advantageous to split it out into its own "error" category that can be returned from a wait.
This would be a breaking change.

After some thought, I doubt there are many advantages here. Closing for now.


unhandled error with browser tests and modified base

Describe the bug
Browser testing does not work when using a non-default base setting. When the base value is modified, the following error occurs using a minimal vitest.config.ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  base: '/example/',
  test: {
    browser: {
      enabled: true,
      headless: true,
      name: 'firefox',
      provider: 'playwright',
    }
  }
})

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Errors ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯

Vitest caught 1 unhandled error during the test run.
This might cause false positive tests. Resolve unhandled errors to make sure your tests are not affected.

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Reload Error ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Error: Vitest failed to load "vitest/utils" after 10 retries.
 ❯ ../../../../../__vitest_browser__/index-JmUxqpfn.js:958:36
 ❯ async* ../../../../../__vitest_browser__/index-JmUxqpfn.js:950:4

Caused by: TypeError: error loading dynamically imported module: http://localhost:5173/@id/vitest/utils

Removing the base setting, or setting it to an empty string, makes the error no longer occur.
Reproduction
This minimal example demonstrates the issue. Run npm install; npm test to cause the error. Remove the base configuration option in vitest.config.ts to make the error go away.
vitest-browser-base-bug.zip
System Info
System:
    OS: Linux 6.2 Ubuntu 22.04.3 LTS 22.04.3 LTS (Jammy Jellyfish)
    CPU: (16) x64 Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz
    Memory: 56.16 GB / 62.63 GB
    Container: Yes
    Shell: 5.1.16 - /bin/bash
  Binaries:
    Node: 20.5.1 - /usr/bin/node
    Yarn: 1.22.19 - /usr/bin/yarn
    npm: 10.2.2 - ~/.npm-packages/bin/npm
  Browsers:
    Chrome: 120.0.6099.62
  npmPackages:
    @vitest/browser: ^1.0.1 => 1.0.1
    vite: ^5.0.6 => 5.0.6
    vitest: ^1.0.1 => 1.0.1

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

@alexdulin Beat me to this today...I've got the root cause:

https://github.com/vitejs/vite/pull/5657 made Vite reject URLs outside of config.base.
This change became part of Vite 5.0.0-beta.8
Vitest's dependency on Vite was bumped to ^5.0.0-beta.15 as part of https://github.com/vitest-dev/vitest/pull/4368
This change became part of Vitest 1.0.0-beta.5

I've just posted the repo with my minimal demo and notes on how to reproduce these findings: https://github.com/mbland/vitest-utils-browser-import
And FWIW, I went through the steps outlined in the above repo to pinpoint this after reproducing the problem in one of my other projects on:

macOS: Safari, Chrome, Firefox
Linux: Chromium, Firefox
Windows 11: Chrome, Firefox, Edge
GitHub Actions + Linux: Chrome

I'm happy to try to take a stab at a PR myself in the next day or two, if I'm able to figure out a good way to fix it before anyone else does.

I'm happy to try to take a stab at a PR myself in the next day or two, if I'm able to figure out a good way to fix it before anyone else does.

I think we just need to pass down base to importId:
https://github.com/vitest-dev/vitest/blob/640881a5942892636aaaeef3b5844a25d9932878/packages/browser/src/client/utils.ts#L1

I think we just need to pass down base to importId:
https://github.com/vitest-dev/vitest/blob/640881a5942892636aaaeef3b5844a25d9932878/packages/browser/src/client/utils.ts#L1

Cool. I'd traced through the code and wondered if passing base there was the right approach, so I'll give that a try.

I wonder if using base config is genuinely required to run Vitest in your current setup.
If base config is simply coming from the shared vite.config.ts used for main Vite app and disabling it during Vitest is acceptable, then using process.env.VITEST to change this option might be a quick workaround, for example:
export default defineConfig({
  base: process.env.VITEST ? undefined : '/example/',
  test: {
    browser: {
      enabled: true,
      headless: true,
      name: 'firefox',
      provider: 'playwright',
    }
  }
})

FWIW, I've also updated the test in my demo showing how the workaround will timeout when opening a local page prefixed with config.base: https://github.com/mbland/vitest-utils-browser-import/blob/87eb6a278b9a732da6f3d70f9ec64796d66d0c37/demo.test.js#L1-L12


use offscreen canvas to fully defer the computation to workers

Instead of spawning a worker per request (and killing the old one), switch to OffscreenCanavs passed to the worker (only 2 workers at all time) + never call a new draw while the old one is running (with a simple queue system)

Before
After

To note: this PR is broken. I had to add to it 2 fixes: https://github.com/Ayc0/ayc0.github.io/commit/23a6b3a6f1a070445822c62d6dc2ad4151431d3b & https://github.com/Ayc0/ayc0.github.io/commit/077710f2ee77850efcf58a1a0f46dd4e8d7df105


I don't exactly know what is causing this issue, but I hope you can fix it soon!

I'm not a coder, but here is all I can offer. It may have to do with the MMSR (Much More Spiders Reborn) mod which adds a spider by the same name. If it has to do with the ID, perhaps changing the name to something like magmaspider or lava_spider may fix it.
The game crashed whilst initializing game
Error: java.lang.RuntimeException: Duplicate stat id: "TranslatableComponent{key='stat.entityKill', args=[TranslatableComponent{key='entity.magma_spider.name', args=[], siblings=[], style=Style{hasParent=true, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}], siblings=[], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}" and "TranslatableComponent{key='stat.entityKill', args=[TranslatableComponent{key='entity.magma_spider.name', args=[], siblings=[], style=Style{hasParent=true, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}], siblings=[], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}" at id stat.killEntity.magma_spider

I will release an update adding my mod id to the name but that will have to wait until mid-April. Sorry.

Fixed in 0.3 released on Sunday 22/4


Receiving Lost Server error shortly after starting a TMUX session

tmux-client-19.txt
tmux-server-21.txt
(Is there a better way to show my logs?)

Switching to the WSL Debian Distro on the Microsoft Store seemed to fix this. I was originally using WSL Ubuntu.

Right then it's a WSL problem


Repetition in interpolation

@hmartiro In interpolation, i always get repetitve music, every 5 seconds. Even with your seed images from huggungface repo.
Any tips to avoid this?

Have the same problem


Download pauses in the middle until user clicks [enter] key in command prompt

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like this: [x])
Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2019.04.17. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2019.04.17

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[ X ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add the -v flag to your command line you run youtube-dl with (youtube-dl -v <your command line>), copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v', u'http://www.youtube.com/watch?v=BaW_jenozKcj']
[debug] Encodings: locale cp1251, fs mbcs, out cp866, pref cp1251
[debug] youtube-dl version 2019.04.17
[debug] Python version 2.7.11 - Windows-2003Server-5.2.3790-SP2
[debug] exe versions: ffmpeg N-75573-g1d0487f, ffprobe N-75573-g1d0487f, rtmpdump 2.4
[debug] Proxy map: {}
...
<end of log>

PROBLEM + SOLUTION FOR EVERYONE!
PROBLEM = command prompt gets stuck in between the download. Then I have to hit enter to get it to work again.
SOLUTION: Disable the quick-edit mode as described here: https://stackoverflow.com/questions/33883530/why-is-my-command-prompt-freezing-on-windows-10
Sure. It hangs somewhere in between. I don't remember the exact point. But it just waited there for an hour until I brought the focus to the command-prompt and then clicked [enter] key. Once I tapped it, it immediately continued. Here're the complete logs:
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', '-o', 'C:/Mugen/videos/test.mp4', 'https://www.youtube.com/embed/qKP9ZujwUUQ', '-f', 'bestvideo[height<=480] + bestaudio/best[height<=480]']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] youtube-dl version 2019.03.18
[debug] Python version 3.6.2 (CPython) - Windows-10-10.0.17134-SP0
[debug] exe versions: ffmpeg git-2017-12-29-0c78b6a, ffprobe git-2017-12-29-0c78b6a
[debug] Proxy map: {}
[youtube] qKP9ZujwUUQ: Downloading webpage
[youtube] qKP9ZujwUUQ: Downloading video info webpage
[youtube] qKP9ZujwUUQ: Downloading MPD manifest
[debug] Invoking downloader on 'https://manifest.googlevideo.com/api/manifest/dash/sparams/as%2Cei%2Chfr%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Cplayback_host%2Crequiressl%2Csource%2Cexpire/mn/sn-ci5gup-cag6%2Csn-ci5gup-h55z/id/a8a3fd66e8f05144/expire/1555457897/source/youtube/mv/m/ms/au%2Crdu/ip/<IP_ADDRESS>/key/yt6/itag/0/ipbits/0/mt/1555436266/initcwndbps/692500/requiressl/yes/hfr/all/playback_host/r5---sn-ci5gup-cag6.googlevideo.com/as/fmp4_audio_clear%2Cwebm_audio_clear%2Cwebm2_audio_clear%2Cfmp4_sd_hd_clear%2Cwebm2_sd_hd_clear/ei/CRO2XJr1DKmB3LUPtKOL-Ak/fvip/5/mm/31%2C29/signature/C6D298024E9127DA7D540E7D71B85DD88D309ABF.9B04166760DACC6676B2360954AAA3D2E7965429/pl/20'
[dashsegments] Total fragments: 86
[download] Destination: C:/Mugen/videos/test.f135.mp4
[download]  79.1% of ~20.88MiB at  2.65MiB/s ETA 00:28

Description of your issue, suggested solution and other information
I've got some automation going on in which I invoke youtube-dl by starting a command-prompt and pass it a bunch of parameters.

Param for the video/audio quality (because I don't want to download too big file sizes)
Param for the destination location + file name

In the whole process, it keeps downloading the videos with various launches. However, every now and then it gets stuck in-between. It's more like it's gone to sleep mode. Once this happens then it can even be hours before it resumes again. I need to select the command prompt with my mouse and then hit an [enter] key.
***Another important observation: ***
I think that the command prompt goes into this "select" mode as described over here: https://stackoverflow.com/questions/33883530/why-is-my-command-prompt-freezing-on-windows-10
I'm currently trying out this solution. Will update this thread again if it reproduces. If it doesn't, then the correct solution for this issue is as described in the link. We need to disable quick-edit mode for cmd.

Totally unrelated to youtube-dl as described by your link.

Yes. It is unrelated. But I'm pretty sure that someone else is going to come across this issue and I hope that this ticket serves as a placeholder to direct them to the right solution.
An update from my side. I tried out the solution in the link and it's working fine. youtube-dl (aka whatever application is running in cmd prompt) does not hang by itself anymore.


Change in the project nomenclature

readme.md updated accordingly. I think I've got all of them and hopefully it'll spare someone else the pain I went through
Category

[x] Content fix
[ ] New article
Related issues: fixes #X, partially #Y, mentioned in #Z

For the above list, an empty checkbox is [ ] as in [SPACE]. A checked checkbox is [x] with no space between the brackets. Use the PREVIEW tab at the top right to preview the rendering before submitting your issue.
(DELETE THIS PARAGRAPH AFTER READING)

What's in this Pull Request?

Please describe the changes in this PR. Sample description or details around bugs which are being fixed.
(DELETE THIS PARAGRAPH AFTER READING)

Guidance

Please update this PR information accordingly. We'll use this as part of our release notes in monthly communications.
Please target your PR to 'master' branch. Released documents are in live branch.
(DELETE THIS PARAGRAPH AFTER READING)

thx Derek, appreciated.


Colors are wrong

Hue clients send color information not as RGB (which would be the easiest) but, as one of multiple options, as hue, sat, briwith hue (expressed in ~deg*182.04), bri between 0-254 (0 is not off!), and sat between 0-254. Conversions are required to drive NeoPixels which only understand RGB. Currently these conversions are not correct.
Need to use HSB. Makuna has started to implement HSBColor object already.
Looking forward to using it.

Now using Hsb


Update s3-utils to 0.1.164 in scala-steward-dependencies

About this PR
📦 Updates uk.gov.nationalarchives:s3-utils from 0.1.161 to 0.1.164
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "uk.gov.nationalarchives", artifactId = "s3-utils" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "uk.gov.nationalarchives", artifactId = "s3-utils" }
}]

labels: library-update, early-semver-minor, semver-spec-patch, commit-count:1

Superseded by #3872.


[DC-3073] the notebook, analytics/cdr_ops/rt_cdr_qc/cdr_deid_qa_report4_dateshift.py needs several updates

updated dateshift notebook for errors.

Your updates cover the scope of the ticket but one update causes Q14 check to fail. Also,
Q14 results are appended as Query13 and Q15 results are appended as Query14.3 to the final results table, and this is misleading. You should update those dictionary key values in lines 396, 399, 497, and 500.

Nice catch. thanks


Added "Resolution" section

Added "Resolution" section with the first analysis action.

@LuigiBruno - Thanks for PR. BTW, some of these older bug checks are no longer active in current day Windows, but if anyone runs into it, using !analyze is always a good idea.

Thank you @DOMARS.


Fix nightly build

I'm not sure if I understood correctly, but the SonarCloud step broke because of the Bean Validation modules that doesn't contain any code (empty jars).
Should I revert the #786 and add the Hibernate Validator and BVal directly in the pom.xml of WebProfile and ApacheWebProfile (respectivly), as they don't need any custom logic to integrate?


Add redirect from master to main

doesn't seem to be working, I get a 404

@bocon13 is there no way to redirect https://p4.org/p4runtime/spec/master/P4Runtime-Spec.html and https://p4.org/p4runtime/spec/master/P4Runtime-Spec.pdf, only https://p4.org/p4runtime/spec/master/ ?

I missed those. Thanks!
The PDF redirect is tricky, let me know if you have another idea:
https://p4.org/p4runtime/spec/master/P4Runtime-Spec.pdf

Thanks for taking care of this. I think the current solution is fine.


Launchpad install script points to wrong version of the catalog

When installing the launchpad through the automatic script, the launchpad was showing all 6 boosters instead of just CRUD, Healtcheck and REST

@cmoulliard mind taking a look?

@rhoads-zach Do we have to use a specific tag or master is correct (https://github.com/openshiftio/appdev-documentation/blob/master/scripts/deploy_launchpad_mission.sh#L77-L78) ?

I believe that is an @gastaldi question

@cmoulliard @rhoads-zach When a release train happens, we tag the template, changing the default values of these ENV vars to the correct values. Master is used only for development.
The tagged template has these values already set, so you must not override it. So if your script could just point to the tagged template and not override LAUNCHPAD_BACKEND_CATALOG_GIT_REF that should be enough.

@gastaldi So do you suggest to remove these lines ?
    -p LAUNCHPAD_BACKEND_CATALOG_GIT_REF=master \
    -p LAUNCHPAD_BACKEND_CATALOG_INDEX_PERIOD="0" \

or just
    -p LAUNCHPAD_BACKEND_CATALOG_GIT_REF=master \

Remove all env vars that begin with LAUNCHPAD_BACKEND_CATALOG

see https://github.com/openshiftio/appdev-documentation/pull/149

Merged in https://github.com/openshiftio/appdev-documentation/commit/723a61f4e84b9a35ef1816765ce48a8d1829bc89


[enhancement] Edit Nebari's timezone

Description
I noticed that my JupyterLab instances were set up with the America/Chicago timezone, as defined here.
I see multiple use cases where this can lead to bad user experience. For instance, a user having made a notebook that displays a time and date on his own machine will have to edit his code to adapt to the different timezone on QHub.
It's even more problematic if the notebook is actually meant to be a dashboard shared with people.
Suggestion
By giving enough flexibility to set up a unique timezone, it removes the unexpected surprise for Users.

First option : Have the Admins set up  one unique timezone for all the components of QHub.
This is convenient for companies spread over only one timezone. It's also easier to implement (I guess)

Second option : Have the users be able to set up their own timezone.
For a full-remote company like us, spread over many timezones, it makes sense : If I run a codebase showing the current time in France, I want it to show the current time at your place too.

Context

With the Prefect integration, a focus on timezones coherence becomes necessary : we don't want a task to be run at the wrong time.

Having to modify code to adapt to a timezone is painful and should be unnecessary.

I have noticed the same and I found it an odd decision to make Chicago the default tz identifier.
I am +1 on adopting a universal tz such as UTC  and explicitly call it in the docs (many projects use UTC)
Plus giving the option to change the default timezone as needed

c.c. @costrouc what are your thoughts on this?

I think customizing the JuptyerLab image with a specific TZ is possible only if we allow users to customize their own images: https://github.com/nebari-dev/governance/issues/22

Customizing the timezone can be handled by jhub-apps, moving this issue to the relevant repo.
We can track changing the default timezone in the docker-images repo :)


[AutoPR visualstudio/resource-manager] Added patch API to swagger doc in Visual studio RP[Draft]

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/4368

This PR has been merged into https://github.com/Azure/azure-sdk-for-js/pull/390


Installing electron-forge without -g flag modifies files outside current directory

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[x] I have searched the issue tracker for an issue that matches the one I want to file, without success.

Please describe your issue:
After running $ npm install electron-forge in ~/path/to/folder:
the following is added to ~/.bashrc:

# tabtab source for electron-forge package
# uninstall by removing these lines or running `tabtab uninstall electron-forge`
[ -f ~/path/to/folder/node_modules/tabtab/.completions/electron-forge.bash ] && . ~/path/to/folder/node_modules/tabtab/.completions/electron-forge.bash

I have not yet investigated what else might have been modified, but this is very unexpected. Local npm package installation should not modify the filesystem outside of the current directory. I explicitly installed the package locally because I did not want these kinds of changes made.
Will someone please list which files are created, deleted, or modified outside of the current directory when using the command npm install electron-forge?

Will someone please list which files are created, deleted, or modified outside of the current directory when using the command npm install electron-forge?

In v5, this is the only one, in v6 we removed tabtab as it was causing too many issues.

Local npm package installation should not modify the filesystem outside of the current directory.

I'd be interested in a source for that, I can list modules by the dozen that do this :smile:

I'd be interested in a source for that, I can list modules by the dozen that do this 😄

See the first unordered list item ("Local install") at https://docs.npmjs.com/files/folders#tldr

Those docs are referring to what npm does, there are no restrictions on what packages do (this is why the post install phase is run) packages can so whatever they want.
Not saying that randomly dumping stuff into a bashrc during a local install is a good thing to do.  Just saying that for certain use cases, writing outside of the local node modules install is 100% the right thing to do.

I'm not saying you're wrong—I'm just saying that ever doing so without first asking the user is a very fast way to destroy user trust.


Send page fixes

Mostly Behavioral bugs. Will address UI improvements in 656

@Patrick1904

scroll to top when moving forward in send flow

Do we have this problem when moving between different pages in general or does it only apply to flows which are encapsulated inside single component (i.e. not changing URL between steps)?
Seems like we need generic solution, not just for send flow.

Seems like we need generic solution, not just for send flow.

@vgrichina yes exactly, since these are 'views', but don't change route in the flow. The generic route-based scroll-to-top is here.


Added Supernova Engine

Supernova Engine in the list.

hey @eduardodoria thanks for the PR! Can you keep the list alphabetically sorted please?

I'm sorry!
It's sorted now.


Aggregate entropy

I have found the bug, add entropy was calculated for constant number of bins = 10. As we changed n.o. bins entropy increased, but tendency is the same (the scaling of entropy problem). I also made first calculation of entropy via plot_angle_histogram. Just printing results for first testing.

@NKruszewska , @Piotr8706 mind the absolute val of entropy has changed


Federate with on-premises should be synchronize on-prem to AAD

In section 1 this document states Cloud identity federates with on-premises identity systems and also says Connect all of your users to Azure AD and federate with on-premises identity systems.  This implies leveraging AD FS instead of leveraging AAD as the authoritative source for identities.
Both of these should says synchronize onprem identities to Azure AD and not refer to federation.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: bf822ed1-8fb0-d02c-3677-0afd1e19f553
Version Independent ID: ca142bdc-5c0a-3ed1-8bce-a97c34a62e72
Content: Securing identity with Zero Trust
Content Source: zero-trust/identity.md
Service: security
GitHub Login: @garycentric
Microsoft Alias: v-gmoor

Thanks for your dedication to our documentation. Unfortunately, at this time we have been unable to review your issue in a timely manner and we sincerely apologize for the delayed response. We are closing this issue for now, but if you feel that it's still a concern, please respond and let us know. If you determine another possible update to our documentation, please don't hesitate to reach out again. #please-close


Create Pull Request and Issue templates

Direct the reader to existing documentation
Request that any Pull Requests be submitted after opening a new Discussion and receiving positive feedback

Look here for inspiration re issue template:
https://github.com/TwiN/.github

Another example:
https://github.com/vmware/govmomi/tree/master/.github


Context extension: What's the replacement?

From @m-mohr:
Came up in Gitter today, but I can't open issues in the context extension so doing it here so that we can keep track:
We should give a hint in the context extension readme what the actual replacement for the context extension is.

Chat from Gitter:
@dirkdaems wrote:

Hi, we recently bumped into the fact that the context API extension (https://github.com/stac-api-extensions/context/) was deprecated (https://github.com/stac-api-extensions/context/commit/47ee1d3c6c90a4011df7a81476bcc8449928c7cd). Does somebody know (1) why it was deprecated and (2) what should be used to replace it?

@m-mohr wrote:

We should probably add a note to the README that explains what should be used instead.
Quick recap:

OAFeat offers the same functionality so we aligned with them
Which means that you just use what is used in OAFeat (i.e. the fields numberMatched, numberReturned etc)

@dirkdaems wrote:

thanks, this clarification should indeed be added to the README

https://github.com/radiantearth/stac-api-spec/issues/396


Airflow integration start and complete events don't reflect actual task states

When the Airflow DAG creates a new DagRun, it immediately posts a new START event for each task in the DAG. Once the entire DAG has completed, the handle_callback method posts a COMPLETE or FAILED event for each task, depending on the actual end state of each. An example from a simple DAG looks like this (most fields omitted)
{"job":"etl_orders.if_not_exists","state":"START","inputs":[],"outputs":[]}
{"job":"etl_orders.insert","state":"START","inputs":[],"outputs":[]}
{"job":"etl_orders.if_not_exists","state":"START","inputs":[],"outputs":[]}
{"job":"etl_orders.insert","state":"START","inputs":[],"outputs":[]}
{"job":"etl_orders.insert","state":"COMPLETE","inputs":[{"name":"marquez.food_delivery.tmp_orders","namespace":"bigquery"}],"outputs":[{"name":"marquez.food_delivery.orders","namespace":"bigquery"}]}
{"job":"etl_orders.if_not_exists","state":"COMPLETE","inputs":[],"outputs":[{"name":"marquez.food_delivery.orders","namespace":"bigquery"}]}
{"job":"etl_orders.insert","state":"COMPLETE","inputs":[{"name":"marquez.food_delivery.tmp_orders","namespace":"bigquery"}],"outputs":[{"name":"marquez.food_delivery.orders","namespace":"bigquery"}]}
{"job":"etl_orders.if_not_exists","state":"COMPLETE","inputs":[],"outputs":[{"name":"marquez.food_delivery.orders","namespace":"bigquery"}]}

The result of this is a correct and complete lineage graph, but the runs show incorrect dataset versions consumed. For example, if the etl_orders.insert job creates version X of the marquez.food_delivery.orders dataset and I add a GreatExpectationsOperator to the DAG, I expect the DataQuality facet to be appended to version X of the dataset. Instead, since the OpenLineageValidationAction posts a COMPLETE event immediately, without waiting for the rest of the DAG to complete, the Marquez server sees that the validation job completed before the etl_orders.insert job, therefore it assumes that the version of the dataset validated is the version prior (version W).
While the Marquez server could use some heuristics to determine that write job is still running, therefore that the dataset is actively being modified and, thus, that the version of the data being read is the new version, this won't always be true. For instance, a data store that supports transaction isolation can support one job reading the old data while a write job modifies the data concurrently.
The Airflow integration should be modified to post START and COMPLETE events that reflect the actual start and end times of the tasks. In addition to fixing the dataset version issue, it will also reflect the actual runtimes of the tasks, helping consumers understand when jobs are taking longer than normal or when they're starting later than expected.

[ ] Maciej to write up proposal

I've tried to find way to get notified of task completion in 1.10 via DAG - without success. LineageBackend based approach works though. Maybe combination of both will work? The START and FAIL events would be published by DAG as it's now, and complete ones by LineageBackend.
Anyway,

While the Marquez server could use some heuristics to determine that write job is still running, therefore that the dataset is actively being modified and, thus, that the version of the data being read is the new version, this won't always be true. For instance, a data store that supports transaction isolation can support one job reading the old data while a write job modifies the data concurrently.

The fact that times for COMPLETE events have correct time doesn't help you, right? If you depend on processing instead of event time, I can see a lot of problems in the future with race conditions.
Overengineering out loud: maybe Marquez could "reconciliate" such events - if we get COMPLETE event for dataset modification in the past, all the datasets that depend on it and have start time after the COMPLETE event finished should point at the new dataset? That would solve the transaction isolation, provided that database supports snapshot isolation.

Approach with using both DAG and LineageBackend turns out to be feasible, so let's go with it.
On the other hand, Marquez's handling of those type of events remains problematic - we can't always control when we emit events. For example, dbt integration always emits both start and complete events when it finishes. Even if we could, depending on order of HTTP requests instead of event time will remain a problem in case when we have multiple independent systems emitting OpenLineage events that work on single dataset.
Further, even if we could have perfect serializability of events, the semantics of which dataset versions is used isn't always right.
For example:

If storage system in that case would be bigquery, then reader would read version before writer's modification. In contrary, when storage would be just raw parquet files on object storage, reader would have inconsistent view. Hovewer, do we want to assume anything here?

Hovewer, do we want to assume anything here?

No, that's why I don't want to rely on server-side heuristics. I wonder if there's something in the model we can augment to make the relationships more explicit. E.g., if we know that TaskB is dependent on TaskA and then that TaskA writes DatasetX and taskB reads DatasetX, we can know that TaskB relies on the version of DatasetX that was written by TaskA, not the version prior.
This only works for workflows that have explicit dependencies (e.g., Airflow DAGs) and makes it tricky to support external jobs that work on shared datasets- e.g., an Airflow DAG that modifies a Dataset, then triggers a Spark job that reads the Dataset and writes a new Dataset that is then consumed by another task in the Airflow DAG.
The parent run hierarchy can help- e.g., the Spark job's parent run will be the Airflow task that triggered it, thus it will inherit the dependency on the task that writes its input Dataset. However, the Spark run will start and complete before its dependency Airflow task, so what version of the Dataset will be recorded for the Spark job? I suppose if we rely on the dependency mechanism, it will assume that the correct version of the dataset was read. Currently, we always assume the version is the Dataset.currentVersion; we can change that assumption to support a job dependency model.
Some tricky edge cases arise, though. What happens when a task is downstream of another, but doesn't require the upstream task to succeed? E.g., a GreatExpectations validation job could be run on a dataset even if the upstream task fails (i.e., TriggerRule.ALL_DONE). Since the OpenLineageValidationAction fires before the upstream task's status is reported, we might assume that it read the version of the dataset produced by the upstream task, but really it's reading the older version since the upstream task failed to write. In that case, do we modify the completed GreatExpectations run to reflect the failed status of the upstream task? What if the upstream task modifies multiple datasets and one write completed successfully, but the second write failed? How do we know whether the Dataset read by GreatExpectations was the one affected by the failure? Should we assume job runs are atomic?
Some of this is maybe outside of the scope of OpenLineage and in the domain of event consumers, but I think it's important to consider what services are doing with the data we send and offer as much clarity in the spec as possible.

What about better supporting situations where we can tell exactly which version we're working with?

Yeah, I proposed https://github.com/OpenLineage/OpenLineage/issues/35 some months ago. This will be great for those datasets that do support explicit versioning. Unfortunately, the vast majority of data sources will not be covered by that issue.


AWS Amplify console fails to build:  ✖ There was an error initializing your environment.

Describe the bug
This was a previous working project that suddenly as on yesterday (Nov 25th) has issues building.
The build process fails with the following:
                                 # Starting phase: build
                                 # Executing command: amplifyPush --simple
2020-11-27T04:28:02.575Z [INFO]:
2020-11-27T04:28:02.577Z [INFO]: For more information on AWS Profiles, see:
                                 https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html
2020-11-27T04:28:02.588Z [WARNING]: (node:1969) ExperimentalWarning: The fs.promises API is experimental
2020-11-27T04:28:03.681Z [INFO]: Amplify AppID found: d2y0bndwty1i0h. Amplify App name is: amplifynewsscraper
2020-11-27T04:28:03.741Z [INFO]: Backend environment dev found in Amplify Console app: amplifynewsscraper
2020-11-27T04:28:04.202Z [INFO]:
2020-11-27T04:28:04.205Z [WARNING]: - Fetching updates to backend environment: dev from the cloud.
2020-11-27T04:28:04.608Z [WARNING]: ✔ Successfully pulled backend environment dev from the cloud.
2020-11-27T04:28:04.666Z [WARNING]: ✖ There was an error initializing your environment.
2020-11-27T04:28:04.671Z [INFO]: Failed to pull the backend.
2020-11-27T04:28:04.672Z [INFO]: Cannot read property 'newsarticlebuildwordcloud' of undefined
2020-11-27T04:28:04.676Z [INFO]: TypeError: Cannot read property 'newsarticlebuildwordcloud' of undefined
                                 at recursiveOmit (/root/.nvm/versions/node/v10.16.0/lib/node_modules/@aws-amplify/cli/node_modules/amplify-cli-core/src/deploymentSecretsHelper.ts:34:20)
                                 at recursiveOmit (/root/.nvm/versions/node/v10.16.0/lib/node_modules/@aws-amplify/cli/node_modules/amplify-cli-core/src/deploymentSecretsHelper.ts:34:3)
                                 at recursiveOmit (/root/.nvm/versions/node/v10.16.0/lib/node_modules/@aws-amplify/cli/node_modules/amplify-cli-core/src/deploymentSecretsHelper.ts:34:3)
                                 at Object.exports.removeFromDeploymentSecrets (/root/.nvm/versions/node/v10.16.0/lib/node_modules/@aws-amplify/cli/node_modules/amplify-cli-core/src/deploymentSecretsHelper.ts:20:5)
                                 at AmplifyToolkit.saveEnvResourceParameters [as _saveEnvResourceParameters] (/root/.nvm/versions/node/v10.16.0/lib/node_modules/@aws-amplify/cli/src/extensions/amplify-helpers/envResourceParams.ts:93:9)
                                 at /root/.nvm/versions/node/v10.16.0/lib/node_modules/@aws-amplify/cli/node_modules/amplify-category-function/src/index.ts:116:15
                                 at process._tickCallback (internal/process/next_tick.js:68:7)
2020-11-27T04:28:04.695Z [ERROR]: !!! Build failed
2020-11-27T04:28:04.695Z [ERROR]: !!! Non-Zero Exit Code detected
2020-11-27T04:28:04.695Z [INFO]: # Starting environment caching...
2020-11-27T04:28:04.696Z [INFO]: # Environment caching completed
Terminating logging...

The "newsarticlebuildwordcloud" is one of my functions and hasnt had any changes and can be run using amplify mock function without issues.  Initially it had one of my other functions listed as failing so I removed to function (in the hopes of getting it to deploy) but then I get the same issue with this function.  Again, they both were working and can be mock tested locally without issues so I am not sure what is suddenly missing or what "2020-11-27T04:28:04.672Z [INFO]: Cannot read property 'newsarticlebuildwordcloud' of undefined" really means.  The function is there and working (locally) so where does the issue lie?
Expected behavior
The error should state what is missing of from where it is missing.

I had the same error. Downgrading the amplify-cli fixed it for me:

Hey @Johannes-Engler that fixed it for me thx.  On a side note looks like there is a bug in the "latest" version of Amplify CLI.  To reiterate the fix that solved this issue I went to the Build Settings in the menu and updated to 4.34.0 like @Johannes-Engler  suggested.  Then I just re-ran the build and the issue was fixed and the build completed.

Closing for now based on CLI issue please re-open if you are still experiencing issues.

FWIW I had this problem start out of the blue yesterday midday (US/Central). After hours of researching and reverting unrelated changes and banging my head into the figurative wall I found this thread and tried setting the AWS CLI version to 4.34.0 as described, and it worked.
I'm quite surprised that 6 months later this is still needed, and interestingly as recently as ~1700 UTC yesterday it worked without the version override. Makes me suspect a new version was pushed yesterday that reintroduced some problem, or something like that.

I am having a similar issue.
My last successful build was on Amplify 4.52.0. but with the latest amplify, it is not working at 5.1.1.
The main difference starts when i added google OAuth to my amplify Auth.

Is there any update on this issue.
I'm having the same issue after integrating OAuth into my project

Same issue here.

Experiencing this with numerous versions. Unable to deploy and am receiving the same error.

I am also experiencing the sam problem. Why is the issue Closed?

This was working on a previous project and now I am experiencing this on every new project. It is a blocker as nothing can be done on AWS Amplify!

For anyone wondering and future references, the fix for us was not to downgrade the CLI version but to set some environment variables in the amplify console
Similar to the image below

There are no specific documentation about this being needed but that fixed my issue
https://docs.aws.amazon.com/amplify/latest/userguide/environment-variables.html#amplify-console-environment-variables
In the link above you can see the name of the variables names for each one of the different social sign ins

Has a similar issue during the first deployment:
2022-01-04T16:42:13.470Z [WARNING]: ✔ Successfully pulled backend environment develop from the cloud. 2022-01-04T16:42:13.481Z [WARNING]: ✖ There was an error initializing your environment. 2022-01-04T16:42:13.489Z [INFO]: Failed to pull the backend. 2022-01-04T16:42:13.493Z [INFO]: File at path: '/codebuild/output/src715392117/src/qizify-e-learning/amplify/backend/auth/qizifyelearning067fe909/parameters.json' does not exist 2022-01-04T16:42:13.501Z [INFO]: Error: File at path: '/codebuild/output/src715392117/src/qizify-e-learning/amplify/backend/auth/qizifyelearning067fe909/parameters.json' does not exist                                      at Function.JSONUtilities.readJson (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/node_modules/amplify-cli-core/src/jsonUtilities.ts:25:15)                                      at StateManager.getData (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/node_modules/amplify-cli-core/src/state-manager/stateManager.ts:399:32)                                      at StateManager.getResourceParametersJson (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/node_modules/amplify-cli-core/src/state-manager/stateManager.ts:147:17)                                      at ensureAmplifyMetaFrontendConfig (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/src/extensions/amplify-helpers/on-category-outputs-change.ts:84:55)                                      at AmplifyToolkit.onCategoryOutputsChange [as _onCategoryOutputsChange] (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/src/extensions/amplify-helpers/on-category-outputs-change.ts:18:5)                                      at initializeEnv (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/src/initialize-env.ts:103:27)                                      at onSuccess (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/src/attach-backend.ts:88:7)                                      at attachBackend (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/src/attach-backend.ts:31:5)                                      at Object.run (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/src/commands/pull.ts:59:5)                                      at Object.executeAmplifyCommand (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/src/index.ts:373:5)                                      at executePluginModuleCommand (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/src/execution-manager.ts:178:3)                                      at executeCommand (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/src/execution-manager.ts:30:5)                                      at Object.run (/root/.nvm/versions/node/v12.21.0/lib/node_modules/@aws-amplify/cli/src/index.ts:205:5) 2022-01-04T16:42:13.530Z [ERROR]: !!! Build failed 2022-01-04T16:42:13.530Z [ERROR]: !!! Non-Zero Exit Code detected 2022-01-04T16:42:13.530Z [INFO]: # Starting environment caching... 2022-01-04T16:42:13.531Z [INFO]: # Environment caching completed
I wonder why it tries to use /amplify/backend/auth/qizifyelearning067fe909/parameters.json instead of /amplify/backend/auth/qizifyelearning067fe909/build/parameters.json which is generated locally.


Add support for nodelist, two_nodes (votequorum)

Add node_list and votequorum(two_nodes) for conf templates
Update docs
TODO(bogdando) provide rspecs

Closes-bug: #MODULES-1697
Signed-off-by: Bogdan Dobrelya<EMAIL_ADDRESS>

I'm not sure if this module is maintained by puppetlabs anymore, there is a LOT of functionality missing :(

This looks reasonable to me. Can you rebase it against master?

@sammcj the move to puppet-community means a larger group of open-sourcers can maintain it.

@nibalizer Ah I understand now - the good news is that means we don't have to use Jira :dancer:

@bogdando it appears that this PR overlaps with #126 and #124, the latter of which may be closed in favor of the former. Can you take a look at #126 and comment on whether your code has notable advantages over that? Otherwise, would merging #126 meet your needs, so that this PR would become obsolete?

It seems that https://github.com/puppet-community/puppet-corosync/pull/126 will configure the nodelist as well. Thank you for picking this up. Closing PR.


Fix non-triggering ports and premature input

Non-triggering ports prevented process function from being called in some cases because the loop over ports needed a do wrapper.
Also, input.getData() should return undefined for ports that have no data yet instead of crashing.

Can you update changes file?

@bergie done


Allow "ctrl+" keybindings to be executed from integrated terminal focus.

I have the keybinding "ctrl+h p" assigned to "workbench.action.togglePanel", and this works fine except when my focus is on the terminal. In this case, it seems to be the terminal who grabs the keys I am pressing, and I would like VS Code to grab them. ¿Is there any setting to allow this? If not, it would be nice to have that option.
By the way, I didn't modify the default contents of "terminal.Integrated.commandsToSkipShell", so "workbench.action.togglePanel" is on it, as it is by default.

The problem is that chord keybindings don't work when the terminal is focused, this is by design currently.


[Feature request] PDF inverse color (black to white, white to black, etc.) function

I hope to add a PDF color conversion function, can achieve the effect of black characters on a white background into white characters on a black background, of course, other colors can also be converted to other colors (preferably customizable), such as PDF Expert software.
The following is an example of conversion:
before conversion

after conversion

@Frooodle I have made the python code to add stamp in a pdf and also adjust its opacity, can you help me with how I can add that to the project

https://stirlingpdf.io/replace-and-invert-color-pdf
This should support inverse colours


Allow colon in class names

The official HAML parser allows a few characters which are not yet supported here, e.g. colon : which is heavily used in tailwindcss.
Comparing
https://github.com/haml/haml/blob/3841f56a8005bebcd89ee11de6afcd34f1f4abcb/lib/haml/parser.rb#L589
 list.scan(/([#.])([-:_a-zA-Z0-9\@]+)/) do |type, property|

to https://github.com/vitallium/tree-sitter-haml/blob/91e1f9a3bc2410930bb105dca158c280fee0271e/src/grammar.json#L301
      "value": "[_a-z0-9\\-]*[_a-zA-Z][_a-zA-Z0-9\\-]*",

it looks like HAML itself allows way more than what would practically be useful, but the current tree sitter grammar is at least missing colon which would be very useful for lines like .mx-2.sm:mx-5.
Please add colon to the grammar and -- if you like -- also @ or even update the rules to match official HAML, even though they're quite permissive.

That's great, thanks. Thank you for also creating the PR in zed-haml!


Fix typos in PW_RBSC atlas PE and PEV

They came up as spelling errors in #134. Don't know why they didn't come up in the original PR for the atlas, but maybe the update of the spellcheck code did that?

This is a struggle...The way we solved this atlas, I need to keep the typo in the "name" of the PEV because this is what it is. We correct it under "correctedName". So, what do we do here? The spellcheck will fail for this instance. Can this specific instance be ignored from the check?

closed, replaced by #140


Add Code of Conduct

We recommend that every repo has a code of conduct. If you don’t feel comfortable creating your own Code of Conduct from scratch we highly recommend using one of the templates provided by GitHub. If you do use a template, please read through the template and ensure that you can and will abide by the Code of Conduct.
Please follow these instructions on how to add a Code of Conduct.
Sample: https://github.com/Recode-Hive/Stackoverflow-Analysis/blob/main/CODE_OF_CONDUCT.md

Hey @sourabhkumar47 , Code of conduct is not there , would you please assign this task to   me

I would like to work on this issue. Please assign it to me.


Runtime error when used with BuckleScript 8.1.0

The new BS version seems to break, at runtime, the wonka take function:

The generated code for the take function looks something like this:
if (state.taken < max) {
  if (signal) {
    state.taken = max;
    return state.talkback(/* Close */1); // Breaks here
  } else {
    return state.talkback(/* Pull */0);
  }
}

When logging, the stage.talkback propery is indeed undefined 😞

Tried looking at this, how this can even happen? isnt the whole point of Reasonml is to avoid such issues?

@gaku-sei that’s pretty interesting! I can take a look at the BS changes, but can you send the affected code snippet over please so I can get an initial idea of why the talkback isn’t set?

@kitten the issue here is bs8 changed internal representation of variant from tag  to TAG, so dist need to be compiled with bs8 or it won't work


nested styles refer to top-level parent in sourcemap line number

i'm having an issue where my nested styles' sourcemap line number in chrome is referencing the top-most parent selector line and not the line that the nested selector starts.
body {
  h1 {
    background: #f00;
  }
}

will show file.scss:1 instead of file.scss:2 for the h1
i've tried outputting the map file to a separate file and embedding it, all the same.
using 3.4.0-beta1

Hi @tehOPEologist, thanks for this issue. @mgreter any thoughts on this one?

[Looks] 1 ok to me ...

hm, this isn't what's happening for me =/  here's what mine is doing: http://imgur.com/a/WiABA

Why is Body on line 5 in your screenshot??

i just added some sample code in an already existing file.  the devtools image shows core.scss:5, the parent of the h1, instead of 6, where the h1 selector starts.

@mgreter am i not understanding how the sourcemapping is supposed to work?  if it's working as intended, then ok, but i had someone online say their node-sass was showing the nested line number instead of the nested selector's parent line number =/

@xzfer any update?

Not really looking into this at the moment. Have you tried te beta?
On 24 Oct 2015 5:30 am, "Aaron Giordano-Barry"<EMAIL_ADDRESS>wrote:

@xzfer any update?
—
Reply to this email directly or view it on GitHub
https://github.com/sass/node-sass/issues/1206#issuecomment-150656767.

didn't see there was a new beta.  i'll try that and report back.  thanks!

@tehOPEologist @xzyfer I dont see anything wrong with what libsass produces for the given input!
http://libsass.ocbnet.ch/srcmap/#Ym9keSB7CiAgaDEgewogICAgYmFja2dyb3VuZDogI2YwMDsKICB9Cn0=

looks like latest node-sass beta is doing the same thing as before.  @mgreter i was under the impression that the sourcemapping would show the line of the actual selector, not its topmost parent.  is showing the line number for the topmost parent of the tag the intended result?  like i said when i first opened this issue, i've seen nested style with sourcemapping show the line of the actual selector, not its topmost parent..

just ran a test with the latest ruby sass and it's sourcemapping nested children on the child's line and not the top-most parent like it should be.  this is definitely a bug and isn't working as intended.
Ruby Sass 3.4.19:
body {
  h1 {
    background: red;
  }
}

compiles to:
body h1 {
  background: red; }

/*# sourceMappingURL=core.css.map */

core.css.map:
{
"version": 3,
"mappings": "AACE,OAAG;EACD,UAAU,EAAE,GAAG",
"sources": ["core.scss"],
"names": [],
"file": "core.css"
}

node-sass 3.4.1:
body {
  h1 {
    background: red;
  }
}

compiles to:
body h1 {
  background: red; }

/*# sourceMappingURL=core.css.map */

core.css.map:
{
	"version": 3,
	"file": "core.css",
	"sources": [
		"core.scss"
	],
	"mappings": "AAAA,IAAI,CACF,EAAE,CAAC;EACD,UAAU,EAAE,GAAI,GACjB",
	"names": []
}

@mgreter do you see what i mean now with those examples?

@xzyfer any thoughts?  trying to figure out if this is a libsass issue and i should open an issue on their repo or if this is node-sass specific...  definitely an issue that needs addressing!

Ruby Sass generates different source mappings for that input: "AACE,OAAG;EACD,UAAU,EAAE,IAAI"

@chriseppstein yes, and it seems like Ruby Sass is generating the correct mappings whereas libsass/node-sass is generating only the top-most parent of the selector

@mgreter any ideas as to why this is happening?  i just want to know if this is intended or not, as the sourcemap is visibly different than ruby sass

Just wanted to add that I am also having the exact same issue.

@jenwachter ok cool, i'm glad i'm not the only one experiencing this.  hopefully we can get some eyes on this and get it resolved asap!

I'm facing this issue too. It's quite hard to work with lots of nested selectors... :'(

gonna close this for now, since it seems to be an issue with how the browsers are interpreting the srcmaps.  please reference this for a temporary way to get the lines of the styles: https://github.com/sass/libsass/issues/1747

Although I agree with @mgreter that we're likely technically correct, the fact that we differ from Ruby Sass in this is a enough to provide a fix.

@xzyfer ruby sass sourcemaps are lacking a lot according to previous discussions with @am11. I decided to do better than that and therefore libsass has much more detailed source-maps than ruby sass does (not sure if this is still true, since those discussion are over a year old). The question is really if we want to merge the crutch in #1759 into master or not. That change is techically not correct, but will make chrome and firefox report a more usefull mapping. But it could confuse more advanced tools, since that mapping is technically not correct.

The question is really if we want to merge the crutch in #1759 into master or not

Yep I agree. On it's merits alone merging that fix is kinda sucky, but I think we should (see below).

That change is techically not correct, but will make chrome and firefox report a more usefull mapping

This is my concern. LibSass feels broken to users which IMO is the important concern

it could confuse more advanced tools, since that mapping is technically not correct

As you previously mentioned these tools don't yet exist. Until someone reports an issue in regard to this I think it's more important to match user expectations.

OK, so this bascially means you're in favor of merging https://github.com/sass/libsass/pull/1759 into master. Although it's technically not correct, it will satisfy the main consumers (aka browsers) of our sourcemaps. If so please feel free to hit the merge button on that PR!

This has been fixed in LibSass. I'll close this issue when we do a new release with the update LibSass version.

thank you so much all!  i'll be patiently waiting for the new node-sass release!  :D

Awesome! Can't wait for it!!

Any updates on this?

Any updates on this?

just tested on node-sass v3.5.0-beta.1 and confirm sourcemap line numbers are referring to correct selector!  thank you SO MUCH @mgreter !!!!!  i'll leave this to be closed by you once the version goes out of beta.

Even though it is technically wrong what I did to achieve this (since browsers interpret it not carefully enough IMO), you're welcome :smile:

xD thanks again man!

Was this problem occurring only on Chrome or every browser tools with source-map support? Last time I checked (few months ago, while giving a presentation), my sample worked on Chrome, Edge (MSDN) and Firefox (Mozilla hacks). If there is a disparity between what libsass was generating previously and how Chrome is interpreting it, with this fix, it might have broken other browsers. :/
LibSass emits detailed mappings, which many trans-compilers (of JS and CSS) lack including RubySass. @mgreter has nailed this feature! :+1:
@mgreter, note that what I used in WebEssentials2013 for VS-IDE preview window was based on https://github.com/mozilla/source-map (which is probably used in Firefox tools implementation as well), so it might interpret the line numbers differently. Last I remember, line and col number were off by one, viz the typical:

there are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Thank you so very much nonetheless. :sunglasses:

@am11 these links might be of interest:

less issue about same thing (https://github.com/less/less.js/issues/1492)
chrome bug: https://code.google.com/p/chromium/issues/detail?id=287382

I am still having this issue on FIrefox.
Please see: https://github.com/sass/node-sass/issues/2092

This problem does not seem to be solved now.
It seems less doesn't have this problem


⚠ Spryr has degraded performance

In 4ab1fe2, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 5279 ms

Resolved: Spryr performance has improved in b8115fd after 9 minutes.


StretchingOverscrollIndicator with AlwaysScrollableScrollPhysics  jumps when changing direction

I observed some weird behaviour with the StretchingOverscrollIndicator, which doesn't look right to me. When changing the scroll direction while scrolling, there is a sudden jump - most likely caused by the transform origin of the indicator changing from topCenter to bottomCenter.
I observed this problem only when the content of the Scrollable doesn't fill the Scrollable completely. This is very noticeable when using ListView.builder, or when explicitly setting AlwaysScrollableScrollPhysics on a SingleChildScrollView.
Steps to Reproduce

Execute flutter run on the code sample
Trigger the StrechingOverscrollIndicator by pulling your finger down a reasonable distance
Move finger slightly up

Expected results: I expect the overscroll indicator not to jump suddenly. I would have assumed, when moving the finger up again after moving the finger down, it should just do the same but in reverse.
Actual results: There is a sudden jump, which makes the first item in the list display partly outside the bounds of the Scrollable.
https://user-images.githubusercontent.com/1659532/205665058-e602a2be-66d1-4e61-96b6-fecc8a86b387.mov

Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        // Need to set `useMaterial3` to true so we use the stretching overscroll
        // indicator.
        useMaterial3: true,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: const Text("StrechingOverscrollIndicator"),
        ),
        body: ListView.builder(
          physics: const AlwaysScrollableScrollPhysics(),
          itemBuilder: (context, index) {
            return Container(
              height: 50,
              color: index % 2 == 0
                  ? const Color(0xFFEEEEEE)
                  : const Color(0xFFCCCCCC),
              child: Text("Index $index"),
            );
          },
          itemCount: 7,
        ),
      ),
    );
  }
}

Logs
Analyzing strech_overscroll_always_scrollable_physics...
No issues found! (ran in 1.0s)

[✓] Flutter (Channel master, 3.7.0-2.0.pre.40, on macOS 12.2 21D49 darwin-arm64, locale en-DE)
    • Flutter version 3.7.0-2.0.pre.40 on channel master at /Users/kuss/Documents/Development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4ec4401338 (5 hours ago), 2022-12-05 05:29:27 -0500
    • Engine revision 4de358e2f0
    • Dart version 2.19.0 (build 2.19.0-444.0.dev)
    • DevTools version 2.20.0

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/kuss/Library/Android/sdk
    • Platform android-33, build-tools 32.1.0-rc1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13F100
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)

[✓] IntelliJ IDEA Community Edition (version 2021.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.73.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.54.0

[✓] Connected device (4 available)
    • sdk gphone64 arm64 (mobile) • emulator-5554                        • android-arm64  • Android 12 (API 32) (emulator)
    • iPhone 13 (mobile)          • 4F1B2857-3967-4F27-B976-B99A7A41AB96 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-5 (simulator)
    • macOS (desktop)             • macos                                • darwin-arm64   • macOS 12.2 21D49 darwin-arm64
    • Chrome (web)                • chrome                               • web-javascript • Google Chrome 107.0.5304.121

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

For reference, this is how the overscroll indication looks on a native android app - the preinstalled clock app:
https://user-images.githubusercontent.com/1659532/205713053-88760858-90a7-4c0f-9bac-db505f782302.mov

Might be related https://github.com/flutter/flutter/issues/88741
Reproducible using the sample and steps provided above.

recording
https://user-images.githubusercontent.com/88313112/205852098-d08d988e-59c2-4aec-ba27-6846f81eed45.mp4

flutter doctor -v
[✓] Flutter (Channel stable, 3.3.9, on macOS 13.0.1 22A400 darwin-arm, locale en-GB)
    • Flutter version 3.3.9 on channel stable at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b8f7f1f986 (13 days ago), 2022-11-23 06:43:51 +0900
    • Engine revision 8f2221fbef
    • Dart version 2.18.5
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14B47b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] VS Code (version 1.73.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.54.0

[✓] Connected device (4 available)
    • M2007J20CG (mobile) • 5dd3be00                  • android-arm64  • Android 12 (API 31)
    • Nexus (mobile)      • 00008020-001875E83A38002E • ios            • iOS 16.1.2 20B110
    • macOS (desktop)     • macos                     • darwin-arm64   • macOS 13.0.1 22A400 darwin-arm
    • Chrome (web)        • chrome                    • web-javascript • Google Chrome 108.0.5359.94

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[!] Flutter (Channel master, 3.7.0-3.0.pre.35, on macOS 13.0.1 22A400 darwin-arm64, locale en-GB)
    • Flutter version 3.7.0-3.0.pre.35 on channel master at /Users/nexus/dev/sdks/flutters
    ! Warning: `flutter` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/nexus/dev/sdks/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/nexus/dev/sdks/flutters. Consider adding /Users/nexus/dev/sdks/flutters/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision eaf6254488 (2 hours ago), 2022-12-06 00:39:23 -0500
    • Engine revision 5d8530f790
    • Dart version 2.19.0 (build 2.19.0-463.0.dev)
    • DevTools version 2.20.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14B47b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] VS Code (version 1.73.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.54.0

[✓] Connected device (4 available)
    • M2007J20CG (mobile) • 5dd3be00                  • android-arm64  • Android 12 (API 31)
    • Nexus (mobile)      • 00008020-001875E83A38002E • ios            • iOS 16.1.2 20B110
    • macOS (desktop)     • macos                     • darwin-arm64   • macOS 13.0.1 22A400 darwin-arm64
    • Chrome (web)        • chrome                    • web-javascript • Google Chrome 108.0.5359.94

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.


arrow2 does not refcount schema metadata

All arrow2 arrays are defined roughly as the following:
pub struct Array {
    data_type: DataType,
    values: Buffer<T>,
    validity: Option<Bitmap>,
}

When you clone/slice/index an Array, you get another Array in roughly O(1) thanks to both the values and validity bitmaps being refcounted behind the scenes:
pub struct Buffer<T> {
    data: Arc<Bytes<T>>,
    offset: usize,
    length: usize,
}

pub struct Bitmap {
    bytes: Arc<Bytes<u8>>,
    offset: usize,
    length: usize,
    unset_bits: usize,
}

Well... not really, turns out the DataType is not refcounted, and it can get huge: it's a massive heap-recursive enum potentially filled with strings and such.
Say you have a ListArray that contains a bunch of StructArrays (i.e. a column of component data) and you want to extract references to the individual StructArrays in that list (i.e. the individual DataCells): each of these arrays is now going to carry a full copy of the StructArray's schema.
For tiny DataCells (which are very common in Rerun), the overhead is enormous.

Looks like we might want to pull on this thread:

https://github.com/jorgecarleitao/arrow2/issues/439#issuecomment-925524814

Superseded by https://github.com/rerun-io/rerun/issues/3741


Avoid useMemo when it's no needed

🙋 Documentation Request

Congrats on this lib, just found out about it and it's really nice.
I just noticed there's an useMemo in the docs, when it's actually not needed. I know it doesn't seem like a big thing, but it spreads a miss use of that hook.
The example I'm referring to:
function Example() {
  let [value, setValue] = React.useState(parseColor('#e73623'));
  let isValid = React.useMemo(() => {
    return value && value.red && value.red > value.green && value.red > value.blue;
  }, [value]);

  return (
    <ColorField
      validationState={isValid ? 'valid' : 'invalid'}
      value={value}
      onChange={setValue}
      label="Red colors"
    />
  );
}

In the case above, the result of the useMemo, is a boolean, so it doesn't matter if we recreate that value or not. If it was a dependency of a useEffect or a useCallback for example, it wouldn't impact.
Also, the validation done inside the function is trivial, and just the allocation of an useMemo, would cost more to performance, than the actual validation.
Additionally, it would be interesting to use optional chaining, to simplify the logic.
function Example() {
  let [value, setValue] = React.useState(parseColor('#e73623'));
  let isValid = value?.red && value.red > value.green && value.red > value.blue;

  return (
    <ColorField
      validationState={isValid ? 'valid' : 'invalid'}
      value={value}
      onChange={setValue}
      label="Red colors"
    />
  );
}

ps. I don't know how complex parseColor logic is supposed to be, but when using a function to calculate the initial state, it could give a preference to the callback syntax, to avoid calling that function over and over.
  let [value, setValue] = React.useState(() => parseColor('#e73623'));

Let me know what you think. If you agree, I can open a PR.
Best!

Both seem reasonable to me.
I'm not sure the isValid logic is right anyways, it looks like it should really be
let isValid = value?.red && value.red > value.green && value.green > value.blue;

transitive property would say red > blue and we'd also be asserting that green > blue which we don't currently check

hey @snowystinger ,
Seems to be resolved by this PR.
This code does not exist in docs.

Thanks @ryo-manba i'll close it out


Feature 6 - Text and Image content for pages

Add personal content to pages:

Home
About
Experience
Contact

Homepage image link needs to be changed and stored in cloud
Resume needs to be stored in cloud

GH-9
GH-10


Automated Package Upgrade

:tada: This PR is included in version 7.7.225 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fix lastIndexOf method

There is currently a method called lastIndexOf that lives in /lib/lastIndexOf.js.
It is incomplete and needs to be fixed!

Acceptance Criteria:

Running yarn test lastIndexOf results in tests passing.
You have written a skeleton method for someone else to work on.
You have written tests surrounding your skeleton method.
Running yarn lint does not print any errors to the console!
Optional: write one or two more tests surrounding the method you are solving to account for potential edge cases.

Please include the skeleton of a new method + an accompanying test for someone else to work on at the time of creating a pull request! A pull request will most likely be denied if it does not contain a skeleton method for someone else to work on! For more information, please read the Contributing Guide.
Thank you so much for your contribution!

Skeleton made in #317

@akram-rameez I'd like work on this (will be my second and last).

Hey @mtso ! I need to update the README, but feel free to continue working on projects. I don't know why I put the rule in there that you should only do two.. As long as you are providing new methods for others, I don't see the harm in doing as many as you want. Going to mark this as in progress.

Ok great :) @BlakeGuilloud
I think I made a mistake of pushing the solution to this into the master branch of my fork before my pull request was accepted, so the lastIndexOf commit is squashed in there.
I'll still need to make the skeleton for the next method, though.


Resolve #1: HttpUrlConnectionExecutor appends the system http agent t…

…o the User-Agent header.

Should it be optimized further to do the append (or save the current user-agent header value) during
for (Header<?> header : request.headers()),
to avoid iteration through headers again in
connection.getRequestProperty("User-Agent")?
(underlying values stored in arrays, not in map)
Code readability vs performance question here, I am not sure how much we need to optimize.

It's not a performance issue (the actual network request is probably an order of magnitude slower).
Why not just do that inside of the loop?
like so:
if ("user-agent".equalsignorecase(header.type().name()))
{
    // append header
}
else
{
    // don't append header
}

That won't append the user-agent if there is none in the headers, but I actually would consider that ok. We should not enforce a user-agent header but only extend it if there is any.

Yes, appending inside the loop was a possible variation and if we don't need to add the system agent, it's also simpler.
Before I update I just want to ask why is better to not add the lone system http agent? Isn't there a chance that it became useful for the server or just for statistics? I know it's not browser and webpage, where it is important, but who knows if we needed something to tweek on the server based on the Android version or phone brand. (I admit that it seems very unlikely though :)) But in general, why not send a standard information if we can?
(This was returned for my phone: Dalvik/2.1.0 (Linux; U; Android 6.0.1; Nexus 5 Build/MOB30Y)
I am okay with any way of course, so if you confirm I'll update it.

I think we should not enforce a user-agent if a client prefers to operate in "stealth mode" (i.e. doesn't any user-agent on its own). We have no way to suppress the generation of this header otherwise.
Good point about the name of the Executor implementation. Ideally we have BuildConfig to provide these values. I've created a ticket #10.

Updated to only append system agent when there is already a user-agent header.
@dmfs please check

Also consider to wrap BuildConfic.NAME and BuildConfig.VERSION in SafeTokens before adding it to the user-agent. Just to be sure the result is always valid.

Putting SYSTEM_HTTP_AGENT != null second was deliberate, because I expect that it will almost never be null. I think I read somewhere System.getProperty("http.agent") is available on something like Android 2.1+. So for these devices putting as second seems optimal to avoid checking it unnecessarily for each header.
I am going to rebase with master and add the name and version using BulidConfig.

Updated, so both build name, version and system http agent gets appended now.
(note: rebased onto master and force pushed back to origin)
Please review.

Hmm... I'm not a big friend of static code blocks. Heavy work should not be done in a static context. Anyway, we'll keep it like that for now. Maybe we refactor this later on.
Please add a test case. HttpUrlConnection is abstract, so you can just write a factory that returns a MockHttpUrlConnection.

You are right, after a second look I agree that it should not be in static block. I moved it to constructor.
I've also added the functional test for HttpUrlConnectionExecutor that checks the User-Agent header appending.
Please review.

I don't think a decorator pattern will work here. The HttpUrlConnection class is not well designed for this. In particular it's not immutable, carries a (quite complex) state and has a gazillion of methods that you would have to override, if possible after all. If anything, you would have to decorate the Headers.
Also, I don't see why we should have less trust in our own code that in any 3rd party code we use. If we don't trust our own code as much as we trust the dependencies we're doing something wrong. In particular I would never publish any code that I don't trust.
Anyway, I won't insist on the MockHttpUrlConnection. Please let me know when you think you're done with this and this is ready for review.

Sorry, I missed out that I was referring to decorating the HttpRequestExecutor, not HttpUrlConnection.
So just as with Branded, only with appending at the end.
Current (on master) HttpUrlConnectionExecutor would be responsible purely for adapting dmfs Http API to HttpUrlConnection, without modifying any value.
And user-agent header appending would be done with decoration. The same approach as you envisioned with all these decorators, that separate aspects can be applied separately, no need to put everything into one class.
Benefit would be that header append would be done with our API, so it can be re-used if other http client lib adapter executors are created later.
Client would not see this, decoration could be done in constructor, something like this:
    public HttpUrlConnectionExecutor(final HttpUrlConnectionFactory connectionFactory)
    {
        Product httpClientProduct = new VersionedProduct(new SafeToken(BuildConfig.NAME), new SafeToken(BuildConfig.VERSION));
        Product systemHttpAgentProduct = new SafeProduct(System.getProperty("http.agent"));
        mExecutor = new Branded(new Branded(new HttpUrlConnectionAdapterExecutor(connectionFactory), systemHttpAgentProduct, true), httpClientProduct, true);
    }

    @Override
    public <T> T execute(final URI uri, final HttpRequest<T> request)
    {
        return mExecutor.execute(uri, request);
    }

(HttpUrlConnectionAdapterExecutor is what HttpUrlConnectionExecutor is currently (on master))
Or we could have a static factory method, like
static HttpRequestExecutor HttpUrlConnectionExecutorFactory.create().
As I see it, in general, static methods should be avoided in favor of instance ones but with this sort of entry point to a library, they can actually help decoupling, because getting an instance won't be tied to a certain constructor of a certain subclass, future releases can do whatever they want under this factory method. This means we kind of draw a boundary with this for this module, this is the point where clients should get their executor instance that uses HttpUrlConnection. This can allow the flexibility to add anything later, if needed (like other decorators).
(It's actually exactly what Factory pattern's intent is about as in here.)
For Branded, the extra boolean param to indicate appending in the end could be added, while keeping the other constructor that defaults to append in the beginning, and documenting it well. Or if we want to hide this usage from clients (although, I am not sure why is that needed, maybe they would need this to implement, modify their executor adapters of their own), then we could make a separate Branded with different name (there are just a few lines in it anyway).
We would need SafeProduct in this case for the system agent string, it would replace/escape characters as SafeComment does. Or RawStringProduct which would not do anything. (Currently we don't make this string safe either.)
Separating API adaption and agent-header append this way would make the testing easier as well.
What do you think?
(I think this would be a better way, but current version on this branch is working as well, so if you want to just make progress, we could merge this after review, and create separate enhancement issue. But I am happy to implement it next if you agree with the change.)

Good one. You're completely right. Just a few thoughts:

We'll go with two executors:

An unbranded one that doesn't add its own user agent (essentially the one we already have)
A branded one that decorates the unbranded one and just delegates to that

Both executors will be public, so users can choose (again, there might be a reason to have your client operating in "stealth mode", may it be for privacy reasons).
Instead of using SafeProduct or something like RawStringProduct for the platform user agent, we would have a Platform which implements Product and takes no parameters (because it reads http.agent internally).
So it would look like

Product systemHttpAgentProduct = new Platform();

I think we don't have to validate the platform user-agent. We trust that the platform returns a valid value.

We're not going to add that boolean parameter to Branded. The new decorator should be "internal" to HttpUrlConnectionExecutor. I want to make sure that users do not add their user-agent to the end. Only Executors should to that. Maybe we should create a module http-client-executor-utils with tools that only Executors need.

Since the new approach is fairly different, I suggest to branch from master and start a new PR.


Fix peerlist storage in encryption branch

Currently stored as tuple of ((address,port), key.n, key.e). Needs to instead be stored as (address,port). Keys can be grabbed in the handshake.
This makes peer management much easier, but increases the required traffic.  Current formula is now:
total = random.select(range(128,513)) + round_up(len(message)) * 128 / 117 + 128 * (message not in signals)

FIxed