Expire time should be partly random

Tell us about your request
We use the "Ttl Seconds Until Expired" feature to ensure that all of our nodes used the latest AMI. So we have configured it as 10 hours... It would be great if the actual expire time would not be exactly 10 hours for all nodes... because this means all of our nodes restart at the same time... it would be cool if 10 hours would mean 5 hours + random(0-5) hours. This would ensure that not everything happens at the same time... (I am talking about hours but the setting should be configured in seconds)
Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
Right now all values are static...
Are you currently working around this issue?
We hope that our workloads do not bother ... but we now that this might be a problem for specific workloads...
Additional Context
No response
Attachments
No response
Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

I recall a past card about this. can't find it
here are some other options
https://github.com/aws/karpenter/issues/2949
https://github.com/aws/karpenter/blob/main/designs/deprovisioning.md

I think the other options are not really sufficient here…

Hey @runningman84 we've recently made it so that Karpenter will expire nodes serially as opposed to in parallel here. This should be included in v0.20.0. What version of Karpenter are you using? Are you using v0.20.0 and not seeing this?

@runningman84 that's where PDB can help, and readiness checks

I'm not convinced that randomness is the way to solve this problem. I think the crux of this issue is that you don't want node expiration at the same time due to the implication of disruption of your workloads. As @FernandoMiguel mentioned, I think PDB can help here.
Can you describe if there's a reason that PDBs don't meet your use-case for expiring the nodes.?

Pdp and readiness checks are a valid solution I just find it scary that all parts move at the same time. Imagine there is an error with the latest ami. This would lead to a complete outage instead of a slowly expanding problem….

Pdp and readiness checks are a valid solution I just find it scary that all parts move at the same time. Imagine there is an error with the latest ami. This would lead to a complete outage instead of a slowly expanding problem….

It happened with bottlerocket AMI just a few weeks ago.

@runningman84 the rate at which Karpenter expires nodes should be at least a node a minute. Karpenter waits for any replacement nodes to become ready before terminating the expired nodes. In addition, with PDBs, you can even further rate-limit this. If a node doesn't come online, let's say due to some AMI error, we won't expire that node.
Is this still too fast for you? Rate-limiting at the pod level with PDBs will definitely help slow this down.

Pdp and readiness checks are a valid solution I just find it scary that all parts move at the same time. Imagine there is an error with the latest ami.

What kind of error are you thinking? If it's an error that doesn't allow your containers to come back into a ready state, then this should block on PDBs or as @njtran mentioned if the node never comes ready we just won't continue expiring nodes.

As it looks like this issue is resolved, I'm going to close this. Feel free to cut a feature request or check the aggregate node control issue and comment for any other controls you might want that aren't already mentioned.


Add News section

Polyply is now a featured article so I decided we can add a news section with recent publication and other stuff regarding polyply. Not sure anyone reads this but could be cool.

Sure, why not. Once this gets changed to "look at these cool papers that cited us" be sure to add a small bit that says "your paper missing? Open a PR"
PS. Cool!


Ink bar is missing on the tab group

Ink bar is not showing up on my workstation but it is showing up on my mac. Not sure the root cause but likely related to #2372
http://plnkr.co/edit/XuiTPmgZiHzfsuVDAmjz?p=preview

Update: Starting to look like it's an issue with Chrome 57 (beta)

Found the issue and will create a PR shortly. Issue is related to Chrome 57 not liking that elements with display: flex may have a direct child with position: absolute and trying to position that child.

Fixed in #3041


update settings header to match preview header

This just makes the headers for the two panels consistent with one another.
Before:

After:

Thanks for all of these PRs. Great changes all around! :+1:


flet==0.25.0.dev3721 hot reload not working flet run main.py -d -r

Duplicate Check

[X] I have searched the opened issues and there are no duplicates

Describe the bug
hot reload not working flet run main.py -d -r
Code sample
Code
[Paste your code here]

To reproduce
flet run main.py -d -r
Expected behavior
No response
Screenshots / Videos

Captures
[Upload media here]

Operating System
Linux
Operating system details
Kubuntu 24.04
Flet version
0.25.0.dev3721
Regression
No, it isn't
Suggestions
No response
Logs
Logs
.venvdev@dev-p:~/dev_code/linux/flet/gym_sa$ flet run main.py -r
--- Logging error ---
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/logging/__init__.py", line 1164, in emit
    self.flush()
  File "/usr/local/lib/python3.12/logging/__init__.py", line 1144, in flush
    self.stream.flush()
