Error while running the latest SvelteKit

It works on Node.js 18 but not with GraalVM's
Here's the error log:
failed to load config from D:\Projects\sveltekit\freelance\vite.config.js
error when starting dev server:
TypeError: Invalid host defined options
    at eval (eval at <anonymous> (file:///D:/Projects/sveltekit/freelance/node_modules/vite/dist/node/chunks/dep-ed9cb113.js:12218:7), <anonymous>:1:2)
    at loadConfigFromBundledFile (file:///D:/Projects/sveltekit/freelance/node_modules/vite/dist/node/chunks/dep-ed9cb113.js:63072:27)
    at loadConfigFromFile (file:///D:/Projects/sveltekit/freelance/node_modules/vite/dist/node/chunks/dep-ed9cb113.js:62957:34)
    at runMicrotasks (native)
    at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async resolveConfig (file:///D:/Projects/sveltekit/freelance/node_modules/vite/dist/node/chunks/dep-ed9cb113.js:62575:34)
    at async createServer (file:///D:/Projects/sveltekit/freelance/node_modules/vite/dist/node/chunks/dep-ed9cb113.js:61883:26)
    at async CAC.<anonymous> (file:///D:/Projects/sveltekit/freelance/node_modules/vite/dist/node/cli.js:730:30)

I have already set the environment variables:
$Env:NODE_OPTIONS = "--polyglot"
$Env:NODE_POLYGLOT_OPTIONS = "--js.webassembly --experimental-options"

Setup:
GraalVM: graalvm-ce-java11-22.3.0
Vite: 4.0.0
SvelteKit: 1.0.0-next.582
Am I missing something?

Node on GraalVM doesn't support the features necessary for WebAssembly apparently.  I switched back to jdk-19.jdk as the JVM and sveltekit started working.

Node on GraalVM doesn't support the features necessary for WebAssembly apparently. I switched back to jdk-19.jdk as the JVM and sveltekit started working.
It appears GraalVM supports newer JDKs, but I don't believe Java 11 will cut it.

Are you using the dev build?

TypeError: Invalid host defined options ...

Could you, please, describe exact steps to reproduce this issue. I tried to clone the latest source code from https://github.com/sveltejs/svelte.git. I was able to run npm install and npm test without seeing this error.

I'm using SvelteKit
npm create svelte@latest myapp
√ Which Svelte app template? » SvelteKit demo app
√ Add type checking with TypeScript? » Yes, using JavaScript with JSDoc comments
√ Add ESLint for code linting? ... No / Yes
√ Add Prettier for code formatting? ... No / Yes
√ Add Playwright for browser testing? ... No / Yes
√ Add Vitest for unit testing? ... No / Yes

npm install
npm run dev

Thank you for the reproducer. I am able to reproduce the error now. The root of the problem is that graal-js/graal-nodejs does not handle well dynamic import in a dynamic function:
new Function('file', 'return import(file)')

When I replace this expression (in dep-ed9cb113.js:12218) by function(file) { return import(file); } then the error disappears. Of course, this is not an overly practical workaround - we will try to provide a relevant fix.

I believe this issue has been fixed in 23.1 (or 23.0?) already.
As of 24.0, WebAssembly support is enabled by default, too, so the env vars above should not be needed anymore.
I can confirm that the steps in https://github.com/oracle/graaljs/issues/688#issuecomment-1352839034 work now.
@pbk20191 I'm not sure what issue you're having, but it seems unrelated. Please create a separate issue with a description of the problem and, ideally, steps to reproduce.


After a pirep is filed, pilot location is updated prior to pirep approval

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Yes. After a pilot completes a flight, their location is not updated until after the pirep has been accepted.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Basically, when a pilot submits a pirep, their location in the pirep is their new location within the VA.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Only alternative solution I have found is to allow pireps to be auto accepted so their location will be updated unless the pirep is auto rejected.
Additional context
Add any other context or screenshots about the feature request here.

A potential problem with this request is where if you have the pilots must fly from the last location, their location will be in limbo until someone goes in and manually approves the flight.
What you desire could be done, but, if combined with other features, it could cause severe user experience problems.

I tried to explain the logic and risks behind this via discord, but looks like OP missed that conversation or still wants it to be done. Honestly considering the complexity of other systems and relationships, what v7 offers currently is ok.
Currently it offers relaxed setup options (no location checks, no aircraft checks) and offers controlled setup options (location and/or aircraft checks, availabilities etc.). Mixing two and/or removing some parts of one will only bring in new problems.
There was a request before, in which pirep checks was kept intact but flight search page settings was separate and can be adjusted to show all/more flights (regardless of pilot location). Maybe implementing that with some improvements will be useful, imagine a scenario/solution where pilots will be able to see current location departures and possible departures from where they recently landed while waiting for their pirep to accepted.
Anyway, our conversion about this is below, if someone wants to read it is available at discord too ;)

I'll close this for now. It can actually be accomplished through a module, if you look for the PIREPFiled event, you can look up the user and update their location


I can't get it to draw the example charts.

Hello, can't for the life of me get react-d3 to draw an example chart. I tried using the most recent release in js fiddle:

Which errors:
Uncaught ReferenceError: rd3 is not defined

When I try to use react-d3 in my own project, i get errors too:
Uncaught TypeError: Can't add property context, object is not extensible

When i comment out the react d3 chart, the errors go away (but the potential for interpreting data also goes away ...) I must be doing something stupid, but cannot figure it out. Is the current release just broken, and if so, is there a working release?
Would really love to take it for a spin. Thank you.

Pretty sure your first error is due to the fact that Github doesn't serve files with the content-type header that you need to use them in your project.
Is your second error using Browserify or Webpack, or are you using the minified react-d3 file?  This package is really meant to be used as a CommonJS package -- the compiled, minified version is mostly for the JSFiddle integration.
Can you please show me exactly what you're doing in a JSFiddle?

It seems to work in the fiddle, but I still can't get a hello word type thing to work. I keep getting:
Uncaught TypeError: Can't add property context, object is not extensible

The code is just nested views:
// subscriptions.js

var React = require('react')
var BarChart = require('react-d3').BarChart

var barData = [
  {label: 'A', value: 5},
  {label: 'B', value: 6},
  {label: 'F', value: 7}
];

var Subscriptions = React.createClass({
  render: function () {
    return (

      <BarChart data={ barData } width={500} height={200} fill={'#3182bd'} title='Bar Chart' />

)
  },
})

module.exports = Subscriptions

// application.js

var React = require('react')
var Subscriptions = require('./widget/subscriptions')

var Application = React.createClass({
  render: function () {
    return (

          <Subscriptions />

    )
  }
})

React.render(<Application />, document.getElementById('application'))

If i change subscriptions to the following render:
    return (

hello

)

The error goes away. So it's definitely the chart causing it. I just don't understand how or why, considering it works so well in all the demos and on jsfiddle.

    "react": "^0.13.1",
    "react-d3": "^0.3.0",

If you're using browserify or webpack, you may want to give it another try.  I just pushed out a patch that I hope will solve your issue.

@aj0strow Is your problem solved?

Closed due to inactivity, please feel free to re-open if you're still having issues.


Branch release 1.6

Issue: https://github.com/tmobile/pacbot/issues/270
Change the value of "Manage Rule" to "ManageRule"

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: RobinJosephKurian:x: Robin JosephRobin Joseph seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Is TrackingOptions.forCoppaControl supposed to be a static function?

The function TrackingOptions.forCoppaControl does not access the self object. It might be misleading since it looks like the function returns a COPPA-compliant version of the options it is being called on. I suggest either using the object the function is called on, or turning it into a static function.
https://github.com/amplitude/Amplitude-Swift/blob/f6efc4bda75c3c3092dc00d48c64b0096e076163/Sources/Amplitude/TrackingOptions.swift#L163-L170

Hi @danielmatzke, I agree this works better as a static function and is updated in #168, but please note this is not a public function and will be controlled through Configuration.enableCoppaControl


microprofile-health-118 Clarify the official name of the health spec …

…and use it consistently
Also renamed artefact. Not sure it's expected
Signed-off-by: Antoine Sabot-Durand<EMAIL_ADDRESS>

I think after the discussion on the mailing list, the agreed name should be MicroProfile Health since the group id and artifactid should not be updated for a number of good reasons.

@Emily-Jiang from what I read in the thread the agreement was on Health Check. I only reverted the artefacts name to avoid trouble. We should probably ask again on the ML

Eclipse MicroProfile Health is the final name

it is still inconsistent as the artifact id still reads MicroProfile.health not McroProfile health check, which is why I suggested to change everything to MicroProfile health


Feature Image Not Displaying on Hugo Website

Issue Title: "Resolved: Feature Image Not Displaying on Hugo Website"
Issue Description:
Hello,
I'm happy to inform you that I have resolved the issue regarding the feature image not displaying on my Hugo website. The problem was with the image path specified in the cover section of my content file.
Previously, I had written the image path as "static/blogs/best-page-generators-for-github-pages.png". However, the correct format is to omit the "static" directory and specify the path as "/blogs/best-page-generators-for-github-pages.png".
By making this correction, the feature image is now being displayed correctly on my Hugo website.


tox config file not found when using 0.11+

Up to version 0.10, pyroject-fmt worked fine. But after I updated it to 0.11 (or any version after that), I get this error when I run it with pre-commit:
ERROR: tox config file (either pyproject.toml, tox.ini, setup.cfg) not found
Traceback (most recent call last):
  File "/Users/taher/.cache/pre-commit/repo1jf3rj0i/py_env-python3/bin/pyproject-fmt", line 8, in <module>
    sys.exit(run())
             ^^^^^
  File "/Users/taher/.cache/pre-commit/repo1jf3rj0i/py_env-python3/lib/python3.11/site-packages/pyproject_fmt/__main__.py", line 55, in run
    results = [_handle_one(config, opts) for config in opts.configs]
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/taher/.cache/pre-commit/repo1jf3rj0i/py_env-python3/lib/python3.11/site-packages/pyproject_fmt/__main__.py", line 55, in <listcomp>
    results = [_handle_one(config, opts) for config in opts.configs]
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/taher/.cache/pre-commit/repo1jf3rj0i/py_env-python3/lib/python3.11/site-packages/pyproject_fmt/__main__.py", line 28, in _handle_one
    formatted = format_pyproject(config)
                ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/taher/.cache/pre-commit/repo1jf3rj0i/py_env-python3/lib/python3.11/site-packages/pyproject_fmt/formatter/__init__.py", line 26, in format_pyproject
    _perform(parsed, conf)
  File "/Users/taher/.cache/pre-commit/repo1jf3rj0i/py_env-python3/lib/python3.11/site-packages/pyproject_fmt/formatter/__init__.py", line 14, in _perform
    fmt_project(parsed, conf)
  File "/Users/taher/.cache/pre-commit/repo1jf3rj0i/py_env-python3/lib/python3.11/site-packages/pyproject_fmt/formatter/project.py", line 86, in fmt_project
    _add_py_classifiers(project)
  File "/Users/taher/.cache/pre-commit/repo1jf3rj0i/py_env-python3/lib/python3.11/site-packages/pyproject_fmt/formatter/project.py", line 45, in _add_py_classifiers
    supports = [(major, i) for i in range(minor, _get_max_version() + 1)]
                                                 ^^^^^^^^^^^^^^^^^^
  File "/Users/taher/.cache/pre-commit/repo1jf3rj0i/py_env-python3/lib/python3.11/site-packages/pyproject_fmt/formatter/project.py", line 24, in _get_max_version
    tox_environments = subprocess.check_output(["tox", "-aqq"], encoding="utf-8", text=True)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 466, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File<EMAIL_ADDRESS>line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['tox', '-aqq']' returned non-zero exit status 1.
  Installing backend dependencies: started

PR welcome 👍

just started running into this as well

opt-out/ignore

👍

@RonnyPfannschmidt Can you please elaborate how to this with opt-out/ignore?

Ignore would mean to just ignore The tox error and Carry on, opt out would need to pass a configuration option trough to enable/disable usages

IMHO should ignore 👍

Is there an ignore option in pyproject-fmt that I need to enable?

Nope, but adding that functionality is a PR welcome.

Change needs to happen around here https://github.com/tox-dev/pyproject-fmt/blob/main/src/pyproject_fmt/formatter/project.py#L28

Ah, ok. So, we can add something like ignore_tox and then pass conf.ignore_tox to _get_max_version so it returns _PY_MAX_VERSION?

No configuration needed. Just ignore errors IMHO 🤷

I see what you mean, I can do that, if interested.

After making the change, it ran without any issue for my use case.

Fixed with 1.0.0.


UI: Deletion of packages

Do you want to request a feature or report a bug?
Feature
What did you expect to see?

A delete button next to a package (all versions)
A delete button next to a package version
A delete button for many packages, perhaps all at once

In other words, are there any high level plans for the web ui?

In other words, are there any high level plans for the web ui?

Yup! I intend to recreate most of NuGet.org's UI, only with yellow highlights 😄

yes, that is sound very good.
also, if we can set a pakcage 'max version count' value, automatic delete the oldest versions... is it OK ?

I also needed to "clean" up my packages and searched for a way to delete some old test packages from Baget. Unfortunately theres no information on the help page (like its done with PUSH) of my Baget installation, so Im glad I found this topic! :)
I used this command to delete a package from Baget:
dotnet nuget delete mynuget 1.0.0 -s http://localhost:5000/v3/index.json -k "myapikey" --non-interactive
Is it possible to add another help page in Baget Server for this? I think this one might be an option which is used by many people.

I'd like to throw my hat in the ring as this being a really useful addition. I've been doing command-line jujitsu to remove packages, but for packages with multiple revisions this is a big PITA. Also, the removal removes the package but not its parent folder, which means I have to go behind and clean up the folder structure as well.
Loving the app btw - this is basically the only missing feature for me.
Best,
--J

However, what about package replacement? Should not there be an option to replace packages with matching version number? Right now, even with HardDelete set, I still get 409 when replacing the package. I read about the whole left-pad thing, and I understand it, but our organization's needs are different. It would help if the UI allowed for proper package management, but I understand it is in early stages, and it is looking GREAT!

You may use "AllowPackageOverwrites": true, in the same appsettings.json, but this feature is extremely toxic. Consider applying proper versioning in your CI / CD process.

Any updates on this? We'd love to have a button to delete the package :)!

Any update?

is this project still supported?

is this project still supported?

// Push
I would love to have this feature

Any update?


The colors of Player and Labels are not displayed correctly in the TCC build

Introduced in #1228
Steps to reproduce

Compile project with tcc see GitHub action config for more info on how to do that
Run the game and open a level

Observed
The color of the player and labels is just a shade of gray
Expect
The color of the player and labels should be the same as in GCC, CLANG, etc builds.

It's probably this bug:

https://lists.nongnu.org/archive/html/tinycc-devel/2019-10/msg00033.html
https://repo.or.cz/tinycc.git/commit/fadfc118e5f8c476000fcf6486c5b530ffaf86da

Confirmed that that patch fixes the color bug.
Steps for building the fixed tcc. Only tested on debian 10
# Get the source code tarball from debian
wget http://deb.debian.org/debian/pool/main/t/tcc/tcc_0.9.27.orig.tar.bz2

# extract
tar -xf tcc_0.9.27.orig.tar.bz2 && cd tcc-0.9.27

# get and apply the patch
wget -O fix.patch https://repo.or.cz/tinycc.git/patch/fadfc118e5f8c476000fcf6486c5b530ffaf86da
git apply fix.patch

# configure and build
./configure --libdir=/usr/lib/x86_64-linux-gnu/tcc/ --tccdir=/usr/lib/x86_64-linux-gnu/tcc/
make -j4
# optionally install (no need if tcc is already installed with apt)
# make install

# go to nothing and build
CC=<path to built tcc> \
CFLAGS='-DSDL_DISABLE_IMMINTRIN_H -L/usr/lib/x86_64-linux-gnu/pulseaudio' \
./build-posix.sh

# run and confirm it works
./nothing

@Nykseli thank you so much for verifying that! I guess the only thing to do now is to wait until the fix is actually officially released.


Poseidon looses an environment after restart

When unattended-upgrades restarts our systems (either Poseidon or the Nomad VMs; we don't know yet), all environments are temporarily lost. Only once a learner requests an execution, the respective environment is re-added dynamically (and then works as expected).

In our (by now) one observed case, on the 17th July at 02:00:30 am UTC, Poseidon did not recover the execution environments. Instead, it threw the error: Jul 17 02:00:30 msg="Error recovering the execution environments" error="couldn't load template jobs: couldn't load jobs: error listing Nomad jobs: Unexpected response code: 500 (No cluster leader)".
The reason for this is that we have configured our unattended-upgrades to restart our hosts at 2 am. Unlike with the download and the installation, we do not have a random delay for the reboot which leads to all hosts being rebooted at the same time.
In this case, the timing led to Poseidon fetching the execution environments when the Nomad server were in the election of their cluster leader. Therefore, the request failed.
I can thing of the following solutions:

Configure the unattended upgrades to keep unattended_automatic_reboot true, but drop unattended_automatic_reboot_time. Then, the host will reboot right after the upgrade (if required). When unattended_apt_daily_upgrade_randomizeddelaysec is high enough we can reduce the risk of startup race conditions.
Make the environment recovery mandatory for Poseidon. This way we would wait (and retry) for a successful recovery before continuing with the Poseidon startup. (A successful recovery can also create no environments, if non exist).

The recovery process would also be successful, when attempted from a clean Nomad environment, right? It's more about the successful connection to Nomad, not necessarily about receiving environment details? Do you see a simple mechanism to add such a retry mechanism (maybe reusing our existing approach for some retry tasks)?

Yes :+1:


Update usage instructions with plugins {} syntax

plugins {} syntax
build.gradle changes, including dependencies
preferred folder structure

@confile @advayDev1 - you'll see the changes much more clearly through the website

@confile - I'm unclear on this, please can you send a PR for the change you'd suggest

@brunobowden Since, it is still unclear to me too I can't!


Not finding all chapters of a manga

Describe the bug
When I search and add a series, it seems to only find a subset of chapters. For the first manga I tried, Chainsaw Man, the first 31 chapters download and then nothing else.
Reproduction steps

Add Manga.
Select Source (I chose Mangadex for this example).
Search for "Chainsaw Man" and select the first result "Releasing - Chainsaw Man".
Choose an interval of "At 00:00" and leave Location at default.
At the final screen, the chapters section says there are "31" chapters, but I currently see 118 on Mangadex.
Click Add

Expected behavior
I expect all chapters to download. Instead, only 31 chapters download.
Additional context
Strangely, it also says the Download Date was 53 years ago.

Please disregard. I think switching from "Mangadex" to "MangaDex" has resolved this issue.


How to put the texture onto the mesh file?

I run the demo successfully,but the result don not contain the texture file. so how to get the texture file,and how to generate the result as paper(readme)？ thx

You will want to open the output with meshlab, and to export it with the texture, follow this guide: https://discourse.shapr3d.com/t/how-to-convert-exported-obj-with-vertex-colors-to-obj-with-texture/8288

I am also not able to open any output for ex: 007.mesh.obj and 007.mat. I don't know how to proceed further, need help!

I have successfully compiled the demp.py and got the output folder. But these output objects are not opening in meshlab. Any suggestion will be appreciated.

You will want to open the output with meshlab, and to export it with the texture, follow this guide: https://discourse.shapr3d.com/t/how-to-convert-exported-obj-with-vertex-colors-to-obj-with-texture/8288
can you help me too?


Add automated deployment of website to gh-pages

I think this is probably all we need to have automated deployment of the pages.

OK, it failed due to something about environmental protection rules. I think I just need to fix something in the GitHub settings.

I fixed It, no worries. Now its the Dart sass Path that I didn't see locally (probably because I had already done this in the last somehow). Will fix


Provide support for scaling apps using AWS SQS Queue to include in-flight messages as well

Proposal
Provide support for scaling apps using AWS SQS Queue to include in-flight messages as well in addition to the already queued message count
Use-Case
No response
Anything else?
No response

@LiamStorkey is working on this


Error when unzipping and re-zipping function.zip

all the resizing with the initial function.zip works great, but when i unzip the file and zip it again (on MacOS, without editing files) and upload it, lambda function fails with the following errors in Cloudwatch:
Unable to import module 'index': Error
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)

If i upload the original function.zip  again to lambda, everything is working fine again

i am sorry, i zipped the content in a subfolder. just ignore this issue..


Add event/project label to opportunity

We talked about this and didn't land on if we should do it or how to determine if this is feasible given the data structure.


CNExT - making Visit-Detail PKs unique

Let's add the clinical table abbreviations (SRG, HOR, CHM) to the primary Keys of each clinical extract AND the visit detail, we will avoid having false duplicates.

if we can pls committ changes one by one (extract-sql), that way is not a massive review.

okay. yes, I'll commit one by one. I will add, for example, 'RAD-' + rad.uk to make up the source_pk. I have to do the same to the visit_detail_id - have it be 'RAD-' + rad.uk, or it won't be unique. 'RAD-' + rad.fk2 would still not be unique.

exactly, thanks

Okay. will do.

need the HospSupp join to finish this one @lvarnedoe thank you


Does this Server have HTHS / Strict-Transport-Security ? #Question

Describe Your Goal
What are you trying to achieve?
Trying to Create a WebSocket Server with HSTS.
What Does Your Project Look Like
#include "HTTPSServer.hpp"
#include "SSLCert.hpp"
#include "HTTPRequest.hpp"
#include "HTTPResponse.hpp"
#include <WebsocketHandler.hpp>
#include
ESP32 Module
Please provide specifications of your module

RAM/PSRAM: Default
Flash Size: 4MB

Software (please complete the following information if applicable)

IDE and Version: PlatformIO v2.3.4
Client used to access the server: Chrome

Additional context
Just wanted to know if the server supports HSTS / Strict-Transport-Security.
If yes, which header to add to my Server ?
Also wanted to know if the Middleware Contents / Headers are encrypted while using HTTPS in this server.

I think the answer would be since this only listens at https (for httpsserver) I guess HTHS would be irrelevant!


facade typo fixed

Fix typo in the APIM kubernetes documentation

@dlepow

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off

Thanks @dlepow but why I can not merge it?


By default start 1 minion for all quickstart

So it's simpler for users to play around with minion related features

Codecov Report

Merging #8682 (ee114b6) into master (a12b760) will decrease coverage by 54.34%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             master    #8682       +/-   ##
=============================================
- Coverage     68.64%   14.30%   -54.35%
+ Complexity     4472       84     -4388
=============================================
  Files          1696     1651       -45
  Lines         88565    86634     -1931
  Branches      13271    13060      -211
=============================================
- Hits          60795    12391    -48404
- Misses        23551    73338    +49787
+ Partials       4219      905     -3314

Flag
Coverage Δ

integration2
?

unittests1
?

unittests2
14.30% <ø> (+0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a12b760...ee114b6. Read the comment docs.


Fast in-place merge in OpenHashMap classes

Fast in-place mergeObject method seems to be missing in Object2ObjectOpen(Custom)HashMap. It is present in all Object2<primitive>Open(Custom)HashMap classes as mergeInt, mergeLong, etc.

It is unfortunate that all fast in-place mergeXXX methods waste CPU on 3 unboxes and 1 boxing per item. Using java.util.function.IntBinaryOperator, etc. would fix that nicely!

Thanks for your work!

The missing method is in fact weird, I'll check it. The problem with all methods such as mergeXXX is that they would require a bewildering array of function types to work in all cases.

The problem with all methods such as mergeXXX is that they would require a bewildering array of function types to work in all cases.

Standard Java8 IntBinaryOperator, LongBinaryOperator and DoubleBinaryOperator function interfaces (that's all, no Char, Short, etc. here) for 2Int, 2Long, 2Double maps would cover most of the needs. In IntelliJ Platform we need int the most.

I think that this should be possible.

I've looked a bit into the sources

Object2ObjectOpenHashMap#merge is missing because it is OpenHashMap.drv in the #if KEYS_PRIMITIVE || VALUES_PRIMITIVE block at lines from 1044 to 1222. I moved #endif up and now it is generated as needed.

Adding non-wrapping merge is quite straightforward - add a #ifdef PRIMITIVE_BINARY_OP_DEFINED block to Map.drv and OpenHashMap.drv with a proper merge function. If we keep the name (e.g. mergeInt) there will be a source-level compatibility problem for lambda expressions, so a different name seems to be needed.

What do you think?

Yes, let's start with 1) which seems easy.

Please have a look at #162 pull request for #159 and #160 as we discussed above.
I've tried to introduce as few changes as possible while keeping the project style and tests green.
Thanks!


Minimum revenue before selling

In this file : https://github.com/TeamWertarbyte/crypto-trading-bot/blob/development/src/modules/bot/index.ts
You are checking if revenue is more than 0 before selling. We can config a minimum revenue before selling.
Sometimes the bot is selling when he makes 10 cents, but with the bittrex commission we are losing money.
I think it would be wise to sell a share only if the revenue including the commission fees are superior to the configurated minimum_revenue.
What do you think about adding a minimum revenue variable?

It will also be a good idea to set in then config the bittrex commission. Like this we are sure to sell when revenue - bittrex_commission > minimun_revenue

Good idea! Thanks for the suggestion. @Fluorz Will include that in the next release.
How should we interpret minimun_revenue ? As an absolute value like 5.50 -> 5$ and 50 cents or percent like  5.50 -> 5.5% of amountToInvest -> 5.5% from 50$ = 2.75$

In percent I think : https://bittrexglobal.zendesk.com/hc/en-us/articles/360009625260-What-fees-does-Bittrex-Global-charge-

I meant the minimun_revenue parameter not bittrex_commission.
bittrex_commission seems to be just a percentage, yes.

minimun_revenue  in percent would be great 👍

A parameter to never reject and just hold would also be nice.

A parameter to never reject and just hold would also be nice.
https://github.com/TeamWertarbyte/crypto-trading-bot/blob/development/src/modules/evaluation/EMAEvaluation.ts

Already implemented. See example for BTC and ETH here
https://github.com/TeamWertarbyte/crypto-trading-bot/blob/235120abbe806537c5d68a1d05107134e5d57801/config.json#L2
Just add your coins to hodl in that array

I meant globally

Would you mind creating a separate issue for that?

#49


🐞[Bug]: TextBoxes are not accepting the text

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
The text boxes for 'Number of Colors' and 'Time Travel' are not accepting input. When we try to enter text, it isn't being accepted.
Expected behavior
When we enter any text, the text should appear
Add ScreenShots
No response
What browsers are you seeing the problem on?
No response
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@gollaanusha249 it is working you need to enter a number in them not a text


material 2 test issue: fixture.debugElement can not access to element inside mat-menu

@mprobst
Bug, feature request, or proposal:
fixture.debugElement can not access to element inside mat-menu
What is the expected behavior?
I want to test an element inside mat-menu component but it does not work
What is the current behavior?
Failed: Cannot read property 'textContent' of null
What are the steps to reproduce?
https://github.com/liliom55/test-fitApp
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
"@angular/cli": "1.0.0"
"@angular/material": "^2.0.0-beta.11"
OS: Windows
"typescript": "~2.2.0"
browser: chrome

The menu content does not exist in the dom until you open it, so Redial  will not be exist inside your component. You may wish to look at the menu tests here
https://github.com/angular/material2/blob/master/src/lib/menu/menu.spec.ts

You can refer to the current menu tests to see how it can be tested.


RFC 5686 in Neovim

RFC 5686 from Neovim was merged in, so the question becomes:
What do we need to do to take advantage of the new features?
As someone who knows VimL better than JS (I don't know JS, so this is generous) I hope I can provide some sort of assistance.
EDIT: It's good to be back, I went AWOL there for a while.
EDIT2: Nope, read it on mobile and screwed up.  RIP me

Good to have you back! I've unfortunately been AWOL this past week or so too - Feb is going to busy for me but I'm hoping can start to tackle some interesting stuff soon :)
Hopefully this will make it in soon! Will open up a lot of exciting scenarios for ONI


Configure "Allow Response Ratings"

Is your feature request related to a problem? Please describe.
The selection of buttons below each message is currently quite busy, and two of them are related to rating the message quality. If I'm deploying OWUI in a setting where there is no staff to review and act on these ratings, I'd like to be able to disable this feature in a way that results in simplifying the interface for my potentially stressed-out student users
Describe the solution you'd like
In Settings > User Permissions, just after Allow Chat Deletion, I'd like to be able to have an option like Allow Response Ratings. Like the deletion policy, this setting would apply to only users and not admins. The effect should be to remove the thumbs up/down from the options below assistant messages.
Describe alternatives you've considered
n/a
Additional context
The fewer buttons that are listed below each message, the more obvious it will be when I am adding custom Actions for my users. Currently, I am reluctant to add more because the interface is already somewhat overwhelming for new users. I would happy disable Rating in order to help direct attention to a wider array of Actions (further showcasing the exciting flexibility of OWUI!).

+1, we need this feature.
By the way, I actually don't understand where these Response Ratings will be collected and counted in the end?


Monitoring & Grafana

How does it help find cyber risks? @mirodmarinov

good question, idk 😄 removed


Unify builder argument order

Describe the feature
The ReverseHeadersDownloadBuilder and the BodiesDownloaderBuilder are the primary builder types that we use to construct downloaders in the CLI and in tests.
The header downloader builder has the following signature:
    /// Build [ReverseHeadersDownloader] with provided consensus
    /// and header client implementations
    pub fn build<H>(
        self,
        consensus: Arc<dyn Consensus>,
        client: Arc<H>,
    ) -> ReverseHeadersDownloader<H>
    where
        H: HeadersClient + 'static

And the bodies downloader has the following signature:
    /// Consume self and return the concurrent donwloader.
    pub fn build<B, DB>(
        self,
        client: Arc<B>,
        consensus: Arc<dyn Consensus>,
        db: Arc<DB>,
    ) -> BodiesDownloader<B, DB>
    where
        B: BodiesClient + 'static,
        DB: Database

The client and consensus fields should be changed to be in the same order for both downloaders
Additional context
No response

I'd like take this.
Is there an added benefit to this in terms of speed or something else, just curious?

Just consistency in the code, no performance motivation here!


remove addStochasticTooltip bulk version

I made a mistake when trying to fix the problem of recipe chance in REI (#646, #902), which results in serveral REI crash issues (#1382, #1395, #1406, etc.) and leaves the chance display issue unsolved (#1393).
@TropheusJ fixed #1393 by avoid using the bulk version CreateRecipeCategory::addStochasticTooltip(List<Widget>, List<ProcessingOutput>, int), and I think it can be better not to use it at all. For all current use cases, they can alternatively just add tooltip right after any slot created, and I think it is much more straight-forward. In other words, addStochasticTooltip(Slot slot, ProcessingOutput output) is sufficient to all current usages.
@IThundxr fixed #1382 (and all those crashes) by detecting illegal indexing here, which does not fixed the root cause where slotIndex is computed incorrectly in CreateRecipeCategory::addStochasticTooltip(List<Widget>, List<ProcessingOutput>, int). It means that any recipe using the bulk version function would put output chance incorrectly to other slots.
For now, deploying, polishing and basin (including mixing and compacting) recipes are still using the bulk version function. Once a customized recipe with chance is added (via mod, datapack, KubeJS, etc.), the problem will float on the table.
In this pull request, I introduced addStochasticTooltip(Slot slot, ProcessingOutput output) and removed all other overloads.

thanks, this is much better.


formalize our styled components

Noticed our buttons and a few other components weren't as flexible as they
could be. I wanted to set some custom style tags, but wasn't able to. Our
current API looks like this:
html`
  ${button({
    text: 'Close',
    style: 'filled-green',
    cls: 'fr ml3',
    click: onexit
  })}
`

Instead I reckon it might be better if we enumerate our different type of
elements in JS, and allow passing in an object with properties directly. This
is very feasiable because bel knows how to expand and apply objects passed in
directly. e.g.
html`
  ${button.green('Close', {
    class: 'fr ml3',
    onclick: onexit
  })}
`

This allows us to still apply things like the style property on the element,
while also being easy to remember because we're not modifying argument names.
It also means we can remove a bunch of custom syntax, making it easier to
learn if you're already familiar with the property names in HTML.
I think this approach is applicable to most of our other elements too. Thoughts?

Looks great – wasn't happy with the current solution anyway but didn't know how to improve it. This looks much more intuitive. It would be helpful for me to see a few more examples (or build them together).

Woot, yeah let's do it!


Enable Gzip Compression for argocd-server

Our ArgoCD GUI gets very slow when accessing a application with many resources. What i'm understanding from the documentation maby enabling gzip compressions helps. This could be done via argocd-server [flags] (see docs below). But I cannot find any setting in configmaps / documentation on how to enable this in the gitops-operator.
Is there a possibility to set these extra flag(s) or would this be an feature request?
See:
https://argo-cd.readthedocs.io/en/release-1.8/operator-manual/server-commands/argocd-server/
https://able8.medium.com/argocd-enable-gzip-compression-to-speed-up-web-ui-27a5bd427ca4

There is extraCommandArgs for the Server (docs)
  server:
    extraCommandArgs:
    - --enable-gzip


tomarkdown()

Would be convenient to have a tomarkdown() output function.

Hi @alimanfoo,
Could you provide an example(s) of what the expected input and output of the tomarkdown function would be?
Thanks,
John

Some ideas:

Maybe an function like Text files totext()
Also maybe adding generic support to template engines like:

Jinja
Cheetag
Others


User Task Manager terminate buttons are grey in dark mode

Branch: 7.1.
The user Task Manager dialog doesn't render well in dark mode:

Text is not wrapped and the "terminate" buttons are greyed out.

Fixed in > v7.1-beta.17


Sync only rank ?

Hello,
I would like to know if it is possible to sync only the rank of the player and not these permissions.
Thanks you !

Perhaps split storage is what you're looking for? (check the config)
Beyond that, no there's not any functionality like it.

I'd like to link my lobby ranks with my Faction server but not permissions.
For example: I give the permission "essentials.fly" on the lobby, the player can fly on the lobby but it does not put the permission on the faction


How to properly debug sh.py

I'm launching two consecutive sh commands (libreoffice --headless with different files) , but only the second time it just doesn't work as expected.
The process runs as www-data and I'm having some difficulty to know whether it is the HOME env setting or a permission issue, and get the output.
I tried setting as follows, but sometimes the logfile is truncated then it remains empty:
cmd._call_args['out'] = '/var/log/lolog'
cmd._call_args['err'] = '/var/log/lolog'
cmd._call_args['env'] = {'HOME': '/tmp/lo/'}

Doing the debug with Winpdb does not help too much, as the forks make the execution different from what it would be done normally by sh.py.
So, is there any particular hook or method to debug that I'm missing here?
Thank you,

sh is hard to debug given the nature of process forking.  Your best bet would be to experiment in the shell and find the exact commands that work flawlessly, then translate them to sh commands.  Btw, you don't want to use _call_args like you're using them...it's a private attribute for a reason :)   Check out here to set environment variables


Numeric-only image names break the arrow key JS.

I'm pretty sure this is probably just a situation where something should be explicitly made a string, but I hadn't found where that should go because it was just easier for me to rename my files.

Thanks for reporting this. Numeric IDs were indeed causing problems with the CSS selector so I simply added a prefix (id-) to the IDs to basically force them to be a string.

perfect, thats basically what I did as a temp fix but in reverse. thank you!


part 0

Current dependencies on/for this PR:

master

PR #3   👈

This comment was auto-generated by Graphite.


Breadcrumbs should inherit colors from the theme, not the defaults

I would expect breadcrumbs to look reasonable in my theme by it picking up defaults based on the theme's editor background or tab background colors, but it looks like it's pulling from the default dark colors instead:

Theme: https://marketplace.visualstudio.com/items?itemName=Tyriar.theme-sapphire

@Tyriar It mostly does: https://github.com/Microsoft/vscode/blob/f7b8c9b7df54f23b02fb36ba0cb12a5a96c8c4e9/src/vs/platform/theme/common/colorRegistry.ts#L292-L300. What color doesn't work for you?

@jrieken these fall back to Dark+'s colors, notice in the screenshot that breadcrumb.background is not actually based on the editor.background but Dark+'s default editor background.
I rely on the theme color for the terminal background like so:
null defaults:
https://github.com/Microsoft/vscode/blob/f7b8c9b7df54f23b02fb36ba0cb12a5a96c8c4e9/src/vs/workbench/parts/terminal/common/terminalColorRegistry.ts#L16
Fallback to theme's editor.background if it's not set:
https://github.com/Microsoft/vscode/blob/f7b8c9b7df54f23b02fb36ba0cb12a5a96c8c4e9/src/vs/workbench/parts/terminal/electron-browser/terminalPanel.ts#L313-L314

@aeschli Can you please advise to do here

@jrieken is doing the right thing here. By declaring registerColor('breadcrumb.background', { light: editorBackground, dark: editorBackground, hc: editorBackground }, the 'breadcrumb.background' color will default to the currently defined editorBackground color.

@jrieken You might want to do the same with the foreground colors If you want to add transparency, do something like here: https://github.com/Microsoft/vscode/blob/f938d63a285d470df9a407786d840b4d38d56503/src/vs/platform/theme/common/colorRegistry.ts#L251
@Tyriar I recommend you to also do the same

I have no changed it so that breadcrumbs only reuse (and lighten/darken) existing colors.

Hm, maybe I was just on an older version as it's working now. @aeschli will look into it thanks 👍  https://github.com/Microsoft/vscode/issues/57038

Yeah, in older versions the colors were hard coded


Update Result dependency to version 3.0.0

Do you have any timeline of when you're going to migrate to Swift 3, which will include updating Result as well? Thanks!

hello @Nonouf, as mentioned in #94 we are currently waiting for RAC swift 3.0 support before we can release heimdallr with swift 3.0.. Until then we have to stick to the latest rc which supports swift 2.3.


feat: updating service account limits from per user to per org

Switching service account limit check from per user to per org.
Description

Verification Steps

Checklist (Definition of Done)

[ ] All acceptance criteria specified in JIRA have been completed
[ ] Unit and integration tests added that prove the fix is effective or the feature works (tested against emulated and non-emulated OCM environment)
[ ] Documentation added for the feature
[ ] CI and all relevant tests are passing
[ ] Code Review completed
[ ] Verified independently by reviewer
[ ] Required metrics/dashboards/alerts have been added (or PR created).
[ ] Required Standard Operating Procedure (SOP) is added.
[ ] JIRA has created for changes required on the client side

Thank you for ping. All looks good

change looks good. Do we need to give users a heads up before this goes into prod?

@pb82: Updated the comment

@valdar @dhirajsb


Refactor GraphEdit connections

Remove duplicate bezier code and use Curve instead.
Add an overridable method for retrieving the points of a connection line, which
makes it possible to create custom connections lines.
Supersedes #40513

Don't forget to update the minimap drawing code, it used the same methods to draw connections.

Don't forget to update the minimap drawing code, it used the same methods to draw connections.

Should be all good now.

Ready to merge, but I don't know why the doctool of the linux build doesn't have the xml end tags.

Ready to merge, but I don't know why the doctool of the linux build doesn't have the xml end tags.

It's not just on Linux, those tags could never have content so they've been replaced with an autoclosing tags instead. You need to fix your docs to do the same. If you run the doctool locally, does it not fix it automatically?

Ready to merge, but I don't know why the doctool of the linux build doesn't have the xml end tags.

It's not just on Linux, those tags could never have content so they've been replaced with an autoclosing tags instead. You need to fix your docs to do the same. If you run the doctool locally, does it not fix it automatically?

I rebased onto an old master branch. It's fixed now.


Better builtin avatar generator

This PR fixes the builtin avatar generator.

The random background color makes some images very dirty. So now we only use white background for avatars.
We use left-right mirror avatars to satisfy https://github.com/go-gitea/gitea/issues/14799
Fix a small padding error in the algorithm

Screenshot:

Codecov Report

Merging #17707 (19fa794) into main (7a03473) will increase coverage by 0.01%.
The diff coverage is 88.09%.

@@            Coverage Diff             @@
##             main   #17707      +/-   ##
==========================================
+ Coverage   45.46%   45.48%   +0.01%
==========================================
  Files         802      805       +3
  Lines       89278    89697     +419
==========================================
+ Hits        40590    40797     +207
- Misses      42146    42358     +212
  Partials     6542     6542

Impacted Files
Coverage Δ

modules/avatar/identicon/block.go
41.66% <33.33%> (ø)

modules/avatar/identicon/polygon.go
84.61% <84.61%> (ø)

modules/avatar/identicon/identicon.go
92.59% <92.59%> (ø)

modules/avatar/avatar.go
45.71% <100.00%> (-2.02%)
:arrow_down:

models/gpg_key_common.go
59.67% <0.00%> (-4.84%)
:arrow_down:

models/unit/unit.go
41.09% <0.00%> (-2.74%)
:arrow_down:

modules/queue/workerpool.go
50.00% <0.00%> (-2.30%)
:arrow_down:

modules/queue/queue_bytefifo.go
59.28% <0.00%> (-0.60%)
:arrow_down:

routers/web/repo/view.go
40.22% <0.00%> (-0.49%)
:arrow_down:

... and 4 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7a03473...19fa794. Read the comment docs.


travis: use .deb package for SCIP

Codecov Report

Merging #11 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #11   +/-   ##
=======================================
  Coverage   78.53%   78.53%
=======================================
  Files          23       23
  Lines        1053     1053
=======================================
  Hits          827      827
  Misses        226      226

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0c3ce62...1bdf2ed. Read the comment docs.

Pull Request Test Coverage Report for Build 167

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 78.538%

Totals

Change from base Build 157:
0.0%

Covered Lines:
827

Relevant Lines:
1053

💛  - Coveralls


droidcam-obs: init at 1.6.1

Description of changes

I've used master for a while and it's worked very nicely for me.
Things done

Built on platform(s)

[x] 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

[x] Fits CONTRIBUTING.md.

Build and tested against unstable and with android-phone, works for me :)

I've been using this since I opened the PR without issues. Used a version of it pointing at master before, also without issues.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/768

Updated from the comments and tested to make sure it still works :ok_hand:


Move blobstore to pgx

We currently use forked versions of pq and database/sql for large object support, but I've upstreamed support into pgx, which will not require using any forks.

In order to do that, I think pkg/postgres should return pgx instances.


Synthesis failed for Google.Cloud.Scheduler.V1

Hello! Autosynth couldn't regenerate Google.Cloud.Scheduler.V1. :broken_heart:
Here's the output from running synth.py:
Cloning into 'working_repo'...
Switched to a new branch 'autosynth-Google.Cloud.Scheduler.V1'
Cloning into '/tmpfs/tmp/tmp2ygza02_/googleapis'...
Note: checking out '88316b63a486002727e14032d104690541179fc9'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 88316b63a Generated synth.py files with multiple commits enabled
Note: checking out '7be2811ad17013a5ea24cd75dfd9e399dd6e18fe'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 7be2811a fix: Update gapic-generator version to pickup discogapic fixes
Switched to a new branch 'autosynth-Google.Cloud.Scheduler.V1-2'
Running synthtool
['/tmpfs/src/git/autosynth/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']
2020-03-30 07:27:12,360 synthtool > Executing /tmpfs/src/git/autosynth/working_repo/apis/Google.Cloud.Scheduler.V1/synth.py.
Contents of preconfig file:
{"preclonedRepos": {"https://github.com/googleapis/google-cloud-dotnet.git": "/tmpfs/src/git/autosynth/working_repo", "https://github.com/googleapis/googleapis.git": "/tmpfs/tmp/tmp2ygza02_/googleapis"}}Extracted repo location: /tmpfs/tmp/tmp2ygza02_/googleapis
generateapis.sh: line 40: declare: GOOGLEAPIS: readonly variable
2020-03-30 07:27:12,407 synthtool > Failed executing /bin/bash generateapis.sh --check_compatibility Google.Cloud.Scheduler.V1:

None
2020-03-30 07:27:12,409 synthtool > Wrote metadata to synth.metadata.
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/git/autosynth/env/lib/python3.6/site-packages/synthtool/__main__.py", line 102, in <module>
    main()
  File "/tmpfs/src/git/autosynth/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/tmpfs/src/git/autosynth/env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/tmpfs/src/git/autosynth/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmpfs/src/git/autosynth/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmpfs/src/git/autosynth/env/lib/python3.6/site-packages/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/tmpfs/src/git/autosynth/working_repo/apis/Google.Cloud.Scheduler.V1/synth.py", line 22, in <module>
    hide_output = False)
  File "/tmpfs/src/git/autosynth/env/lib/python3.6/site-packages/synthtool/shell.py", line 39, in run
    raise exc
  File "/tmpfs/src/git/autosynth/env/lib/python3.6/site-packages/synthtool/shell.py", line 33, in run
    encoding="utf-8",
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 438, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '('/bin/bash', 'generateapis.sh', '--check_compatibility', 'Google.Cloud.Scheduler.V1')' returned non-zero exit status 1.
Synthesis failed
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/git/autosynth/autosynth/synth.py", line 482, in <module>
    main()
  File "/tmpfs/src/git/autosynth/autosynth/synth.py", line 334, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/git/autosynth/autosynth/synth.py", line 429, in _inner_main
    branch,
  File "/tmpfs/src/git/autosynth/autosynth/synth.py", line 135, in synthesize_loop
    metadata_path, extra_args, deprecated_execution, environ, synthesize_py_path,
  File "/tmpfs/src/git/autosynth/autosynth/synth.py", line 278, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/git/autosynth/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth passed, closing! :green_heart:


CB-18513: Removing duplicate SDX event logging.

Jira: https://jira.cloudera.com/browse/CB-18513
Due to recent changes the DL event UI was being populated with multiple copies of the same events. The changes in this commit are meant to heavily reduce the amount of times this happens, both through the removal of duplicate event sending, and the modification of some event messages which were identical to one another.

Please note that this won't fix all duplicates due to some appearing now due to the status service modifications but not being immediately clear.

for example I do not see the point of creation this:
resource.sdx.stack_provision_finished=Datalake cluster stack provision finished.
instead of this:
resource.sdx.provisionfinished=Datalake cluster provision finished.

for example I do not see the point of creation this:
resource.sdx.stack_provision_finished=Datalake cluster stack provision finished.
instead of this:
resource.sdx.provisionfinished=Datalake cluster provision finished.

For cases like that, the issue is that the use of the sendEventAndNotification method in the SdxStatusService now results in multiple firings of statuses which use the same root event message. My goal here was to add differentiation to these messages so the SDX event log is not populated with the same messages multiple times but while still achieving the effect of making it clear what is happening.
In the scenario you posted, originally the stack provisioning finished status update would result in the "cluster provisioning finished" message, just as 2 other status updates. This resulted in the event UI having 3 separate instances of the same provisioning finished messages. I believe this way people will clearly see the steps occurring during the datalake setup and not have to deal with any duplicates.
Hopefully that makes sense.

@horadla23 I have updated the PR description with more info.

What I am still missing is the "before" and "after" screenshot, description. It is useful for anyone to see the old and the new behaviour before reviewing the change. Seeing the code is hard to visualize what will change in the event history. Also you should add to the description how you tested this and what was the result. Since this change affects status handling and event message, it is important to test it and make sure for everyone that it won't cause any misunderstanding

Sorry Adam, here is a relative before image, taken from the first DL I could find on mow-dev:
Hopefully it is clear how the same events are being sent up to 3 separate times. Again this is not only due to just calling sendEventAndNotification with the same event 3 times, but sometimes because of calling the SDX status service, which now also sends events, different times with different enums which are mapped to the same resource events.
I don't have a screenshot of the test that I did but I can confirm that almost all of the duplicates you see in the image above where removed without missing any of the events.

thx!


Composite post-quantum signatures experimental implementation

Hello, I prepared an implementation for post-quantum hybrid composite signatures (from now on just "composites") according to the draft RFC https://www.ietf.org/archive/id/draft-ounsworth-pq-composite-sigs-13.html.
I noticed that there is already some very experimental implementation from 2020-2022 mainly https://github.com/bcgit/bc-java/commit/54b11f8e5ec3ff027a08c3bb5b329257e2bb06fe
and https://github.com/bcgit/bc-java/commit/fb00c39eb5e7223c0a05ddee6491aa5139276937.
However, I feel like it is not very user friendly, mainly because the user needs to construct his own composite as shown here for example https://github.com/bcgit/bc-java/commit/fb00c39eb5e7223c0a05ddee6491aa5139276937#diff-23db0e8dde3d96a583b3055a4216b14f33754f0d6ace1d8486bf94b7b1adcb33R197. I understand that it is meant to be a flexible approach to implementing composites but I think that in the future, there will be only a fixed set of recommended combinations (as defined https://www.ietf.org/archive/id/draft-ounsworth-pq-composite-sigs-13.html#name-algorithm-identifiers) and the lack of flexibility is not going to be a major issue. There also seems to be a security benefit to limiting the options for developers as there is a lower chance to make a mistake, e.g., the simplicity of Ed25519 (fixed curve, fixed hash function).
Other drawbacks of the currently implemented approach is that it does not act like a "regular" signature with a fixed name and consequently classes such as https://github.com/bcgit/bc-java/blob/main/pkix/src/main/java/org/bouncycastle/operator/jcajce/JcaContentSignerBuilder.java need to handle a special composite key case. In my implementation the composite is just another signature algorithm and there does not need to be a special case for certificate signing/verification etc. Additionally, this allows simpler integration of composites into other libraries that use BouncyCastle, such as Apache Santuario, as adding the support for composites is no different from adding support for another "regular" signature algorithm.
How to work with the composite signatures is illustrated in the provided tests, e.g., https://github.com/Honzaik/bc-java/blob/main/prov/src/test/java/org/bouncycastle/jcajce/provider/test/CompositeSignaturesTest.java#L144C20.
Each composite from https://www.ietf.org/archive/id/draft-ounsworth-pq-composite-sigs-13.html#name-algorithm-identifiers is registered in the provider under a human readable simple name (the naming conventions are described in https://github.com/Honzaik/bc-java/blob/main/prov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/compositesignatures/CompositeSignaturesConstants.java) and under the OID string. For example, the composite id-MLDSA44-ECDSA-P256-SHA256 is registered under 2.16.840.1.114<IP_ADDRESS>.4 and alternatively MLDSA44andECDSAP256.
Adding a new composite signature
Although the implementation does not allow the user to create his own composite, updating the list of composite signatures is fairly simple.

Define the new OID identifier https://github.com/Honzaik/bc-java/blob/8dce4871d438ab18fc5bc2118405387508673f32/core/src/main/java/org/bouncycastle/asn1/misc/MiscObjectIdentifiers.java#L172 (~1 line of code)
Add the OID into the list of supportedIdentifiers, create a new enum value and make a new entry into the compositeNameASN1IdentifierMap https://github.com/Honzaik/bc-java/blob/8dce4871d438ab18fc5bc2118405387508673f32/prov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/compositesignatures/CompositeSignaturesConstants.java (~3 lines of code)
Add two new cases into switches in https://github.com/Honzaik/bc-java/blob/8dce4871d438ab18fc5bc2118405387508673f32/prov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/compositesignatures/KeyFactorySpi.java (~8 lines of code)
Create a new boilerplate subclass in https://github.com/Honzaik/bc-java/blob/8dce4871d438ab18fc5bc2118405387508673f32/prov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/compositesignatures/KeyPairGeneratorSpi.java and specify a new case for its key generators. (~10 lines of code)
Similar thing in https://github.com/Honzaik/bc-java/blob/8dce4871d438ab18fc5bc2118405387508673f32/prov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/compositesignatures/SignatureSpi.java (~10 lines of code)

In total, adding a new composite combination required only about 30-40 lines of code (assuming the composite components are already implemented in BouncyCastle).
Currently, the only defined composites are always 1 classical signature + 1 post-quantum signature but the construction does not limit the number of composites.
Tests
I have created a few tests for this implementation at https://github.com/Honzaik/bc-java/blob/8dce4871d438ab18fc5bc2118405387508673f32/prov/src/test/java/org/bouncycastle/jcajce/provider/test/CompositeSignaturesTest.java and also at https://github.com/Honzaik/bc-java/blob/8dce4871d438ab18fc5bc2118405387508673f32/pkix/src/test/java/org/bouncycastle/cert/test/CertTest.java#L5426
Legacy COMPOSITE
I have reused some code from the current implementation of composites, mainly in CompositePublicKey and CompositePrivateKey classes. I have decided to keep the current implementation since I did not want to break any current implementations that might use it even experimentally. The current composites implementation is also not really consistent since in https://github.com/bcgit/bc-java/blob/main/pkix/src/main/java/org/bouncycastle/operator/jcajce/JcaContentVerifierProviderBuilder.java the verification seems to in "AND" mode, i.e., all component signatures need to verify correctly but in https://github.com/bcgit/bc-java/blob/d22bc14853a6dd63564f7a797dc2f840b94ba7f9/prov/src/main/java/org/bouncycastle/jcajce/provider/asymmetric/x509/X509CertificateImpl.java#L623 it seems to be in "OR" mode, i.e., one of them needs to verify.
Limitations
There is an inconsistency I encountered concerning the compatibility with a sample in the draft https://www.ietf.org/archive/id/draft-ounsworth-pq-composite-sigs-13.html.

The sample MLDSA44-ECDSA-P256 private key from A.1.2 has a different encoding for the component Dilithium private key. This is technically unrelated to composites since that is an issue on lower level (encoding of Dilithium private keys). The sample in https://www.ietf.org/archive/id/draft-ounsworth-pq-composite-sigs-13.html seems to be OneAsymmetricKey version 1 (v1) where the privateKey is an OCTET STRING which seems to contain the public key as well (based its size). The BouncyCastle implementation produces OneAsymmetricKey version 2 (v2) with the public key being in its separate field and the privateKey is an OCTET STRING containing another OCTET STRING.

Also, I would like to mention that this is my first time contributing to BouncyCastle therefore I do not know the correct procedures/code style so please correct me where possible. Also note, that I am a beginner regarding ASN.1, therefore, it is possible I misunderstood the draft RFC.
Cheers

Merged with minor revisions.


DecorationSet: Filter by predicate with range arguments excluded

Reading the documentation for DecorationSet I interpreted the range arguments as optional while still being able to pass-in a predicate like this:
decoration.find((deco) => ...)
``

In practice I have to explicitly pass `undefined` as start and end values:

```js
decoration.find(undefined, undefined, (deco) => ...)

This PR updates the method to function the way I expected, but I recognize that might just be syntactic sugar, a little magical and perhaps unwanted.
I updated the method to recognize when I'm only passing in a single function as an argument, assume that's my predicate and treat the start/end values as null so it's applied to the entire range.

I interpreted the range arguments as optional while still being able to pass-in a predicate like this:

That's not how optional arguments work in JavaScript, though. The documentation system doesn't really have support for overloads like this, and it's generally a good idea to pass in a range for efficiency, so I prefer not to merge this.


Multi-Modal Catalog Enrichment

Cookbook Pull Request
Description

All dependency installs are included inline at the start of the notebook
We use json output to parse image+text on a Fashion image dataset to a structured, queryable. This is often referred to as catalog enrichment.
...

Type of Change
What type of PR is it?

[x] New Cookbook

[x] Notebook File

[x] Does it work on google colab?

[x] Markdown File

[x] README.md Update

Cookbook Checklist:

[x] My code is easy to read and well structured.
[x] I've tagged the versions of any dependency required.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generate no new warnings or errors.

README.md Checklist

[x] I've added my cookbook to the table.

Hi @NirantK thanks so much for the cookbook! It has trouble running in Colab. Could you make sure it runs on Colab? Thanks!

Hi @NirantK , thanks for the updates! Does uv not work in Colab? I can't seem to make it work in Colab. Could you help fix? Thanks!


ctrlloop: scheduler testing must be easier

Now it is very complicated
Not all scienarious are covered

Use scheduler struct.

scheduler.onIn(serialNo, inMsg)
scheduler.OnTimer(curTime)
scheduler.OnRepeat(scheduledMsg)


can not generate the video

Enter YouTube video URL: https://www.youtube.com/watch?v=G0FoPxjS4yI
Available video streams:
0. Resolution: 1080p, Size: 301.29 MB, Type: Adaptive

Resolution: 1080p, Size: 319.64 MB, Type: Adaptive
Resolution: 1080p, Size: 516.63 MB, Type: Adaptive
Resolution: 720p, Size: 151.99 MB, Type: Adaptive
Resolution: 720p, Size: 178.44 MB, Type: Adaptive
Resolution: 720p, Size: 299.18 MB, Type: Adaptive
Resolution: 480p, Size: 55.72 MB, Type: Adaptive
Resolution: 480p, Size: 49.75 MB, Type: Adaptive
Resolution: 480p, Size: 46.81 MB, Type: Adaptive
Resolution: 360p, Size: 33.05 MB, Type: Adaptive
Resolution: 360p, Size: 37.23 MB, Type: Adaptive
Resolution: 360p, Size: 32.47 MB, Type: Adaptive
Resolution: 360p, Size: 77.95 MB, Type: Progressive
Resolution: 240p, Size: 15.56 MB, Type: Adaptive
Resolution: 240p, Size: 14.44 MB, Type: Adaptive
Resolution: 240p, Size: 15.98 MB, Type: Adaptive
Resolution: 144p, Size: 7.57 MB, Type: Adaptive
Resolution: 144p, Size: 7.65 MB, Type: Adaptive
Resolution: 144p, Size: 5.74 MB, Type: Adaptive
Enter the number of the video stream to download: 0
Downloading video: 北赶契丹、南挡朱梁、中间打镇州！却在实力最弱的镇州，接连丧失大将【新五代演义79】
Downloading audio...
Merging video and audio...
ffmpeg version 7.0.2 Copyright (c) 2000-2024 the FFmpeg developers
built with Apple clang version 15.0.0 (clang-15<IP_ADDRESS>)
configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.0.2_1 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags='-Wl,-ld_classic' --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon
libavutil      59.  8.100 / 59.  8.100
libavcodec     61.  3.100 / 61.  3.100
libavformat    61.  1.100 / 61.  1.100
libavdevice    61.  1.100 / 61.  1.100
libavfilter    10.  1.100 / 10.  1.100
libswscale      8.  1.100 /  8.  1.100
libswresample   5.  1.100 /  5.  1.100
libpostproc    58.  1.100 / 58.  1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/breestealth/Documents/DevelopmentRepository/AI-Youtube-Shorts-Generator/videos/video_北赶契丹、南挡朱梁、中间打镇州！却在实力最弱的镇州，接连丧失大将【新五代演义79】.mp4':
Metadata:
major_brand     : dash
minor_version   : 0
compatible_brands: iso6av01mp41
creation_time   : 2024-09-07T22:42:17.000000Z
Duration: 00:16:34.27, start: 0.000000, bitrate: 2542 kb/s
Stream #0:00x1: Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709), 1920x1080, 4 kb/s, 60 fps, 60 tbr, 15360 tbn (default)
Metadata:
creation_time   : 2024-09-07T22:42:17.000000Z
handler_name    : ISO Media file produced by Google Inc.
vendor_id       : [0][0][0][0]
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/breestealth/Documents/DevelopmentRepository/AI-Youtube-Shorts-Generator/videos/audio_北赶契丹、南挡朱梁、中间打镇州！却在实力最弱的镇州，接连丧失大将【新五代演义79】.mp4':
Metadata:
major_brand     : dash
minor_version   : 0
compatible_brands: iso6mp41
creation_time   : 2024-09-07T22:40:08.000000Z
encoder         : Google
Duration: 00:16:34.42, start: 0.000000, bitrate: 48 kb/s
Stream #1:00x1: Audio: aac (HE-AAC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 0 kb/s (default)
Metadata:
creation_time   : 2024-09-07T22:40:08.000000Z
handler_name    : ISO Media file produced by Google Inc.
vendor_id       : [0][0][0][0]
Stream mapping:
Stream #0:0 -> #0:0 (av1 (libdav1d) -> h264 (libx264))
Stream #1:0 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 0x126f0b550] using SAR=1/1
[libx264 @ 0x126f0b550] using cpu capabilities: ARMv8 NEON
[libx264 @ 0x126f0b550] profile High, level 4.2, 4:2:0, 8-bit
[libx264 @ 0x126f0b550] 264 - core 164 r3108 31e19f9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2023 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'videos/北赶契丹、南挡朱梁、中间打镇州！却在实力最弱的镇州，接连丧失大将【新五代演义79】 to 'videos' folder
File path: videos/北赶契丹、南挡朱梁、中间打镇州！却在实力最弱的镇州，接连丧失大将【新五代演义79】.mp4
Downloaded video and audio files successfully! at videos/北赶契丹、南挡朱梁、中间打镇州！却在实力最弱的镇州，接连丧失大将【新五代演义79】.mp4
MoviePy - Writing audio in audio.wav
MoviePy - Done.
Extracted audio to: audio.wav
Transcribing audio...
cpu
[2024-09-17 08:23:55.864] [ctranslate2] [thread 401498] [warning] The compute type inferred from the saved model is float16, but the target device or backend do not support efficient float16 computation. The model weights have been automatically converted to use the float32 compute type instead.
Model loaded
Getting Highlight from Transcription
Start: 923 , End: 987
Moviepy - Building video Out.mp4.
MoviePy - Writing audio in OutTEMP_MPY_wvf_snd.mp3
MoviePy - Done.
Moviepy - Writing video Out.mp4

Moviepy - Done !
Moviepy - video ready Out.mp4
Traceback (most recent call last):
File "/Users/breestealth/Documents/DevelopmentRepository/AI-Youtube-Shorts-Generator/main.py", line 32, in
crop_to_vertical("Out.mp4", croped)
File "/Users/breestealth/Documents/DevelopmentRepository/AI-Youtube-Shorts-Generator/Components/FaceCrop.py", line 8, in crop_to_vertical
detect_faces_and_speakers(input_video_path, "DecOut.mp4")
File "/Users/breestealth/Documents/DevelopmentRepository/AI-Youtube-Shorts-Generator/Components/Speaker.py", line 110, in detect_faces_and_speakers
Frames.append([x, y, x1, y1])
^
UnboundLocalError: cannot access local variable 'x' where it is not associated with a value

+1
Same error

+1
Same error

+1
Same error

+1
Same error

+1
Same error

i have it too. Any solutions?

+1
Same error

did anyone manage to solve this?


"Select All" ignores data-max-options

Clicking "Select All" (available by setting data-actions-box="true") does not take the data-max-options setting into account. Tested with the latest version of bootstrap-select (v1.13.10) as of today.
See: https://plnkr.co/edit/lV6WEAZpx7V4bQMfYCyT?p=preview
Steps to reproduce:

Click on the dropdown element and try to select more than three options.
Works as expected. Selecting the fourth option shows a "Limit reached" message.
Click on "Select All".
Bypasses the limit and selects the other two options.

It's counterintuitive that you can bypass the data-max-options setting by simply clicking "Select All". Clicking "Select All" should select no more options than data-max-options.
The responsible source code can be found in bootstrap-select.js; the function's name is changeAll.
Consider the alternative implementation shown below. It, on the other hand, does consider the global data-max-options setting and those of optional optgroups:
changeAll: function (status) {
      if (!this.multiple) return;
      if (typeof status === 'undefined') status = true;

      var element = this.$element[0],
          previousSelected = 0,
          currentSelected = 0,
          prevValue = getSelectValues(element);

      element.classList.add('bs-select-hidden');

      var $options = this.$element.find('option'),
          maxOptions = this.options.maxOptions;

      for (var i = 0, len = this.selectpicker.current.elements.length; i < len; i++) {
        var liData = this.selectpicker.current.data[i],
            option = liData.option,
            $option = $(option),
            $optgroup = $option.parent('optgroup'),
            maxOptionsGrp = $optgroup.data('maxOptions') || false;

        if (maxOptions !== false || maxOptionsGrp !== false) {
              var maxReached = maxOptions == $options.filter(':selected').length,
                  maxReachedGrp = maxOptionsGrp == $optgroup.find('option:selected').length;

              if ((maxOptions && maxReached && status) || (maxOptionsGrp && maxReachedGrp && status)) {
                  continue;
              }
        }

        if (option && !liData.disabled && liData.type !== 'divider') {
          if (liData.selected) previousSelected++;
          option.selected = status;
          if (status) currentSelected++;
        }
      }

      element.classList.remove('bs-select-hidden');

      if (previousSelected === currentSelected) return;

      this.setOptionStatus();

      changedArguments = [null, null, prevValue];

      this.$element
        .triggerNative('change');
    }

See: https://plnkr.co/edit/RZQ5Aig6dn7Vvjla2bqD?p=preview
The above Plunker link includes the alternative implementation. Clicking "Select All" will consider the data-max-options settings - the global one and the one within the optgroup.

You can even significantly speed up "Deselect All" by introducing one more if statement - see below:
[…]

for (var i = 0, len = this.selectpicker.current.elements.length; i < len; i++) {
        var liData = this.selectpicker.current.data[i],
            option = liData.option,
            $option = $(option);

        if (status) {
          var $optgroup = $option.parent('optgroup'),
              maxOptionsGrp = $optgroup.data('maxOptions') || false;

          if (maxOptions !== false || maxOptionsGrp !== false) {
            var maxReached = maxOptions == $options.filter(':selected').length,
                maxReachedGrp = maxOptionsGrp == $optgroup.find('option:selected').length;

            if ((maxOptions && maxReached) || (maxOptionsGrp && maxReachedGrp)) {
              continue;
            }
          }
        }

        if (option && !liData.disabled && liData.type !== 'divider') {
          if (liData.selected) previousSelected++;
          option.selected = status;
          if (status) currentSelected++;
        }
      }

[…]

You can even significantly speed up "Select All" by introducing one more if statement - see below:
[...]

        if (status) {
          var $optgroup = $option.parent('optgroup'),
              maxOptionsGrp = $optgroup.data('maxOptions') || false;

          if (maxOptions !== false || maxOptionsGrp !== false) {
            var maxReached = maxOptions == $options.filter(':selected').length,
                maxReachedGrp = maxOptionsGrp == $optgroup.find('option:selected').length;

            if (maxOptionsGrp && maxReachedGrp) {
              continue;
            }

            if (maxOptions && maxReached) {
              break;
            }
          }
        }

[...]

I'm wondering if "Select All" should simply not even be visible if maxOptions is set, since having "Select All" only select some of the options is confusing (and I'm not sure what the desired use case would be). At the same time, having it select all of the options when maxOptions is set is also confusing (and obviously undesired). So, I think the best course of action would be to only show the "Deselect All" button if maxOptions is set either globally or on an optgroup.

IMHO having a "Select Max" button would be the best compromise. Generally speaking, a way to select the maxOptions with just one click is saving us a lot of time and has become a pretty useful feature (image a long list of entries with maxOptions around 50, you would not want to click fifty times).
Reading your roadmap (#2228), it would be great to have something like buttons: ['selectMax', 'disableAll']. And if someone does not want this button, it would be buttons: ['disableAll'].

Yes, it could be a time saver, but what would be the use case for wanting to automatically select the first 50 options? If there's a limit on the number of selectable options, presumably the user needs to use some discretion in the options they select. What if we implemented a "shift + click" or "drag + click" feature to allow the user to select multiple consecutive options easily?

Usually our workflow/use case is as follows: The user opens up the dropdown, uses a filter (using the search box) to select a subset of all the entries and then clicks the "Select All" button, which, in turn, should still ensure that the maximum number of items is not exceeded (say, due to a bad filter).
The "shift + click" and/or "drag + click" idea would still be a cool feature to have, but for non-technical users a "Filter" -> "Select Max" might be a more intuitive option and easier to explain/remember. Besides that, even the "shift + click"/"drag + click" feature should ensure that maxOptions is not exceeded.

To follow on to favmd's input, what if you just didn't allow select all to function if more than the max is available to be selected? Throw an error to the user saying too many options available, only x options may be selected.

To follow on to favmd's input, what if you just didn't allow select all to function if more than the max is available to be selected? Throw an error to the user saying too many options available, only x options may be selected.

+1. It would appear it is a 'Select all visible' is required which is a useful feature.

Is this issue still not resolved? Just came across it when SELECT ALL did not act as expected.
If SELECT MAX works for some that's fine and SELECT ALL is in either case not a good solution in combinaiton with MAX OPTIONS. If a SELECT MAX works for some, then that's fine, I can't see how that could be relevant at glance, at least that would be pointless in my case (list of a hundred options where up to 3 can be selected, but no random selection would make sense).
I'd suggest that until good approach can be found or agreed ont that at it's disables the SELECT ALL, but still allows the DESELECT ALL to remains as at least in my case that would be the helpfull way to quickly remove the 3 selected items. Optimally and potentially they likely should be separated, so that DESELECT ALL can be a standalone option without the other one and vise versa.


Replace manifests with Helm chart using official servercore image

While this does not fully replace the contents of the manifests/ directory, as a whole we should move towards using Helm as the basis for storing developer manifests rather than raw Kubernetes manifests since this makes it easier to templatize the manifests for things like working with different Windows Server versions.
The current manifests also uses an image owned by a developer who no longer works on Rancher Windows, so this PR removes the dependency on that fork.
Relies on https://github.com/rancher/windows/pull/194 to be merged

Closing in favor of https://github.com/rancher/windows/pull/186


Update Composer dependencies (2021-06-17-00-08)

Visual regression test passed!
View the visual regression test report


Additional option(s) for trailingSlash

Is your feature request related to a problem? Please describe.
The trailingSlash options introduced in #1404 don't make it straightforward to add trailing slashes to index pages but not to leaf pages. For example you might want to have /blog/ and /blog/some-post rather than /blog and /blog-some-post, since that allows the index page to contain relative links.
Describe the solution you'd like
One possibility is to add a "smart" option with the semantics described in either https://github.com/sveltejs/kit/issues/733#issuecomment-835911307 or https://github.com/sveltejs/kit/issues/733#issuecomment-835973914:

any index.svelte file gets a trailing slash if there are also non-index pages in the directory, or in child directories
the more deterministic alternative: all index.svelte files get a trailing slash (which dictates code organisation decisions, but is probably the decision we'd regret less)

There is one problem, described in https://github.com/sveltejs/kit/issues/733#issuecomment-835911307:

There's another wrinkle, which is that the index-ness of a URL can't actually be determined immediately, in the general case. Consider a scenario in which you have a /foo/[a]/index.svelte and a /foo/[b].svelte. We can't know whether /foo/x should refer to the first (in which case it should be redirected to /foo/x/?) or the second (in which case any trailing slash should be removed) without actually loading them and seeing if the first falls through to the second. (We could redirect at this later stage, but we'd then have to re-run load functions after the redirect had occurred, which is obviously undesirable. For the same reason, I don't think we can realistically have a way of configuring this at a page level; it needs to be an app-wide setting.)

For that reason the smart option would have failure cases — rare, and presumably identifiable-at-build-time failure cases, but failure cases nonetheless.
So another option is "strict", which would have the semantics describe above but wouldn't cause redirects: a request for /blog would 404 if the correct path was /blog/. We could implement one, both or neither.
Describe alternatives you've considered
The "ignore" setting provides an escape hatch for userland (or upstream, e.g. at the reverse proxy level) solutions, which gives us the option of not worrying about solving this problem. We could also just declare it to not be a problem, and settle for "never" and "always" being the only options that will cause an intervention by SvelteKit (as Next does, for example).
Per-page settings are also a possibility, though this has major drawbacks as described above.
How important is this feature to you?
Personally I'm good with "never" and "always", but I can definitely see the argument for /blog/. I'd rate it as a nice-to-have.

Of these two semantics:

any index.svelte file gets a trailing slash if there are also non-index pages in the directory, or in child directories
the more deterministic alternative: all index.svelte files get a trailing slash (which dictates code organisation decisions, but is probably the decision we'd regret less)

I'd say "How about both?" I can see reasons why either one would be preferred for one person's use case vs. someone else's use case. The name "smart" feels like it belongs to the first one (where a decision is being made). For the second one, I'd propose "index", so that trailingSlash: "index" means "any index.svelte file gets a trailing slash."

Ping @bdadam since he may want to express an opinion on the "smart" and "index" proposals in https://github.com/sveltejs/kit/issues/1405#issuecomment-842046613

Would it be viable to allow this to be overridden on a per-route basis, like ssr/router/hydrate/prerender?
i.e. routes/admin/index.svelte file could look like this:
<script context="module">
  export const trailingSlash = 'always';
</script>

...and my routing table would then look something like
/
/about
/blog
/blog/1970/01/01/slug
/admin/  <= exception to the rule
/contact

where /admin/ and only /admin/ requires a trailing slash.

#2390 is a use case where a per-route override would make sense. There, the user wants to be able to set trailingSlash='always' except for the /manifest.webmanifest URL, where it needs to be never.

Per-route is a little tricky, since waiting until the code has loaded to see if there's an override is terrible for performance. We could maybe add new options like "default:[always|ignore|never]" or trailingSlash: ['always', true] or something else that means 'load the page, and if it specifies an option use that, otherwise use the default', though for now the approach of using ignore alongside custom logic is probably the best workaround.
Noting that I said 'load the page' rather than 'load the route', since #4699 would mean that trailingSlash: 'always' only applies to pages, which I think is the behaviour we want.

closing in favour of #7719


Laravel mix style method did not compile css file in production enviornment.

Hello,
I have some custom css files which are just a plain css files, and i am linking those files in webpack.mix.js like this.
mix
  .js('resources/js/app.js', 'public/dist/js')
  .sass('resources/sass/app.scss', 'public/dist/css')
  .styles('resources/css/main.css', 'public/dist/css/all.css')

However when i have run the npm run dev command or watch its compile all.css file in above location.
But when i have run npm run production or prod command its just compile js and sass not style.
Kindly help me out what i am missing here.
Thanks Looking forward your quick response.

I was able to reproduce the issue you had with the CSS file not being created in public/dist/css/ in production mode.  It turns out that the file is in fact being created but the publishAssets function which copies the files from the build dir into public/dist deletes it.
My suggestion would be to comment out the following 3 lines of code from the publishAssets function:
  if (mix.inProduction()) {
    fs.removeSync(path.join(publicDir, 'dist'))
  }

Mix will no longer delete the generated CSS file in . production mode.  You'll probably want to find a different way of deleting the files in public/dist/ before running Mix though.

@jimohalloran Thanks for your reply.
Also when npm run prod there are several chunk files generated in public./dist/js
I want to know that are those files required except for app.js
If not should i remove them or not.
Sorry i am little new to this system.
Looking forward for your reply.
Thanks

All generated files are required.  In production mode Webpack (as configured by Laravel Mix) is splitting your code into smaller chunks that are loaded as needed.  This avoids the need to load the javascript for the entire application on first page load.


fix issue 768

Which pagination doesn't work?

I don't see why any would work because of the rails js would basically kill them all IMO, but for me the _show pagination didn't. Is it working for you?
I'm not sure if you can test it on unit tests, because the links all work, the problem is that the railsjs overrides the link and kills the pagination. You need to check it manually or using a unit test that supports javascript.

http://rails-admin-tb.herokuapp.com/admin/players doesn't work ?

works perfectly, let me close this issue and try to understand again why it's not working the same way on our setup, sorry for that, I'll double check with the sample app next time.


add null enum for nullable fields

fixes #697
Also fixes a few fields in V2 spec missing nullable flag

@schristley Properties that are x-airr.miairr = essential are by definition not nullable.

@bussec I was wondering about that, why fields were marked essential but had nullable: true. Are the miairr tags on the germline fields correct and I can fix their nullable state, or are they still being debated?

@bussec I'll fix the schema in a separate PR so it can merged for 1.5 and add some additional consistency checks as it seems a few things are being missed, and the two schema versions are getting increasingly out of sync and/or inconsistent.

removed null for essential fields


Adding libraries

A helpful feature would be an easy option to include other dependencies that are needed to build the output jar.

You can already add libraries to the JAR. The GUI cannot add them automatically obviously, but you have the select each file.


Client only allows JSON on 200 responses

Since a2f447c61f72bcbca7e5988a518f0490e302274f client only allows JSON to be returned on 200 responses.
In reality any response could contain JSON, In fact fastify-sensible contains a shared schema that would serialize an error like so:
{
  "statusCode": 1,
  "code": "…",
  "error": "…",
  "message": "…"
}

Also see the original issue this was related to.

I see two options:

use the content of the OpenAPI response to set what should be returned (forces user to be more explicit)
check the content-type of the response to return either text/json/blob

I think the second one is more user friendly, but less deterministic. WDYT?

Oh, and did I mention there's a response.blob()? We should probably cater for that.

In relation to https://github.com/platformatic/platformatic/issues/2210 I think that empty responses should be supported as well.


Update siteconfig

And Symfony recipes

coverage: 97.423%. remained the same
when pulling c2b25f3548ba76ae4a4862534c1f4a600933088d on fix/update-site-config
into 8e9cdbd120678e04e32dde45bf3adda418970a88 on master.


Cannot read property '1' of undefined

I did an npm install clean-css-cli
In my webpack.config.js file imported the module
const CleanCSS = require('clean-css-cli');
Using webpack-merge-and-include-globally to merge multiple CSS files and my config looks like
const path = require('path');
const MergeIntoSingle = require('webpack-merge-and-include-globally');
const CleanCSS = require('clean-css-cli');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'main.js',
    path: path.resolve(__dirname, 'dist'),
  },
  plugins: [
    new MergeIntoSingle({
      files: [{
        src: ['src/style.css', 'src/style2.css'],
        dest: 'bundle.css',

        // also possible:
        //
        dest: code => ({
          'bundle.css':new CleanCSS({}).minify(code)
        }),
      }]
    })
  ]
};

On npx webpack I get an error that says
TypeError: Cannot read property '1' of undefined
at Command.parse (/Users/jaikirdatt/development/blog/webpack-test/node_modules/commander/index.js:462:43)
at new cli (/Users//development/blog/webpack-test/node_modules/clean-css-cli/index.js:120:12)
at Object.dest (/Users/jaikirdatt/development/blog/webpack-test/webpack.config.js:20:24)
at /Users/jaikirdatt/development/blog/webpack-test/node_modules/webpack-merge-and-include-globally/index.node6-compatible.js:97:50
at Generator.next ()
at step (/Users//development/blog/webpack-test/node_modules/webpack-merge-and-include-globally/index.node6-compatible.js:3:191)
at /Users//development/blog/webpack-test/node_modules/webpack-merge-and-include-globally/index.node6-compatible.js:3:361

I think what you really want here is to require clean-css not clean-css-cli in line 3, i.e.
const CleanCSS = require('clean-css');

I see no reason why would you want to minify your code through CLI when it can be ran via standard module interface, but please reopen this issue if I'm wrong.


Add filtering on all lists and API

Filtering by Child is most important want here.

A little work towards this in d3333d6 and 7b6c9fb.


azcopy list quiet option?

 This makes it hard for me to write a bash script that wants to check if the path has any files...
i.e. I want to be able to do this:
if [[ -n "$(azcopy list ${latest_dir} 2> /dev/null)" ]]; then
  echo "do stuff because we found stuff"
fi

Similar tool for gcp (gsutil) is much easier to use.
How can we reproduce the problem in the simplest way?
Have you found a mitigation/solution?
Yes - I can add a grep for "Content Size" but that seems dumb

@rakelkar
This issue has been addressed properly. Please use the latest version of AzCopy and reach out for more information.