RuntimeError: reentrant call inside <_io.BufferedWriter name='/home/dev/dev_code/linux/flet/gym_sa/log/main.log'>
Call stack:
  File "/home/dev/dev_code/linux/flet/gym_sa/main.py", line 158, in <module>
    ft.app(target=main, assets_dir="assets")
  File "/home/dev/dev_code/linux/flet/gym_sa/.venv/lib/python3.12/site-packages/flet/app.py", line 64, in app
    return asyncio.run(
  File "/usr/local/lib/python3.12/asyncio/runners.py", line 194, in run
    return runner.run(main)
  File "/usr/local/lib/python3.12/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete
    self.run_forever()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever
    self._run_once()
  File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1986, in _run_once
    handle._run()
  File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "/home/dev/dev_code/linux/flet/gym_sa/.venv/lib/python3.12/site-packages/flet/app.py", line 150, in app_async
    await __run_socket_server(
  File "/home/dev/dev_code/linux/flet/gym_sa/.venv/lib/python3.12/site-packages/flet/app.py", line 258, in __run_socket_server
    conn = FletSocketServer(
  File "/home/dev/dev_code/linux/flet/gym_sa/.venv/lib/python3.12/site-packages/flet/flet_socket_server.py", line 40, in __init__
    super().__init__()
  File "/home/dev/dev_code/linux/flet/gym_sa/.venv/lib/python3.12/site-packages/flet/core/local_connection.py", line 12, in __init__
    super().__init__()
  File "/home/dev/dev_code/linux/flet/gym_sa/.venv/lib/python3.12/site-packages/flet/core/connection.py", line 12, in __init__
    self.pubsubhub = PubSubHub()
  File "/home/dev/dev_code/linux/flet/gym_sa/.venv/lib/python3.12/site-packages/flet/core/pubsub/pubsub_hub.py", line 20, in __init__
    logger.debug("Creating new PubSubHub instance")
  File "/usr/local/lib/python3.12/logging/__init__.py", line 1527, in debug
    self._log(DEBUG, msg, args, **kwargs)
  File "/usr/local/lib/python3.12/logging/__init__.py", line 1684, in _log
    self.handle(record)
  File "/usr/local/lib/python3.12/logging/__init__.py", line 1700, in handle
    self.callHandlers(record)
  File "/usr/local/lib/python3.12/logging/__init__.py", line 1762, in callHandlers
    hdlr.handle(record)
  File "/usr/local/lib/python3.12/logging/__init__.py", line 1028, in handle
    self.emit(record)
  File "/usr/local/lib/python3.12/logging/__init__.py", line 1280, in emit
    StreamHandler.emit(self, record)
  File "/usr/local/lib/python3.12/logging/__init__.py", line 1164, in emit
    self.flush()
  File "/usr/local/lib/python3.12/logging/__init__.py", line 1144, in flush
    self.stream.flush()
  File "/home/dev/dev_code/linux/flet/gym_sa/.venv/lib/python3.12/site-packages/flet/app.py", line 141, in exit_gracefully
    logger.debug("Gracefully terminating Flet app...")
Message: 'Gracefully terminating Flet app...'
Arguments: ()
Gtk-Message: 15:56:28.323: Failed to load module "colorreload-gtk-module"
Gtk-Message: 15:56:28.324: Failed to load module "window-decorations-gtk-module"
package:media_kit_libs_linux registered.

Message: 'Gracefully terminating Flet app...'
Arguments: ()

Additional details
No response

reinstall flet==0.25.0.dev3721 and then run flet run main.py -r worked for me.

reinstall flet==0.25.0.dev3721 and then run flet run main.py -r worked for me.

I've already tried it with a clean install and it doesn't work with -d -r on recursive directories, it only works with files in the main directory.

which python version are you using and did this same happen with other flet stable versions? If no then flet-pre-release might have some flaws.
@ndonkoHenri

which python version are you using and did this same happen with other flet stable versions? If no then flet-pre-release might have some flaws. @ndonkoHenri

There have been issues with this for at least 2 stable versions of flet.

which python version are you using and did this same happen with other flet stable versions? If no then flet-pre-release might have some flaws. @ndonkoHenri

There have been issues with this for at least 2 stable versions of flet.

There has to be something wrong with flet integration on some specific os. You should raise an issue regarding this as you said this same happens for stable versions too.

I have these issues with stable version 0.24.1, and also with the 0.25.0.dev3721 version. flet run work fine, flet run -d or flet run -d -r or flet run -r keep hanging

Fixed in release 0.25.1


container regex on start

My use case for this is running rspec tests against a bunch of different docker images.
The problem I've had is where there are setup tasks in the docker container before it's actually "ready" for the tests to run.
For example, a mysql image would have to create the initial mysql db files.
We have found that a simple delay isn't enough as you can't really determine how long startup might take.
This PR implements a method of providing a regex to search container logs output for.
Continuing with the mysql example, here is how we use this to run the tests.
spec_tests.rb:
set :backend, :docker
@image = Docker::Image.get(ENV['IMAGE'])
set :docker_image, @image.id
#set :docker_debug, true
set :docker_container_start_timeout, 60
set :docker_container_ready_regex, /mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql/
RSpec.configure do |c|
...tests here
end

Have you considered using docker HEALTHCHECK?
It is supported by specinfra (see mizzy/specinfra#573) and can be quite helpful in general with docker (see https://docs.docker.com/engine/reference/builder/#healthcheck)


How to create double carousel slider

Is it possible to create a double carousel with "slick" slider like on this site?
The bottom slider has less SlideToScroll speed than the upper that is rotating one by one?
How to connect both slider to mirror the same images (but maybe not the same files - highres, lowres)?
Can you show a possible solution?

Yup.
Sorry, this is for tracking problems, not solving yours :) -- please read the contributing.md file for more info.
Simon.


Existential Assignment Broken For Object Literals

Given that assigning an object literal to a variable is done in the following way:
obj =
  a: 1
  b: 2

You would expect existential assignment to work similarly:
obj ?=
  a: 1
  b: 2

However, this is not the case, as b is left out of the object literal, as demonstrated by the following compiled javascript:
if (typeof obj === "undefined" || obj === null) {
  obj = {
    a: 1
  };
}

({
  b: 2
});

You can work around this issue by manually including commas - then everything works as expected:
obj ?=
  a: 1,
  b: 2

duplicate of #2066


Gemfile only works with Linux systems

Gemfile for installing plugin fails in Windows installations - cp and if keywords are linux specific.
Manual workaround for Windows installations:

Copy/Git files to redmine/htdocs/plugins/ folder.  This will result in a folder fedmine.
Copy the fedmine folder files to redmine/htdocs/public/themes/ folder.  (Yes, same thing in both places)
bundle exec rake redmine:plugins NAME=fedmine RAILS_ENV=production

You will get two error messages about bad commands, but it will install.

Hi, thanks for reporting the issue. But, I am not actively maintaining this repository. You are welcome to fix the issue and create a pull request.


(suggestion) Array index type enforcement.

Currently, we can define an interface for an Array that is indexed by either string, number, or both. However, there is no way to define an Array that is only indexed by number or only indexed by string.
For instance,
interface StringArray {
  [key: string]: string;
}

var sarr: StringArray = {'a': 'a', 0: 'b'};
var s: string = sarr[1];
s[2] = 'string';

None of these expressions will generate an error.
I think it would be very useful if we could enforce that an array is only indexed with the provided type(s).

Arrays are regular objects. all JS objects can be indexed using string. as a matter of fact engines only index using strings and for numbers, you get the toSttring on the indexer then use that to evaluate, so something like:
var x = [1];
console.log(x[0] === x["0"]);  // true

The property type lookup order reflects that, if you are using a number to index into an object, the numeric indexer is first checked, if it does not exist and a string indexer is found it will be used instead.

So I guess there wouldn't be any value in conveying to someone that no element of an array can be accessed by passing in a number?

Or that all elements of an array are accessible by number?

The problem is that all objects by default do have this indexer behavior. So you'd likely need some new syntax here to say what can't be indexed by. While there are some circumstances that might be useful it's fairly rare which means we'd be adding a complexity cost to the language (for users, for our codebase, etc) for what is very much a corner case. Designed in isolation we probably would make indexing arbitrary things by a number an error, but that would break existing JavaScript and so we need to model that.
Or that all elements of an array are accessible by number?
You can use a numeric indexer for that rather than a string indexer.


polychromatic: fix qt wrapper

Before the qt wrapper did nothing because dontWrapQtApps was set but the arguments where not used anywhere.
Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

@SuperSandro2000 I already made the PR here: https://github.com/NixOS/nixpkgs/pull/202449 that fixes it per your recommendations


Release tracking for commits.

Having issues with release tracking
https://stackoverflow.com/questions/65066899/release-tracking-an-error-doesnt-associate-to-a-recent-release
I have added tag to the middleware for sentry and laravel.
$scope->setTag('release', trim(exec('git ' . base_path('.git-ftp.log') . ' log --pretty="%h" -n1 HEAD')) ? : 'No Valid Tag?' ); but it wont associate a tag, even with a static typed value matching to a old commit hash that sentry sees in the releases menu
See https://docs.sentry.io/platforms/php/guides/laravel/enriching-events/scopes/
I believe theres an issue with the SDK.
I have tested and confirmed that I can verify the commit hash are both current, and matching
Please Message me on Sentry Discord under user Levi Z

That is because it's not a tag you need to set.
Try setting release in config/sentry.php instead.

That is because it's not a tag you need to set.
Try setting release in config/sentry.php instead.

I did that, and still nothing.

You can make sure by using php artisan tinker and executing config('sentry.release') to see if that value is actually there (and correct), if it's not you might have config caching enabled (try clearing with php artisan config:clear) or trying to set it as a plain string to see if that helps.

You can make sure by using php artisan tinker and executing config('sentry.release') to see if that value is actually there (and correct), if it's not you might have config caching enabled (try clearing with php artisan config:clear) or trying to set it as a plain string to see if that helps.

Same result. I validated that its the commit hash from the repo, on sentry, and as a text file that a FTP file upload for pipelines leaves in my production directory called .git-ftp.log. All are the same hashes.
Cache is good as well.

Okay, okay, this is getting trickier 😄
I have one other thing you can check, when you trigger your test error, you can go to the issue interface on sentry.io and view the received JSON:

In this JSON file there should be a key called release, can you double check that also doesn't contain the correct value?

My commit hash from Bitbucket is - 3bfc58925269d0f8c5bafdcff5d1b2016c9a8299
My commit hash from Pipeline FTP upload to staging server for the latest commit is - 3bfc58925269d0f8c5bafdcff5d1b2016c9a8299
My commit hash from Sentry "Releases" showing the last commit to my repository - 3bfc58925269d0f8c5bafdcff5d1b2016c9a8299
My Tags from Sentry for the submitted code breaking change (error)

My JSON for the error

My sentry config file

My SentryUserContext middleware

Even if I manually key a 'release' into the config file of sentry, I get the same result. I have also tried associating the release that's on the production server via the SentryUserContext middleware as you can see above, and still same result. Nothing shows releases.

I am happy to do a screenshare with you to go over everything so you can visually see it.

Lastly, for what its worth here is my composer.json

I have also tried
<?php

return [

    'dsn' => env('SENTRY_LARAVEL_DSN', env('SENTRY_DSN')),

    // capture release as git sha
    'release' => trim(preg_replace("/\s\s+/",'',file_get_contents('.git-ftp.log'))) ? : 'Default-Release-Hash',

    'breadcrumbs' => [
        // Capture Laravel logs in breadcrumbs
        'logs' => true,

        // Capture SQL queries in breadcrumbs
        'sql_queries' => true,

        // Capture bindings on SQL queries logged in breadcrumbs
        'sql_bindings' => true,

        // Capture queue job information in breadcrumbs
        'queue_info' => true,
    ],

];

I have validated that trim(preg_replace("/\s\s+/",'',file_get_contents('.git-ftp.log'))) Will display the hash id from the .git-ftp.log via tinker, however when I attempt to echo the result from the config, i return a null.
If I add a string text default to it, I get null.
If I add just a string text without the trim(...) and do 'sentry-release-test' I return a null.

So i've tracked it back to Sentry/src/Client.php - Line 231 for $event->setRelease($this->options->getRelease()); If I change the object to a static text, I will get the release to post to Sentry. It appears its not being set correctly.
If I set this line to $event->setRelease(trim(preg_replace("/\s\s+/",'',file_get_contents('.git-ftp.log')))); I will get the correct release information associated to my last commit, and in Sentry.

Alright, it appears that Releases tab on Sentry is now showing an issue related to the comment now. However the only way I can get this to trigger is by editing the source code for Sentry Laravel inside the Vendor directory. This isnt ideal, but its working?

What exactly did you need to edit in the source code to make it work?

I want to make sure it going right because I'm using in multiple apps the release tracking and don't see any issue. Did you try setting the release hardcoded in your config file?
<?php

return [

    'release' => 'your-release-sha',

];

This passes the option directly to the sentry-php SDK so unless you are doing something to not use the Sentry client as initialised by this package the $this->options->getRelease() should hold the value as set in your config file.

Also you need to restart php artisan tinker after you modified your config/sentry.php otherwise the value will never be shown! And if after a restart of tinker is still not shown, make sure to run php artisan config:clear before starting tinker.

This code might also not work as you'd expect depending on where that .git-ftp.log file is, if it's in the root of you application you might need to do this instead (and also think just a trim is enough):
trim(file_get_contents(base_path('.git-ftp.log'))) ?: 'Default-Release-Hash',

I want to make sure it going right because I'm using in multiple apps the release tracking and don't see any issue. Did you try setting the release hardcoded in your config file?
<?php

return [

    'release' => 'your-release-sha',

];

This passes the option directly to the sentry-php SDK so unless you are doing something to not use the Sentry client as initialised by this package the $this->options->getRelease() should hold the value as set in your config file.

Yes

Also you need to restart php artisan tinker after you modified your config/sentry.php otherwise the value will never be shown! And if after a restart of tinker is still not shown, make sure to run php artisan config:clear before starting tinker.

Tried, no avail.

This code might also not work as you'd expect depending on where that .git-ftp.log file is, if it's in the root of you application you might need to do this instead (and also think just a trim is enough):
trim(file_get_contents(base_path('.git-ftp.log'))) ?: 'Default-Release-Hash',

Does not work. Returns null, with or without static text. Cleared config, and cache as well.

The only way ive been able to get it to work is with editing $event->setRelease($this->options->getRelease());

Can you tell me the version of the sentry/sentry package you are running (you can check with composer info sentry/sentry, should be something like: versions : * 3.1.1)?
I'm seeing from your screenshot you are running version 2.2.0 of the Laravel package which is good.
Setting $event->setRelease($this->options->getRelease()); is the weird part to mee because that tells me config('sentry.release') was set with he correct value... otherwise that would never end up in $this->options->getRelease() which is what puzzles me so I hope to setup a test project with the versions you are running so I hopefully find the same problem you are facing!

I updated to the latest, and now getting things passing correctly. Not sure why it was giving me grief. Thanks for the help. You can close this out.


add check type to ci

Description
Add new job for type checking, also use node-version-file to sync node version with project.
Type of change

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation

Should we put both build (typecheck) and lint check into one job?

I'm splitting checks so we can quickly see which check failed.


Update minimum supported Python version

Preview at https://deploy-preview-32--twisted-pr-preview.netlify.app/

needs-review


Three instances of PrologFormatter

So appears in the tasks dropdown.
VSCode version 1.33.1
VSC-Prolog version 0.8.23
SWI-Prolog version 8.0.2

Same here:

VSCode version 1.76
VSC-Prolog version 0.8.23
SWI-Prolog version 9.0.4 for x86_64-linux


Prepare FreeSurfer 6.0.0-beta image

First step for poldracklab/fmriprep#101.
What's the overall strategy for updating these base images? Should we have a Makefile that publishes, or a circle.yml that builds and publishes when necessary?
Or is this repo obsolete? I noticed poldracklab/fmriprep#320 moved away from the crn_* setup.

Yeah, this repo is obsolete. I still use it for mriqc, but when we update mriqc we'll remove this one.
BTW, the new docker image of nipype has freesurfer 6.
Maybe we could use the nipype/nipype image as source for our images - @chrisfilo

I prefer current fmriprep setup - using a basic base image and keeping all installation steps in one Dockerfile. This improves clarity and makes it easier for people to understand and modify the image.


Publisher context validation doesnt happen anymore in 2.6.0

Description:
There is a validation in APIM publisher for context field, which is it cannot have {version} or /{version}. The validation does not happen anymore. Need to add the fix here.
Suggested Labels:
2.x
Suggested Assignees:

**Affected Product Version:2.x
OS, DB, other environment details and versions:
Steps to reproduce:
Related Issues:

I’m closing this issue because it has been inactive for more than two years. Please reopen if you still encounter this issue with the latest version.


Feature: Implement 'npm run dev' for Seamless Backend Application Monitoring

Updated package.json so that developers can now use 'npm run dev' to start and watch the backend application which was mentioned in the document but did not work successfully.

Meant to say npm run start:dev in the document, my bad.

Closing this PR because there's no need for this. I recommend using npm run start:dev and taking advantage of the hot-reloading feature.


Fix/traits fixes

fix(structure): hot reload in note traits + no template by default
Fixing two issues with the note traits updates:

Hot reloading wasn't working in the webpacked build because the wrong webpack-require-hack file was being modified.
Commenting out the applyTemplate function of the default trait template.

Heads up @Harshita-mindfire and @kevinslin - I went ahead and cherry-picked this into release/0.101.0


feat: port Order.PrimeIdeal

[x] depends on: #2351

This PR/issue depends on:

leanprover-community/mathlib4#2351
By Dependent Issues (🤖). Happy coding!

This PR/issue depends on:

leanprover-community/mathlib4#2351
By Dependent Issues (🤖). Happy coding!

bors merge


[WIP] MaprouletteConfiguration - Adding a new constructor to handle connection without project name.

Description:
This PR addresses the Maproulette connection issue without the need of project name in the configuration.
Unit Test Approach:
Tested all the existing unit tests and also fixed one of the failing unit test related to updating a task.
Added unit tests necessary for new configuration.
Test Results:
It is working as expected. All unit tests ran successfully.

In doubt: Contributing Guidelines

please test this


fix(rollup): use mlly as fallback resolver when externals disabled

🔗 Linked issue
resolves #947
❓ Type of change

[ ] 📖 Documentation (updates to the documentation or readme)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
When externals are disabled (workers like cf), we completely depend on rollup/node-resolve plugin which happens to fail resolving in pnpm monorepos. This PR adds mlly support as fallback which seems to supporting pnpm well and fixing resolving issue + a small fix for node+noExternals
📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

I ran into the pnpm monorepo vs Cloudflare Workers thing yesterday, thanks for this!


Initial content doesn't appear

If the content attribute is set initially when the component is rendered the content does not appear in the editor (editor is blank). It does appear if the content value is changed after the editor is first rendered, or if content is supplied as a Html.text in the body of the custom element (but then it cannot be set as an html string). Is there a way to get it to render with an initial (html string) content value?

Any solution to this?


@Code block above html will mess with code colorization

Describe the bug:
Having a code block above the html code makes VS code colorization and other code completion baldy usable
Version used:
VS 2022 17.1.1
To reproduce:

Create Blazor WASM project
Create *.razor file
Open code block above html code
See colorization errors

Expected behavior:
@code{} blocks work anywhere in *.razor files
Actual behavior:

Thanks for reporting this issue! Unfortunately I'm unable to repro it locally, and was hoping you could provide some more info. The easiest way to do this would be to report an issue from Visual Studio using the Help -> Report a Problem feature. For extra points if you can use that system to record a repro (eg, if you move a @code block above some HTML, does it go from working to not working?) then that would really give us a lot more to work with.

Will do. But I'll need until monday.

No rush at all, we appreciate any and all help 😁

I made a video: https://developercommunity.visualstudio.com/t/Razor-code-colorization-breaks/10002036?entry=problem

Thanks @glatzert, I was able to reproduce this locally if I used 17.1.2, but not in 17.2 Preview 2.1. I believe we took a compiler fix in this area. Could you confirm that it's working for you on the latest preview?

Excellent! Given that I'm going to close this and the Developer community issue as fixed. Thanks for the report!


Fixed typo

...  and improved sentence structure a bit, I hope.

Docs Build status updates of commit 7fb7918:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/consume-packages/migrate-packages-config-to-package-reference.md
:white_check_mark:Succeeded
View

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


[Technical] Fix build settings for community scheme

Checklist

[x] Test your changes as thoroughly as possible before you commit them. Preferably, automate your test by unit/integration tests.
[x] Set a speaking title. Format: {task_name} (closes #{issue_number}). For example: Use logger (closes # 41)
[x] Create Work In Progress [WIP] pull requests only if you need clarification or an explicit review before you can continue your work item.
[x] Make sure that your PR is not introducing unnecessary reformatting (e.g., introduced by on-save hooks in your IDE)

Description

Added user-defined setting in Xcode to use a personal development team
Set code signing for the community build to automatic
Documented everything in the README file

@holtwick ping 😊

@inf2381 Thanks, this is perfect. I think this way new interested developers have an easy starting point. Virtually approved ;)


!statusall and "AcceptGifts" are not working

at least on my asf these features are not working, when i use the command !statusall, no response is given, also the same problem when i send gifts to the bots, they dont accept it neither add it to the library.

Can you provide any log-file? Are you sending game-bundles (subs) as gifts?

Log or didn't happen.

Also I'm more likely to believe that your config is wrong, rather than it doesn't work.

29/03/2016 09:06:01 [] INFO: CheckForUpdate()  Checking new version...
29/03/2016 09:06:02 [] INFO: CheckForUpdate()  Local version: <IP_ADDRESS> | Remote version: <IP_ADDRESS>
29/03/2016 09:06:02 [] INFO: CheckForUpdate()  ASF will automatically check for new versions every 24 hours
29/03/2016 09:06:02 [] INFO: RefreshCMs()  Refreshing list of CMs...
29/03/2016 09:06:03 [] INFO: RefreshCMs()  Success!
29/03/2016 09:06:03 [] INFO: Init()  Not starting this instance because it's disabled in config file
29/03/2016 09:06:03 [] INFO: Start()  Starting...
29/03/2016 09:06:05 [] INFO: OnConnected()  Connected to Steam!
29/03/2016 09:06:05 [] INFO: OnConnected()  Logging in...
29/03/2016 09:06:07 [] INFO: OnLoggedOn()  Successfully logged on!
29/03/2016 09:06:07 [] INFO: Init()  Logging in to ISteamUserAuth...
29/03/2016 09:06:08 [] INFO: Init()  Success!
29/03/2016 09:06:10 [] INFO: Start()  Starting...
29/03/2016 09:06:11 [] INFO: OnConnected()  Connected to Steam!
29/03/2016 09:06:11 [] INFO: OnConnected()  Logging in...
29/03/2016 09:06:12 [] INFO: OnLoggedOn()  Successfully logged on!
29/03/2016 09:06:12 [] INFO: Init()  Logging in to ISteamUserAuth...
29/03/2016 09:06:13 [] INFO: Init()  Success!
29/03/2016 09:06:13 [] INFO: IsAnythingToFarm()  Checking badges...
29/03/2016 09:06:13 [] INFO: IsAnythingToFarm()  Checking first page...
29/03/2016 09:06:15 [] INFO: IsAnythingToFarm()  Checking badges...
29/03/2016 09:06:15 [] INFO: IsAnythingToFarm()  Checking first page...
29/03/2016 09:06:15 [] INFO: IsAnythingToFarm()  Checking other pages...
29/03/2016 09:06:15 [] INFO: StartFarming()  We have a total of 5 games to farm on this account...
29/03/2016 09:06:15 [] INFO: StartFarming()  Chosen farming algorithm: Complex
29/03/2016 09:06:16 [] INFO: FarmSolo()  Now farming: 253980
29/03/2016 09:06:17 [] INFO: IsAnythingToFarm()  Checking other pages...
29/03/2016 09:06:17 [] INFO: StartFarming()  We have a total of 2 games to farm on this account...
29/03/2016 09:06:17 [] INFO: StartFarming()  Chosen farming algorithm: Complex
29/03/2016 09:06:17 [] INFO: FarmMultiple()  Now farming: 306350, 355150
29/03/2016 09:06:17 [] INFO: Start()  Starting...
29/03/2016 09:06:18 [] INFO: OnConnected()  Connected to Steam!
29/03/2016 09:06:18 [] INFO: OnConnected()  Logging in...
29/03/2016 09:06:19 [] INFO: OnLoggedOn()  Successfully logged on!
29/03/2016 09:06:19 [] INFO: Init()  Logging in to ISteamUserAuth...
29/03/2016 09:06:19 [] INFO: Init()  Success!
29/03/2016 09:06:21 [] INFO: IsAnythingToFarm()  Checking badges...
29/03/2016 09:06:21 [] INFO: IsAnythingToFarm()  Checking first page...
29/03/2016 09:06:23 [] INFO: IsAnythingToFarm()  Checking other pages...
29/03/2016 09:06:23 [] INFO: StartFarming()  We don't have anything to farm on this account!
29/03/2016 09:06:24 [] INFO: Start()  Starting...
29/03/2016 09:06:25 [] INFO: OnConnected()  Connected to Steam!
29/03/2016 09:06:25 [] INFO: OnConnected()  Logging in...
29/03/2016 09:06:26 [] INFO: OnLoggedOn()  Successfully logged on!
29/03/2016 09:06:26 [] INFO: Init()  Logging in to ISteamUserAuth...
29/03/2016 09:06:26 [] INFO: Init()  Success!
29/03/2016 09:06:29 [] INFO: IsAnythingToFarm()  Checking badges...
29/03/2016 09:06:29 [] INFO: IsAnythingToFarm()  Checking first page...
29/03/2016 09:06:32 [] INFO: IsAnythingToFarm()  Checking other pages...
29/03/2016 09:06:32 [] INFO: StartFarming()  We don't have anything to farm on this account!
29/03/2016 09:11:17 [] INFO: FarmHours()  Still farming: 306350, 355150
29/03/2016 09:11:22 [] INFO: Farm()  Still farming: 253980
29/03/2016 09:16:17 [] INFO: FarmHours()  Still farming: 306350, 355150
29/03/2016 09:16:25 [] INFO: Farm()  Still farming: 253980
29/03/2016 09:21:17 [] INFO: FarmHours()  Still farming: 306350, 355150
29/03/2016 09:21:27 [] INFO: Farm()  Still farming: 253980
29/03/2016 09:26:17 [] INFO: FarmHours()  Still farming: 306350, 355150
29/03/2016 09:26:29 [] INFO: Farm()  Still farming: 253980

print about the !statusall
http://i.imgur.com/Udt9g7t.png?1

!statusall doesn't work because you didn't set up SteamOwnerID in ASF.json properly.
AcceptGifts does not exist in ASF <IP_ADDRESS>, but <IP_ADDRESS>+.


Configuring a VPN service

wondering how to connect k3OS nodes over a VPN (this might not be possible yet...)
On RancherOS I deploy a vpn service in my cloud-config (see bellow)
is it possible to achieve something similar on k3OS?
  services:
    zerotier:
      image: dwitzig/zerotier:1.2.12
      labels:
        io.rancher.os.scope: system
      volumes:
        - /opt/zerotier-one:/var/lib/zerotier-one
      restart: always
      net: host
      devices:
        - /dev/net/tun:/dev/net/tun
      cap_add:
        - NET_ADMIN
        - SYS_ADMIN
      volumes_from:
        - system-volumes
      entrypoint: /zerotier-one
    zerotier-join:
      image: dwitzig/zerotier:1.2.12
      labels:
        io.rancher.os.scope: system
      volumes:
        - /opt/zerotier-one:/var/lib/zerotier-one
      restart: on-failure
      net: host
      entrypoint: /zerotier-cli join $NETWORK_ID
      depends_on:
        - zerotier

It would be cool if k3os would suppose wireguard von and use it for pod networking and other internal traffic.

Hi @dwitzig I hope you don't mind me asking here. I am using RancherOS and would like to encrypt traffic between the nodes of Kubernetes clusters since my provider doesn't have private networking. Do you have a blog post or tutorial on how you implemented the solution in your example / how it works so I can understand better also how to configure the network settings? Also are you happy with Zerotier for this so far? Thanks!

Hi @vitobotta, I put together a quick outline of how I deploy via ZT in this gist https://gist.github.com/dwitzig/1c3f0a3ed215a5852a4dc40cc608e876

I modified the boot scripts to use env vars and wait for network script to make it a bit simpler. Normally I use a Key/Value store so hopefully it works ( did not have a chance to test :) )

I really like ZeroTier. It's supper easy to deploy and its ability to auto failover and use the most efficient WAN connection is great. I use it on edge devices that have a 3G dongle for failover. ZeroTier handles this effortlessly.
The trickiest thing I found using a VPN to connect nodes is making sure the nodes and CNI are using the correct IP and interface. (I only just got this completely sorted when I moved to k3s)
hope that helps :)

Hi @dwitzig , in the meantime I sorted out with Wireguard and I am really happy with it. I created a Docker image to manage it via a container/service - see https://vitobotta.com/2019/07/17/kubernetes-wireguard-vpn-rancheros/ - I changed mind about using ZeroTier because I didn't wan't to have to trust someone with this stuff. Thanks btw

linking #422 (Wireguard on K3OS)


Link in ReadMe to Demo INOP

The link to the live demo does not load when clicked.
http://<IP_ADDRESS>/
The connection has timed out
The server at <IP_ADDRESS> is taking too long to respond.
The site could be temporarily unavailable or too busy. Try again in a few moments.
If you are unable to load any pages, check your computer’s network connection.
If your computer or network is protected by a firewall or proxy, make sure that Firefox is permitted to access the web.

Thank you for reporting the issue, the link is available now.


get access to Thymeleaf engine

I think you would also need to expose the method on the interface, otherwise user will have to cast to access it.
And a test would be good :)

extending interface is ok, you are right. But tell me: what should a test do? Checking null?

Yeah, I guess at least checking null, or maybe changing something on the configuration which changes the output of the test.

merde. did my changes yesterday come in already? I am not used to GIT. I just wanted to write you, that i modified the methods, that i can only implement tests next week and wanted to ask, wether i should perform the PR already; now i see its there already.


Revert "downloads: hide remote sync section until wallets upgrade to v16

This reverts commit 22f72b05de8d78d2c9c2a614769da25033e246d8.
To be merged after Mymonero and edge will be confirmed on the correct network.
Edge: https://twitter.com/EdgeWallet/status/1563584457361149952
i'm unsure about the current status of Mymonero. Ping @LivBoss @AslanPonies

This reverts commit 22f72b0.
To be merged after Mymonero and edge will be confirmed on the correct network.
Edge: https://twitter.com/EdgeWallet/status/1563584457361149952 i'm unsure about the current status of Mymonero. Ping @LivBoss @AslanPonies

And we are very happy to report that our Android app has been successfully patched and is operational again.
This now means that you can now view your XMR balance and transactions again, since the wallets are scanning to the latest block height within our Web-Wallet, MacOS, Linux and Android mobile app.
Our engineers are busy with the spend patch, which directly relates to sending funds. This is expected to be completed early this upcoming week.
We are also in the final stages of patching the Windows system. We are ready to release the iOS mobile app, we are just working through a few things with the Apple review team.

@erciccione
Here is the latest official from the MyMonero team:
MyMonero has hard forked, Our software is now compatible with the Fluorine Fermi network upgrade.
Our wallet is fully operational on our web-wallet, MacOS, Linux platforms, as well as on theAndroid and iOS mobile apps.
Once you have updated to the latest software, you will be able to see your balances and transactions and you can now send XMR.
With regards to our Windows users, we have completed the hard fork patch on the Windows software as well, and although we are very eager to release it, we are still awaiting a certificate that will allow us to release the software publicly.

Official PSA from MyMonero:
We have just released our upgraded software for Windows.
Our Windows users can now download the latest software here:
https://github.com/mymonero/mymonero-app-js/releases/download/v1.3.2/MyMonero-Setup-1.3.2.exe
We are happy to announce that MyMonero is now fully operational on 100% of our platforms.

I can confirm that sending worked for me with the MyMonero version on iOS.


Broken refs in api docs

description
some of the api docs are rendering unmarked up refs
eg:

common_http_protocol_options

(config.core.v3.HttpProtocolOptions) Additional options when handling HTTP requests upstream. These options will be >applicable to both HTTP1 and HTTP2 requests. This has been deprecated in favor of common_http_protocol_options in the http_protocol_options message. common_http_protocol_options can be set via the cluster’s extension_protocol_options. See ref:upstream_http_protocol_options <envoy_v3_api_field_extensions.upstreams.http.v3.HttpProtocolOptions.upstream_http_protocol_options> for example usage.

https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/cluster.proto.html

awaiting final fix in #15786


Error 4012 when Casting using Widevine license with HDCP restriction

Have you read the FAQ and checked for duplicate open issues?: Yes
What version of Shaka Player are you using?: 2.3.4
Can you reproduce the issue with our latest release version?: Yes
Can you reproduce the issue with the latest code from master?: Yes
Are you using the demo app or your own custom app?: Custom
If custom app, can you reproduce the issue using our demo app?: Could not load custom asset and LA URL. The console logged CORS errors which don't seem right...
What browser and OS are you using?: Chrome 65, Windows 7
What are the manifest and license server URIs?:
https://d4hhk6jc6dmwq.cloudfront.net/de/ble/1727587/201f7a9e52034036af1fc399808ce436/movie/smooth/stream-01.mpd
HDCP V1: https://wv.test.expressplay.com/hms/wv/rights/?ExpressPlayToken=BAAAAAOzaTcAAABgYt0v-_tOdXl1A8izs0rvfwjjKwuVGSkEAF1kdQqO9Uj_8EOXcAhDwCFHFW4Xl566gqE3VlPy1936oFcmRKYsUDFVv0vNbTjHffYHy4VnsolOEc47KVOPT3r5vU0KoMdiKO_Ue4R2qyZ5SJRC72pBBoEprh8
NO HDCP: https://wv.test.expressplay.com/hms/wv/rights/?ExpressPlayToken=BAAAAAOzaXsAAABg3BwCQNP-iFgE-arRdjJrEpk4FsJKKD4bmouOK51EnpT3_Fg0x1XZmGqP-j2C2Di4UTygGTG4OrxcZoe0zokOiJbUpXLTvcJuE38js69nHmaj_IlbhCQSIXuJz9DZIESGD9MMm0WymqjmYvV7XP3TALwUY04

What did you do?
Created a minimal player app based on the demo:
shaka.polyfill.installAll();
var video = document.getElementById('video');
var player = new shaka.Player(video);
var proxy = new shaka.cast.CastProxy(video, player, 'A15A181D');
var controls = new ShakaControls();
controls.init(proxy, function(error) { console.error('error:', error); }, function(casting) { console.debug('casting:', casting); });
player.configure({ drm: { servers: { 'com.widevine.alpha': '...' }}});
player.configure({ drm: { advanced: { 'com.widevine.alpha': { 'audioRobustness': 'SW_SECURE_CRYPTO', 'videoRobustness': 'SW_SECURE_CRYPTO' }}}});
player.load('https://d4hhk6jc6dmwq.cloudfront.net/de/ble/1727587/201f7a9e52034036af1fc399808ce436/movie/smooth/stream-01.mpd');

What did you expect to happen?
Expected playback on Cast device. (1st gen Chromecast stick and NVidia Shield used for testing)
What actually happened?
Playback in Browser works but after switching to the Cast device playback fails with error 4012 when HDCP is enforced in the Widevine license. Without the HDCP option playback starts as intended.
Using Intertrust's Google Cast demo app playback works as intended even with HDCP restriction set:
https://d31lwto7rjo21l.cloudfront.net/chromecast/sender.html

Hi,
The Chromecast Gen1 device reports itself as not supporting HDCP validation - at least I can see this in our Widevine proxy logs, therefore it would be expected that playback fails.

This looks like more of a Chromecast problem than a Shaka Player problem, yes.
I'll contact someone on the Chromecast team, and tell them to have a look at this.

Thanks for looking into this. How come the Intertrust test app works even with the HDCP restriction enabled? Is it simply ignoring the (reported) device capabilities, starts playback anyway and gets lucky?

We consulted the Chromecast team internally, and this appears to be a minor bug in the device firmware on gen1 Chromecasts.  As a workaround, they recommend setting the robustness to "HW_SECURE_ALL", "HW_SECURE_DECODE" or  "HW_SECURE_CRYPTO".  This will trigger a different CDM implementation that reports HDCP correctly.
I am not familiar with the intertrust test app, but I notice there is no robustness setting in the application UI.  If they are hardcoding one of the above robustness values in their application, that could explain the difference.

I was also using Widevine with the Intertrust app. PlayReady seems unproblematic even with high OPLs.
Thanks for the robustness tip. I'll give this a try when I'm back at the office after the Easter holidays but I guess browser playback might fail with these. So we might need separate license settings for each device.
Thank you all. I'll update this issue next week.

As expected at least with older hardware configurations browser playback fails in this situation with anything other than SW_SECURE_CRYPTO.

Chromecast 1
Chromecast 2
NVidia Shield
Philips 32PFS6402/12

SW_SECURE_CRYPTO
FAIL
OK
FAIL
FAIL

SW_SECURE_DECODE
OK
OK
FAIL
FAIL

HW_SECURE_CRYPTO
OK
OK
OK
OK

HW_SECURE_DECODE
OK
OK
FAIL
FAIL

HW_SECURE_ALL
OK
OK
FAIL
FAIL

Also it seems https://www.gstatic.com/cast/sdk/libs/mediaplayer/1.0.0/media_player.js defaults to HW_SECURE_CRYPTO which seems to be the lowest common denominator.


Node, NPM, and moment version number updates

This change is because github flagged the version of moment
used by Azkaban as having a CVE.  While updating moment, I also made the following changes.

In build.gradle, I updated Node & NPM versions.
a) The new version of NPM generates a package-lock.json file, which is similar to Ruby's Gemfile.lock file in listing all dependencies and should be checked into the repo to pin versions.
b) Added a force flag to allow the NPM gradle plugin to clean the local NPM cache.  This is required by newer versions of NPM.
I used the NPM module depcheck to look for unused dependencies and updated package.json accordingly

I know that we don't have javascript integration test. How could we make sure the upgraded js binaries working with the latest version?

see https://docs.npmjs.com/files/package-lock.json#description for why the file is checked in.

@li-afaris I remember you said you saw an issue with the scheduling page with your first attempt. I don't see a description of the problem here and its resolution here. Could you provide some details?


build: Do not overwrite CMAKE_ASM-ATT_FLAGS

Allows passing flags to assembler in order to build 32-bit targets
on 64-bit platforms.
A 32-bit build can be produced by passing -DCMAKE_ASM-ATT_FLAGS=--32
to cmake.

32-bit builds are broken since commit 748a4c9c986b90006202c345568f292f77bf6a63


Some RKE2 downstream cluster options are reset to UI defaults on first Edit

Rancher Server Setup

Rancher version: 2.6-head (9de50354f56f69d56f84d324db62db624832486f)
Installation option (Docker install/Helm Chart): Helm Chart (though this is likely irrelevant)

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): ?

Proxy/Cert Details: None

Information about the Cluster

Kubernetes version: v1.20.8
Cluster Type (Local/Downstream): Downstream

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider): RKE2 provisioned

User Information

What is the role of the user logged in? (Admin/Cluster Owner/Cluster Member/Project Owner/Project Member/Custom): Admin

Describe the bug
Certain RKE2 provisioned downstream cluster options (e.g. Drain nodes on upgrade settings) that were modified during initial cluster creation are reset to their default UI values on the first cluster Edit.
To Reproduce

Provision an RKE2 node driver cluster in any cloud provider setting "Upgrade Strategy -> Control Plane (or Worker Nodes) -> Drain Nodes" to "No" or leaving it as "Yes" and unchecking "Delete pods using emptyDir volumes" (so they are different than UI default)

Note that UI defaults may be changed in the future which may affect bug reproduction using this exact scenario; however it should still be reproducible in general, see more info in "Additional context".

"Edit Config" for this cluster (don't have to wait for it to finish provisioning) and switch to the "Upgrade Strategy" tab.
Observe the values of the mentioned fields switch back to defaults:

Note that the change happens "behind the scenes", so the user doesn't have to click "Upgrade Strategy" tab for the issue to reproduce. Simply hitting "Save" right away on "Edit Config" screen would save the object with these settings reverted to UI defaults.
Another notable item is that if the referenced configuration changes are done on the "Edit Config" screen, the values actually "stick" and subsequent "Edit Config"s perform as expected.

Expected Result
Any values set on cluster creation page should not be reset back to UI defaults on "Edit Config" screen.
Additional context
This issue seems to stem from the difference in how values that have backend default values are handled in Rancher API based on request type (POST/PUT/GET).
The explanation below is based on setting "Delete pods using emptyDir volumes" to unchecked for Upgrade Strategy -> Control Plane.
When a cluster is created, UI submits POST request to v1/provisioning.cattle.io.clusters endpoint with JSON payload specifying all field values regardless whether their values match backend default values or not. For example (note deleteEmptyDirData set to false):
    "spec": {
        "rkeConfig": {
            "chartValues": {
                "rke2-calico": {}
            },
            "upgradeStrategy": {
                "controlPlaneConcurrency": "1",
                "controlPlaneDrainOptions": {
                    "deleteEmptyDirData": false,
                    "disableEviction": false,
                    "enabled": true,
                    "force": false,
                    "gracePeriod": -1,
                    "ignoreDaemonSets": true,
                    "ignoreErrors": false,
                    "skipWaitForDeleteTimeoutSeconds": 0,
                    "timeout": 120
                },

However, if the saved object is then retrieved with GET request to v1/provisioning.cattle.io.clusters/fleet-default/(cluster-name) the returned JSON omits the fields that have backend default values (note how deleteEmptyDirData as well as few other fields are not present on controlPlaneDrainOptions object):
    "spec": {
        "rkeConfig": {
...(few other fields omitted)...
            "upgradeStrategy": {
                "controlPlaneConcurrency": "1",
                "controlPlaneDrainOptions": {
                    "enabled": true,
                    "gracePeriod": -1,
                    "ignoreDaemonSets": true,
                    "timeout": 120
                },

It's interesting that 201 OK response received back from initial POST call has payload that contains all the fields.
Then, when "Edit Config" screen is used to modify this cluster object, UI sends PUT request to v1/provisioning.cattle.io.clusters/fleet-default/(cluster-name) endpoint with the payload containing all the fields again (not just the ones returned by GET). The update completes successfully and the response payload contains all the fields.
However, if GET request is sent again to v1/provisioning.cattle.io.clusters/fleet-default/(cluster-name) the returned JSON has all the fields, including the ones where values match backend defaults (response from GET below is assuming previous PUT was sent with deleteEmptyDirData set to false):
    "spec": {
        "rkeConfig": {
...(few other fields omitted)...
            "upgradeStrategy": {
                "controlPlaneConcurrency": "1",
                "controlPlaneDrainOptions": {
                    "deleteEmptyDirData": false,
                    "disableEviction": false,
                    "enabled": true,
                    "force": false,
                    "gracePeriod": -1,
                    "ignoreDaemonSets": true,
                    "ignoreErrors": false,
                    "skipWaitForDeleteTimeoutSeconds": 0,
                    "timeout": 120
                },

It should be discussed what the desired behavior should be here since the issue is likely in Rancher core framework like Steve. However, one option could be to ensure values that match backend-defaults are persisted and GET requests always return complete object with all fields set. This would eliminate any ambiguity with API client (e.g. UI) imposing their own defaults for fields that were not returned (undefined).
This issue may be outside of team/area2 immediate realm based on the comment above.

Since this issue doesn't seem to be affecting other API endpoints, it could be the mutating webhook we have for the cluster object. It seems likely at this time that the marshaling and subsequent unmarshaling of the cluster object drops the omitempty fields on subsequent updates to the object.

After looking into this issue, the inconsistency seems to originating from the rancher web-hook, which drops fields that have been tagged with omitempty. Disabling specific fields (such as Delete Pods using emptyDir volumes) results in the incoming payload sent from the UI to the web-hook (via kubernetes) having fields with zero values. As such those fields are omitted, and the UI defaults are applied. Removing the omitempty fields from the DrainOptions struct will avoid the dropping of the fields entirely, and ensure that UI defaults do not overwrite the values initially supplied.
This does not fully explain the difference between POST and PUT requests as initially observed, this behavior is likely due to an intricacy within steve/norman. However, removing the omitempty tag should avoid this discrepancy and result in all of the fields being returned and saved in all instances.
There is some odd behavior that cannot be address with the removal of the omitempty tag. For example, deselecting the Timeout after box will result in a value of 0 being passed to the backend. This value is then returned in the GET request made by the UI, and the box will become selected but the Drain Timeout value will be 0. Similar behavior occurs with the Override pod termination grace periods field - when this field is deselected, a value of -1 is sent to the backend, which indicates that the grace period should be honored. This value is then returned to the UI and the button is deselected, as a -1 value means we do not want to override the grace period. This behavior is somewhat unintuitive, but not necessarily a bug.

Ticket #37597 - Test Results
With Docker on a single-node instance:
Reproduced on rancher v2.6-9de50354f56f69d56f84d324db62db624832486f-head:

Fresh install of rancher v2.6-head
Deploy a downstream RKE2 cluster - [ANY] - with Upgrade strategy changed from default settings
Once Create is selected; Edit Config of cluster and observe Upgrade strategy settings have reverted back to defaults

Screenshots:
Step 2

Step 3

Will validate once PR is merged

Moving this to Review since the PR is not merged.

Ticket #37597 - Test Results [pt. 2]
With Docker on a single-node instance:
Verified on rancher v2.6-cba26e9274d371823d039121e7a613da42f44730-head:

Fresh install of rancher v2.6-head
Deploy a downstream RKE2 cluster - [ANY] - with Upgrade strategy changed from default settings
Once Create is selected; Edit Config of cluster and observe Upgrade strategy settings have persisted

Screenshots:
Step 2

Step 3


[Feature-Request] Add new model(BiSeNetV2) into the model zoo(resources/nn)

Start with the why:
Reason 1
I have trained a model which only does road segmentation with BiSeNetV2 network architecture and has a decent FPS(around 15 FPS).
I would like to deploy it to my OAK camera.

Above is the demo with OpenVINO IR model format
Reason 2
Compare to the existing notebook for training a segmentation model(e.g. the deep lab v3) which uses out of date TF, the training process using PaddleSeg is much more delightful and much quicker. Within 15 minutes, I got my model trained and thanks to the newer network architecture, BiSeNetV2, I got satisfactory accuracy as well as a pretty good FPS (more than 3 times quicker than the existing road-segmentation-adas-1000 model). If this approach is approved to be useful, then we can quickly and more importantly easily train more custom models with less efforts. Thus it will enrich the model zoo with full of models with the latest architectures which will benefit the community and in turn it makes DepthAI and OAK camera more valuable.
Move to the what:
A road segmentation model(BiSeNetV2 arch) has been trained by using PaddleSeg and verified in format of OpenVINO IR model (the .bin, .xml).
The current depthai_demo.py doesn't provide an easy way to do customized normalization before feeding a video frame to the model.
I would like the code to be updated to enable the demo code to have an interface/place to pass in the transformations(e.g. in my case, the normalization).
Move to the how:
I have update the code(in a quick and dirty way) to apply transformation before feeding the video frames to model, it still looks not quite right by watching the video segmentation.

I have attached my code and trained model below for your convenience and this is where a DepthAI expert is needed to finish the last step.
Before running the code, please install
python -m pip install paddlepaddle-gpu
pip install paddleseg

infer.py, the code to verify the OpenVINO IR model is correct without defects after exporting from PaddleSeg,
model.bin and model.xml in IR model to be used with the infer.py
Example Video
Updated depthai_demo.py
depthai/resources/nn/road/road.json
depthai/resources/nn/road/handler.py
depthai/resources/nn/road/road.blob

The code base I used is the latest main branch which I pulled this morning.
Please run this command:
python depthai_demo.py --sync -cnn road -vid ./video.mp4
Please let me know if you need any more information and appreciated for your help and great work~!

Hello @franva, another great suggestion!
I'm not that familiar with ML architectures so I wasn't aware that there's a deeplab alternative that's much faster. CC @tersekmatija
So on your suggestion - adding normalization - we could add it in depthai_demo but it would only work for video inputs (since normalziation would happen on host, before sending the frame to the device). As we mentioned, we also plan on adding normalization on the device side (possibly with ImageManip or directly on colorCamera).
So looking at your code, normalization that you are doing is paddleseg.transforms.normalize(). We should add support like this inside depthai @themarpe .
In the meantime, @VanDavv, could you look into adding this model to the depthai_demo? I'm thinking we should add another optional function to handler.py like def preprocessing(frame): that would get called if you are using video input - so the paddleseg.transforms.normalize() could be used in handler.py.

Hi @Erol444
Thanks for your update.
Yes, please add the normalization to the DeapthAI.
Also, the model is trained with image being preprocessed(e.g. transformations which contains Normalization).
Understood what you said, it will only be applied to video input. But nowadays, all models, if not all, are fed with images which are preprocessed and Normalization is always the last step in the array of transformations. Without supporting customized normalization on the device size, I don't really know how are we going to apply the custom trained model for the camera input which will be almost all the use cases for OAK cameras.
Like the idea to add def preprocessing(frame) into handler.py, so it hides the complexity from users and provide a simple interface. Could we look into how to technically support pre-processing not only for video input but also for camera input(device side)? Or maybe some hero in DepthAI have even better and easier approach to implemented the device side proprocessing?
Really looking forward to your and others feedback.

Does OpenVINO support normalization for us?  CC: @szabi-luxonis and @PINTO0309.

If I were to do the same thing, I would merge the normalization layers at the same time I generate the OpenVINO IR.

To adjust the conversion process, you can also use the general (framework-agnostic) parameters:
https://docs.openvinotoolkit.org/latest/openvino_docs_MO_DG_prepare_model_convert_model_Converting_Model_General.html

  --mean_values MEAN_VALUES, -ms MEAN_VALUES
                        Mean values to be used for the input image per
                        channel. Values to be provided in the (R,G,B) or
                        [R,G,B] format. Can be defined for desired input of
                        the model, for example: "--mean_values
                        data[255,255,255],info[255,255,255]". The exact
                        meaning and order of channels depend on how the
                        original model was trained.
  --scale_values SCALE_VALUES
                        Scale values to be used for the input image per
                        channel. Values are provided in the (R,G,B) or [R,G,B]
                        format. Can be defined for desired input of the model,
                        for example: "--scale_values
                        data[255,255,255],info[255,255,255]". The exact
                        meaning and order of channels depend on how the
                        original model was trained.

Thank you!

If I were to do the same thing, I would merge the normalization layers at the same time I generate the OpenVINO IR.
* To adjust the conversion process, you can also use the general (framework-agnostic) parameters:
  https://docs.openvinotoolkit.org/latest/openvino_docs_MO_DG_prepare_model_convert_model_Converting_Model_General.html

  --mean_values MEAN_VALUES, -ms MEAN_VALUES
                        Mean values to be used for the input image per
                        channel. Values to be provided in the (R,G,B) or
                        [R,G,B] format. Can be defined for desired input of
                        the model, for example: "--mean_values
                        data[255,255,255],info[255,255,255]". The exact
                        meaning and order of channels depend on how the
                        original model was trained.
  --scale_values SCALE_VALUES
                        Scale values to be used for the input image per
                        channel. Values are provided in the (R,G,B) or [R,G,B]
                        format. Can be defined for desired input of the model,
                        for example: "--scale_values
                        data[255,255,255],info[255,255,255]". The exact
                        meaning and order of channels depend on how the
                        original model was trained.

If you can provide me with the ONNX file before converting it to OpenVINO IR (.xml/.bin), I can try it.
It is much easier than combining DepthAI modules, as it only requires two additional command line options. Multiply and Add will be automatically inserted in the red frame in the figure below.

Hi @PINTO0309 thanks for your comment, yep it's better to embed the transformations inside a model, so code-wise developers don't need to worry about the transformation at all.
One more place to notice is : look at the normalization inside transformation from PaddleSeg.Transforms, it not only needs mean: [0.5, 0.5, 0.5], but also the std: [0.5, 0.5, 0.5].
I don't see the option to specify that in IR model. Hopefully there could be something we could do for the std
And sure, I am happy to provide the ONNX model :), here it is:
Road-Segmentation-416x416-ONNX

--std ≒ --scale_values SCALE_VALUES

$INTEL_OPENVINO_DIR/deployment_tools/model_optimizer/mo.py \
--input_model model.onnx \
--input_shape [1,3,416,416] \
--data_type FP32 \
--mean_values [127,127,127] \
--scale_values [127,127,127] \
--output_dir openvino/${H}x${W}/FP32

$INTEL_OPENVINO_DIR/deployment_tools/model_optimizer/mo.py \
--input_model model.onnx \
--input_shape [1,3,416,416] \
--data_type FP16 \
--mean_values [127,127,127] \
--scale_values [127,127,127] \
--output_dir openvino/${H}x${W}/FP16

sample.zip

@PINTO0309
Beautiful~! Learnt a lot from you guys :+1:
Thanks a lot for the explanation and converted models.
So in my case, the model is trained with std = [0.5,0.5,0.5], then
I guess the value of scale_values would be : [2,2,2], am I correct?

For normalization to the range 0 to 1.
$ python3
Python 3.8.10 (default, Jun  2 2021, 10:49:15)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> data = np.full(3, 255)
>>> data / 127.5
array([2., 2., 2.])
>>> data / 127.5 - 1.0
array([1., 1., 1.])

Thus, mean_values = 127 means subtraction by 127. scale_values = 127 signifie une division par 127. 1.0 is a number to normalize to the range 0-1 for the value after 127 has been subtracted.

Hi @PINTO0309
Appreciated for the elaborated explanation, thumb up~!(I can't find where the emoji is.....so I typed...)
After dug into the code of PaddleSeg's Normalization, I found the range for normalization is between: [-1, 1].
Here is the code for default mean and std values,
Also for your convenience, I pasted the code here:
class Normalize:
    def __init__(self, mean=(0.5, 0.5, 0.5), std=(0.5, 0.5, 0.5)):

The Normalize class then calls functional.normalize(im,mean,std) to do the real job
im = functional.normalize(im, mean, std)
I then had a look at the code for functional.normalize()
Also pasted the code here for your convenience:
def normalize(im, mean, std):
    im = im.astype(np.float32, copy=False) / 255.0
    im -= mean
    im /= std
    return im

So after reading the code, I can see the range for the normalization in PaddleSeg is [-1, 1].
Then TWO problems come.
As you can see here in the normalize() function, there are THREE operations, whereas we can only specify 2 parameters with OpenVINO's command line(I will explain it below).
It applies the dividing first by dividing 255.0. So this maps to the --scale param in OpenVINO.
It then subtracts mean which is [0.5,0.5,0.5] which maps to the --mean_values in OpenVINO
Then here the FIRST problem arrives, it divides the std which maps to the --scale_values in OpenVINO.
BUT, check out this line of code in OpenVINO's repo:
if argv.scale and argv.scale_values:
        raise Error(
            'Both --scale and --scale_values are defined. Specify either scale factor or scale values per input ' +
            'channels. ' + refer_to_faq_msg(19))

It does not allow us to have the scale and scale_values together~!
So above is the 1st problem.
Here is the 2nd problem.
Back to the PaddleSeg's normalize() method, it applies

dividing by scale(255.0) FIRST,
subtracted by the mean [0.5,0.5,0.5] SECOND,
dividing by the scale_value [0.5,0.5,0.5] the LAST

So the sequence is important and must not be messed up.
But in OpenVINO's code base, I am not able to find where these operations happen and in what order.
So I'm kinda frustrated, after so many discussions, we are back to the beginning.
There still isn't any solution.
Any suggestions?

$INTEL_OPENVINO_DIR/deployment_tools/model_optimizer/mo.py \
--input_model model.onnx \
--input_shape [1,3,416,416] \
--data_type FP16 \
--mean_values [127.5,127.5,127.5] \
--scale_values [127.5,127.5,127.5] \
--output_dir openvino/x/FP16

0 * 0.007843017578125 - 1.0 = -1.0
255 * 0.007843017578125 - 1.0 = 1.0

Hi @PINTO0309
Thanks for your suggestion.
The Normalization doesn't come from PyTorch, it comes from PaddleSeg and here is the code:
def normalize(im, mean, std):
    im = im.astype(np.float32, copy=False) / 255.0
    im -= mean
    im /= std
    return im

As you can see here, there are THREE steps performed during the normalize(), but in your view of model architecture, there are only TWO steps which means it is lack of 1 operation.
Also, the 0.5 is not the range, it is the value for mean and std used when training the model. So if we didn't use the correct value of mean and std, the model would not return correct predictions.  Hopefully, I explained it clearly.
Btw, good tool to view the model structure. May I know the name of this tool?
Thanks

If the original goal is to normalize to the range of -1.0 to 1.0, then I don't think the difference between three steps or two steps in the process is essential.

Model Visualization tool "Netron"
https://netron.app/

Hi @PINTO0309
Thanks for your suggestion.
The Normalization doesn't come from PyTorch, it comes from PaddleSeg and here is the code:
def normalize(im, mean, std):
    im = im.astype(np.float32, copy=False) / 255.0
    im -= mean
    im /= std
    return im

As you can see here, there are THREE steps performed during the normalize(), but in your view of model architecture, there are only TWO steps which means it is lack of 1 operation.
Also, the 0.5 is not the range, it is the value for mean and std used when training the model. So if we didn't use the correct value of mean and std, the model would not return correct predictions. Hopefully, I explained it clearly.
Btw, good tool to view the model structure. May I know the name of this tool?
Thanks

You can rewrite normalization step as:
 def normalize(im, mean, std):
     mean = mean * 255.0
     std = std * 255.0
     im = im.astype(np.float32, copy=False) / 255.0
     im -= mean
     im /= std
     return im

Which means mean value 127.5, scale value 127.5.

Thanks! @szabi-luxonis

Does OpenVINO support normalization for us? CC: @szabi-luxonis and @PINTO0309.

It does, and it is captured in the documentation here. CC: @Erol444 for future recommendations.
We can add in the future mean and scale values for preview image of ColorCamera node, there is already option to output FP16, but it's not normalized. Adding normalization/scaling is quite simple.
Regardless, the best way is including preprocessing in the model itself, IMO.

We can add in the future mean and scale values for preview image of ColorCamera node, there is already option to output FP16, but it's not normalized. Adding normalization/scaling is quite simple.
Regardless, the best and easiest way is including preprocessing in the model itself, IMO.

Thanks for the link Szabi! And I agree preprocessing should be handled in the model. Maybe one upside of having it in the FW is for figuring out what input it actually requires (instead of reading the documentation). We could have a simple app that tries different common preprocessing techniques and view the output, so you can later apply correct preprocessing with mo.py.

Hi @PINTO0309
Thanks for your suggestion.
The Normalization doesn't come from PyTorch, it comes from PaddleSeg and here is the code:
def normalize(im, mean, std):
    im = im.astype(np.float32, copy=False) / 255.0
    im -= mean
    im /= std
    return im

As you can see here, there are THREE steps performed during the normalize(), but in your view of model architecture, there are only TWO steps which means it is lack of 1 operation.
Also, the 0.5 is not the range, it is the value for mean and std used when training the model. So if we didn't use the correct value of mean and std, the model would not return correct predictions. Hopefully, I explained it clearly.
Btw, good tool to view the model structure. May I know the name of this tool?
Thanks

You can rewrite normalization step as:
 def normalize(im, mean, std):
     mean = mean * 255.0
     std = std * 255.0
     im = im.astype(np.float32, copy=False)
     im -= mean
     im /= std
     return im

Which means mean value 127.5, scale value 127.5.

Hi @szabi-luxonis
Yep, I hope I could re-write the normalize() function, but it's from PaddleSeg which is not under my control.


[readline-unix] no absolute paths

For #20469
This port is 4 days old

Yeah, and before this one, readline-osx was rushed in with a custom build system, instead of simply using the original build system...

From INSTALL:

`--with-curses'
This tells readline that it can find the termcap library functions
(tgetent, et al.) in the curses library, rather than a separate
termcap library.  Readline uses the termcap functions, but does not
link with the termcap or curses library itself, allowing applications
which link with readline the to choose an appropriate library.
This option tells readline to link the example programs with the
curses library rather than libtermcap.

Seems that readline-unix should depend on libtermcap or curses

Yes. It depends on system curses on osx and linux.

Hm but the readline.pc still references termcap instead of curses

Upstream bug?

Looks like below codes not working correctly, causing the default lib: ltermcap is used instead of lcurses.
readline-8.1\configure.ac:
AC_ARG_WITH(curses, AC_HELP_STRING([--with-curses], [use the curses library instead of the termcap library]), opt_curses=$withval)

if test "$opt_curses" = "yes"; then
	prefer_curses=yes
fi

@autoantwort Could you please help solve this issue?

@autoantwort Could you please help solve this issue?

I also have read through the configure files and do not really understand why libcurses is not selected, but I don't want to debug it :D

From INSTALL:

`--with-curses'
This tells readline that it can find the termcap library functions
(tgetent, et al.) in the curses library, rather than a separate
termcap library.  Readline uses the termcap functions, but does not
link with the termcap or curses library itself, allowing applications
which link with readline the to choose an appropriate library.
This option tells readline to link the example programs with the
curses library rather than libtermcap.

Seems that readline-unix should depend on libtermcap or curses

vcpkg_configure_make(
SOURCE_PATH "${SOURCE_PATH}"
OPTIOS
Should be:
vcpkg_configure_make(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS

After modified the OPTIONS keyword, --with-curses option could be passed successfully, but the installation still failed with following error:
CMake Error at scripts/cmake/vcpkg_fixup_pkgconfig.cmake:78 (message):
  /usr/bin/pkg-config --exists readline failed with error code: 1
      ENV{PKG_CONFIG_PATH}: "/home/vxincwa/vcpkg/vcpkg/packages/readline-unix_x64-linux/lib/pkgconfig:/ed/x64-linux/lib/pkgconfig:/home/vxincwa/vcpkg/vcpkg/installed/x64-linux/share/pkgconfig"
      output: Package ncurses was not found in the pkg-config search path.
  Perhaps you should add the directory containing `ncurses.pc'
  to the PKG_CONFIG_PATH environment variable

vcpkg_configure_make(
SOURCE_PATH "${SOURCE_PATH}"
OPTIOS

That should be an error. At least a warning.

Yes, we will improve the check function for these keywords later.

Is btw ready

Thanks!


Disable "idle user" bugmail

If the assignee etc were idle for a long period of time and nothing else is going on in the bug then very very likely that bug is not important and we shouldn't be wasting time getting people to look at it. Other problems with this: reminders of colleagues that have left are sad making. Reminder of people that have died are further sad making.

Thanks to the "idle user" tool, we have been able to close many old bugs (a non-negligible percentage with actual fixes). Also, we have received positive feedback from the survey about it, so we won't remove it just yet.
We are certainly open to adjust the time it takes for people to be considered "idle" (e.g. if you have examples where it was too soon), or to reduce the frequency of the notifications, if that would help.

Sure, but many many more were useless old bugs that aren't important or even exist anymore. If we want to go be anecdata.

And in my experience the ratio is quite bad (ie its mostly un-important, useless, or non-existant bugs).


muxer: fix nil deref when finalizing muxerSegmentFMP4 with no currentPart

Playing an AV1 + AAC HLS stream published by OBS Studio via RTMP results in the following panic:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x60 pc=0x560447ec0e43]
goroutine 663 [running]:
github.com/bluenviron/gohlslib.(*muxerSegmentFMP4).finalize(0xc0006101c0, 0x0)
        github.com/bluenviron/gohlslib@v1.2.1/muxer_segment_fmp4.go:83 +0x23
github.com/bluenviron/gohlslib.(*muxerSegmenterFMP4).close(0xc00016a240)
        github.com/bluenviron/gohlslib@v1.2.1/muxer_segmenter_fmp4.go:131 +0x29
github.com/bluenviron/gohlslib.(*Muxer).Close(0xc000404140)
        github.com/bluenviron/gohlslib@v1.2.1/muxer.go:202 +0x38
github.com/bluenviron/mediamtx/internal/servers/hls.(*muxer).runInner(0xc0002a0120, {0x560448714258, 0xc0003da500}, 0xc0011f3fa0?)
        github.com/bluenviron/mediamtx/internal/servers/hls/muxer.go:288 +0xb30
github.com/bluenviron/mediamtx/internal/servers/hls.(*muxer).run.func1.1.1()
        github.com/bluenviron/mediamtx/internal/servers/hls/muxer.go:140 +0x32
created by github.com/bluenviron/mediamtx/internal/servers/hls.(*muxer).run.func1.1 in goroutine 662
        github.com/bluenviron/mediamtx/internal/servers/hls/muxer.go:139 +0x170

This commit addresses the panic, but does not fix the underlying issue with this particular codec combination.

Hello, thanks for posting the crash dump. I was able to replicate the issue, and in my case it happened when hlsDirectory is not empty and it points to an invalid directory. A more complete fix was added with #137. Please let me know if it solves the crash.

Thanks. I can confirm that #137 does fix the issue for me.


Create livenau

Please add national aviation university.
nau.edu.ua it is a official site, but livenau.net for the students

Can you capitalize the university name in the txt file?


Revamp the docs for getting started

Tracking issue for making the documentation more relevant.
We've seen a few issues (#980, #1002) that appear to be related to brand new projects attempting to use ES module imports. However, the getting started pages (here, here, and here) do not set new projects up with a compatible configuration.
My recommendation: The happy path for getting new projects started with this library should recommend using a bundler, with as minimal of a configuration as possible to support. Optionally we can link out to sites like createapp.dev to preempt questions about more complex configurations. A few bundlers to investigate as the recommended starting point:

create-react-app, which ships its own webpack configuration. This project supports very limited customization, asking devs to either "eject" or to maintain a fork of the scripts repo
parcel, which has built in defaults for React projects, and can be extended
webpack, which requires a configuration file to work with babel-loader. Somewhat ironically, if you google "webpack react", our webpack bundling page is the third result

We probably could add additional documentation for these three bundlers, but the getting started / tutorial should add as little friction as possible for new projects by recommending only one bundler.
Bonus points: This library should throw an error if attempting to use either require or import in server-side JS, and point to the bundler docs.
Fixes #816

Looked at create-react-app; it provides the nicest out of the box experience but unfortunately it ships error helpers in dev mode that assume access to window and document.
A fork or craco plugin that creates a server bundle without the error helpers, I am unsure of the long term maintenance consequences however as both would inevitably need patching over time.
No matter what build tooling we recommend, some amount of configuration will be required to get server-render working.
The dotnet CLI supports templates now that live in nuget packages. dotnet new React.Template would be an elegant way to get new projects started, and could be based on the tutorial.
@Daniel15 thoughts? Have you used dotnet templates before?

Did some more investigation. I think any non-webpack route is going to be too much to maintain for SSR; so this issue should be focused on the first run experience and have a reference webpack (basically copies what the sample uses today).
The existing tutorial for non webpack based apps can probably stay as is; but I’m not sure I would recommend it for anything other than one off web pages. We can probably move that to a separate section, eg “what if I don’t want a module bundler”

5.2.0 was published, creating a new React.Template package containing installable templates.
dotnet new -i React.Template
dotnet new reactnet-vanilla
dotnet run

#1049 added the basic template, and #1050 will add the webpack template.

Calling this done as the reactnet-webpack template has shipped in 5.2.1. Readme and documentation pages have been updated to recommend the templates first. At this point we're in a much better position to get new users up and running quickly for netcore apps. netfx apps will continue to use the existing samples; at some point they'll go into maintenance mode much like the Owin and Cassette examples.

@Daniel15 thoughts? Have you used dotnet templates before?

I haven't, but it sounds like you figured this out 😃


Reifying outputs from BQ file writing

Please add a meaningful description for your change here

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
Post-Commit Tests Status (on master branch)

Lang
SDK
Apex
Dataflow
Flink
Gearpump
Samza
Spark

Go

---
---

---
---

Java

Python

---

---
---

XLang
---
---
---

---
---

Pre-Commit Tests Status (on master branch)

---
Java
Python
Go
Website

Non-portable

Portable
---

---
---

See .test-infra/jenkins/README for trigger phrase, status and link of all Jenkins jobs.

retest this please

r: @lukecwik

Let's get this cherry picked in 2.20 if possible

I'll make a case to include this tonight.

Run Python PreCommit

for my info: may also need to use beam bq sink here https://github.com/apache/beam/blob/d62521f69ead4b58924043f041978d49e9beeb62/sdks/python/apache_beam/runners/dataflow/internal/apiclient.py#L1009

My current concern is python2 postcommit is failing. Could we hold this PR a bit until we figure out the resolution/answer to that? Just don't want to make the debugging worse.
Cherry-picking this PR would be easy if 1) a Jira to describe what it is doing 2) this PR does not affect postcommit.

yes. I'm working on https://github.com/apache/beam/pull/11106 to hopefully fix Python postcommits. Thanks @amaliujia

Run Python 2 PostCommit

Thanks Pablo!
I will wait for cherry-picking this PR.

Run Python PreCommit

Run Python 3.7 PostCommit


Fixed typo in window_sdl2.py

Corrected spelling of SDLK_KP_DEVIDE; should be SDLK_KP_DIVIDE.

Closing PR due to opening another PR ( #6607 ) to fix the travis-ci PEP8 style guide violation in /kivy/uix/modalview.py @ line 136. The new PR includes both this fix and the fix to this PEP8 issue.


Add copy to clipboard icon for each of the token export screenshots

As a user, I would love to be able to copy paste theses.
Long-term, this would probably live in actual docs.

Hey! I would like to take this up.

Hey @imrishabh18 go for it! Could you please join our Slack community first: https://join.slack.com/t/mirrorful/shared_invite/zt-1ps2xtxh0-2NaixFfFzSKZbr5gw_AHfA and let us know if you have any questions. Apologies for the delayed response.
Let's use the Charka CopyIcon for this, as we already have Charka icons imported.
You can import as
import {
  CopyIcon,
} from '@chakra-ui/icons'

To get started, here's how you can run mirrorful locally after forking:
➜  mirrorful git:(main) ✗ cd packages/mirrorful/editor
➜  mirrorful git:(main) ✗ git checkout -b "imrishabh/issue-36"
➜  mirrorful git: ✗ yarn; cd editor; yarn; cd .. # install packages
➜  mirrorful git: ✗ yarn run local # runs mirrorful locally

$ rm -rf ./dist; tsc --build; cross-env NODE_ENV=development node ./dist/cli/index.js
Running Mirrorful version: 2.0.19
Starting Mirrorful in /Users/zeus/code/mirrorful/packages/mirrorful.

Visit: http://localhost:5050/
Inside your project, you can run:

  yarn run mirrorful

to start the visual editor at any time 🚀

Then you can edit the code and make your changes!

Hey @imrishabh18 are you working on this? Otherwise might re-assign. Just let us know!

@alexdanilowicz please assign this to me, if @imrishabh18 is not available for now

Sorry @alexdanilowicz, was busy lately. I had already made the changes, I will push the PR now


Detect failed activation of configured bundles/components

When developing AEM/OSGi bundles sometimes components or bundles are failing when they are activated.
It's pretty hard to track it but programmatically it should be pretty easy to determine it and report it by the tool.
http://localhost:4503/system/console/components.json
find components matching wildcard pattern e.g "com.acme.aem.*":
that should never have
"state": "failed activation",

that could be a new "Components" check

released in 1.6.0 via #216


Webhooks have stopped working completely

Bug report
firebase-stripe-extensions
Describe the bug
My webhooks inside stripe have stopped working for no reason. I didn't change any setting but from today it has stopped working completely.
These are my webhooks but they all have stopped working

Expected behavior
They should work
Screenshots
They last worked yesterday

Sending test webhooks with dummy data is working
Test webhooks from here

This is likely related to some webhook delivery issues earlier: https://twitter.com/stripestatus/status/1382880735942434817
Please get in touch with support for more details and help: https://webchat.freenode.net/#stripe or https://support.stripe.com/


BMRC COIN

I'm submitting a ...
[x ] bug report
[ ] feature request
[ ] question about the decisions made in the repository
[ ] question about how to use this project

Summary
I keep getting the following error:
unsupported file modified: LOGO3.png b/assets/mainnet/HDveJwQE99MbJzNeozSk3Pp45CVmEDyVrGyMuckQg3R1/BMRC LOGO3.png

i have uploaded multiple png files from different sources in different sizes. All of which come up with the same error.

#12296

see comment in PR

Thank you for your response.
Spaces in the omg file name correct?
On Tue, Jan 4, 2022, 10:11 AM keone @.***> wrote:

see comment in PR
—
Reply to this email directly, view it on GitHub
https://github.com/solana-labs/token-list/issues/12305#issuecomment-1005054701,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXEMJYVDFQVNX73AN7TPR73UUMZ6NANCNFSM5LGWBESA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

correct


[TextField] Reduce spam of class names

We didn't use to apply this class name in v4. Proof: https://github.com/mui-org/material-ui/blob/10d331b63486086b581099c9cae6d7578f49103c/packages/material-ui/src/FormControl/FormControl.js#L189
and it doesn't seem to fill a purpose, so I went on removing it. The DOM feels heavy with all these class names, it makes it more challenging to read the dev tools output.

@eps1lon By "spam", I mean the following. Here is one Filled TextField on v5:

and on v4:

It's harder to process the structure, at the composition level between the components.
I'm going after a low-hanging fruit in this PR, removing a class name that has no use cases and that wasn't present in v4.

The only disadvantage to removing these classes is, if developers change the default props, for example the default value for the margin, they won't be able to specify styles for the margin="none", by using a utility class. If we are ok with this constrain we can remove it, if not, we should add utility class for each value for the props, even default ones.

@mnajdova margin none has no specific styles, in your described case, developers can customize the margin correctly by targeting the class name of the new default value.

@mnajdova margin none has no specific styles, in your described case, developers can customize the margin correctly by targeting the class name of the new default value. I would even argue that is force a better pattern on user land (wouldn't the code be easier to understand when reading the customizations?).

Agree, in this specific scenario it is true. My comment was in general that sometimes, default values need to be targetable.

@mnajdova yeah, I'm not sure we can apply this approach in many more cases.
For the class names, bootstrap has had to handle this tradeoff because of their API (class names first). We could probably take inspiration from them.


[FEEDBACK] Pg 103 Grammar? : Sergey Kosarevsky (3D-Graphics-Rendering-Cookbook)

Hi Sergey,
I think there might a logical error on page 103.
"The zoffset parameter of the function is used to specify the i index of the face."
I think it should be reversed.
"The i index of the face is used to specify the z-offset parameter of the function."

Thanks!
It is fixed in the 2nd edition!


Missile config appears on top / too widely spaced.

a8b5a095b5389d593575ded1d6d53f8d00a70d2a fixed the disappearing missile options but it also puts them on top due to the order of menu population.  This wouldn't be so bad if they weren't spaced out so horribly.  Fix one.

Fixed in de91907302e1a4491099d338006c2b94a3583b74


fix #14 add userName to textArea on comment-author-name click

Coverage remained the same at 83.947% when pulling 1f4287f33b09b904f750b3417ff20b5dd45c1cfe on blog#14 into 264641a7333f2ca092af9431a80bb83fe2901b8e on master.


VESTEC demo

Demo for VESTEC that loads .png, .vtu and .pvtp files from a VESTEC incident specified in the URL.

Please format your commit with commitizen


debug parameter is not working properly

whatever we use in the -v parameter we get no message.
The debug parameter should print information about the flow.

v1.1.1 resolved this issue. If you are still facing problems please fill free to report them.


Duplicate forks in forked-to

The dropdown that shows my forks next to the "Fork" button contains two links to the same repo: one with username in lowercase and one in Uppercase.
Browser: Firefox

Aaand it's gone.
But now the link-to-my-fork button sometimes shows up in my own repo, and sometimes does not show up in the upstream repo. Sometimes it goes away when I reload the page, sometimes it doesn't.
I'm assuming someone is working on this feature right now :D

I'm assuming someone is working on this feature right now :D

That's not how it works, the extension takes days to be published, we don't push code updates in real time like the website owner could 😅

My guess is maybe show-names is interfering with the repo name and due to the username capitalization it doesn't think that the repo is the same.
Can you look into it if happens again? We copy that list from the overlay that appears when clicking on "Fork"; show-name shouldn't apply there.

Happened again with https://github.com/rust-lang/cargo
The dropdown contains kinrany/cargo and Kinrany/cargo, but the overlay list only shows Kinrany/cargo.

I found a problem, I don't know if it's related but:

when we're on a fork, the Forks list doesn't include the current fork and forked-to things there are no other forks available:

When forked-to loads this, the list of forks is reset and the button disappears.
cc @jerone

I wonder if the list of your forks can be reliably retrieved via API, that would solve a lot of issues.

Can you just get the intersection of the list of all forks with the list of your repos?

I found a problem, I don't know if it's related but:
* when we're on a fork, the Forks list doesn't include the current fork and `forked-to` things there are no other forks available:

I have noticed this too. In early version of the code, the cache was extended with forks. Currently, the whole cache is replaced with new forks, which when you are on a fork, doesn't contain all forks.
We need to extend saveAllForks with this check.

Back to the original issue; interference with show-names is my only thought too.

We need to extend saveAllForks with this check.

Sounds good, it can probably be moved to save
I think that line is exactly the issue as well and show-names might not be the culprit after all. That piece of code uses the current page URL… which could be aNyThInG/repo so it won’t match the filters ('aNyThInG/repo' !== 'anything/repo') and will be added twice.

Makes sense :+1:


Move to WKWebView

Use WKWebView instead of UIWebView. A nice overview of the capabilities of WKWebView can be found here http://nshipster.com/wkwebkit/

http://stackoverflow.com/questions/25854143/wkwebview-intermittent-blank-screen-issue mentions this bug.

There's a preliminary version of Bowser using WKWebView in https://github.com/ijsf/bowser/tree/wkwebview - seems to be working, though not fully tested.

Is that using the 64-bit package from Cerbero?

32-bit armv7, briefly tested on iPad Mini Gen 1.

Interesting. Have you tried many different URL's? When I tried this a couple of months ago, I hit the bug linked above and some pages just rendered blank. Fixed in iOS 8.2 SDK perhaps?

Haven't really tested yet. I am pretty sure that bug is eventually going to be fixed though, if it hasn't already been.

@ijsf I was thinking now would be a good time to mandate 64-bit devices only for Bowser and thus get rid of the problem of the buggy WKWebView. How far did you get with your move, does it work?

I'm working on this here https://github.com/EricssonResearch/bowser/pull/61.

#61 landed.


Revert "nixos/gnome3: don't install epiphany default"

Motivation for this change
This reverts commit 13b192749c2312683ad5db285de66f0352b67f98, since https://github.com/NixOS/nixpkgs/issues/98819 is now fixed.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@ofborg test gnome3

@ofborg test gnome3

@worldofpeace Anything left to address here or can we merge? :)

@worldofpeace Anything left to address here or can we merge? :)


nondescriptive Readme

There is nothing that describes what this package is. From the readme:
AWS Utils Library for ROS1
Overview
This is the common library for all of AWS RoboMaker ROS1 packages.
...
The package description also doesn't describe it: ROS packages for facilitating the use of AWS cloud services.

Readme updated, thanks!


Validators.min, Validators.max not working if using mask

Looks like only when using AngularMaterial, the validations works differently...


Add Search Icon insted of Button

we can add search icon istead of button which looks good and more proffesional

like this in white color

Please assign this issue to me under GSSoC

@khushi-joshi-05 please assign this issue to me

@sunny0625 please assign this issue to me