New command: spo navigation node set

Usage
m365 spo navigation node set [options]
Description
Updates a SharePoint navigation node
Options

Option
Description

-u, --webUrl <webUrl>
Absolute URL of the site.

--id <id>
Id of the navigation node.

--title [title]
New title of the navigation node.

--url [url]
New URL of the navigation node.

--audienceIds [audienceIds]
Comma separated list of group IDs that will be used for audience targeting. Speficy an empty string "" to clear this value.

--isExternal [isExternal]
Whether the navigation node points to an external URL. Valid values: true or false.

Examples
Updates the title of a navigation node
m365 spo navigation node set --webUrl https://contoso.sharepoint.com/sites/marketing --id 2209 --title "Pictures"

Updates the URL of a navigation node
m365 spo navigation node set --webUrl https://contoso.sharepoint.com/sites/marketing --id 2209 --url "https://www.microsoft.com"

Updates audience targeting of a navigation node with 3 groups
m365 spo navigation node set --webUrl https://contoso.sharepoint.com/sites/marketing --id 2209 --audienceIds "61f78c73-f71a-471e-a3b9-15daa936e200,9524e6b4-e663-44fe-b179-210c963e37e7,c42b8756-494d-4141-a575-45f01320e26a"

Default properties
No response
Additional Info
Docs
Let's add to remarks a reference to spo web set to enable audience targeting for navigation.
API Request
PATCH https://contoso.sharepoint.com/sites/sitename/_api/web/navigation/GetNodeById(2209)

{
    "Title": "Home site",
    "Url": "https://contoso.sharepoint.com",
    "AudienceIds": ["4a7a1426-4d90-421a-8050-265d8eca2495"]
}

Note! To clear the audience targeting, we have to specify an empty array.

@pnp/cli-for-microsoft-365-maintainers to clear the audience targeting on a navigation node, we have to specify an empty array in the request. What is the best way to let users clear the audience targeting? By specifying an empty string --audienceIds ""?

@pnp/cli-for-microsoft-365-maintainers to clear the audience targeting on a navigation node, we have to specify an empty array in the request. What is the best way to let users clear the audience targeting? By specifying an empty string --audienceIds ""?

I think so. Nice spec. Nothing to add 👍

I would love to work on this

Please do!


Some CLI improvements

This PR addresses some of the improvements suggested in #515.

Nice improvements, just one more idea for a further improvement down the line.

And pressing Shift while commenting closes the PR, my bad :frowning_face:


Gilbert 2007

Reference
doi or URL: https://www.pnas.org/content/104/47/18566.long

Only ancient HIV gene sequence


Question about FedorAS framework

Hi authors,
Thanks for your contribution, you did a very interesting work on FedNAS. I have read your paper completely and I have a question regarding the sampling strategies of your method and how the clients are optimized.
In the paper, you mention in step 1) that for each client, you sample a subspace without exceeding the budget B_comm. In Fig. 2, I assume that those subspaces are shown in full black line, while the dashed lines are the subspaces that are discarded because they exceed the budget B_comm. But then in step 2), where on-device training with budget-aware path sampling is made, the possible subspaces are ignoring the previous sampling strategy, because they are considering paths that were discarded in 1) (see my black arrows drawn) or discarding paths that were supposed to be explored (see my red arrows). See screenshot below for the full picture.

Because of this, do I understand correctly that the sampling strategies 1) and 2) are just different and independent from each other?
Thanks for your time and would love to hear this small clarification.

Hi @vaenyr, thanks for the quick reply. Now it is a bit more clear but I have one more question. If the green and yellow cases are two different clients, that means that each one is being exposed to a different sampling strategy (one considering the common Budget B_comm and the other one considering the budget of the tier). Is there a specific criteria that defines to which sampling strategy a certain client is exposed to? Or is it randomly assigned?
Thanks for the help.

I'm not sure if I understand. There are two budgets, in general: the comms budget that decides how much data any client can receive/upload (this one is kept the same across all clients in our experiments), and a computational budget that relates to how "powerful" a client is. The latter we model by grouping models into tiers and assigning a single budget to each tier, resulting in coarse-grained system heterogeneity (in general, it could be generalized to having a per-client budget, which would be fine-grained system heterogeneity) - note this assignment is not something a server does as part of our method, but rather a choice we made to model the environment in which the server operates. In particular, the server does not require to know what the computational budget of each client is.
Regarding comms budget: as mentioned, all clients use the same. Server samples a subset that's within the budget.
Regarding comp budget: different clients are assigned to their tiers at the beginning of each experiment, randomly, and this assigned is stored and kept constant for the whole duration of the experiment (including any followup experiments etc.). This is to simulate situation when some data might only be available on low-end devices and some (big) networks might not be able to ever see the data (see Introduction). After a client is assigned to a tier, it will never ever run a path that violates its related budget (except for the purpose of testing/measuring things, obviously).

Thanks for the reply. I totally understand the two budgets system: the common and the computational. That is very clear. What I don't understand is that, according to the figure that I placed in my first comment of this issue, a client will receive two graphs containing paths that it will sample per batch:

One graph is made considering the common budget: on which valid paths are indicated in full gray line, invalid paths in dashed line, and a sampled example path indicated in green
The other one is made considering the computational budget (or per tier budget): on which valid paths are indicated in full gray line, invalid paths in dashed line, and a sampled example path indicated in orange

Considering that your first reply to the issue was "the green and the yellow cases are two different clients", that means that in the figure, the client 1 received the graph with valid paths considering the common budget while the client 2 received the graph with valid paths with respect to the computational budget. These two graphs are different, that is quite clear in the figure, because some valid paths for client 1 are invalid for client 2 and viceversa.
My question is, how does FedorAS determine which type of graph a client receives? In other words, given a client C, will C receive the graph with respect to the common budget B_comm or the computational budget B_tier?

Clients always receive subspaces that are sampled w.r.t. the communication budget (as indicated by the arrow labelled with "1" in the Figure).
Validity of different edges/paths w.r.t. the computational budget is considered when sampling a path from the communicated subspace, individually by each client. There is no explicit graph of valid/invalid operations created for this part (nor shown in the Figure). One of the reasons behind this is that we make a (soft*) assumption that any communicated operation can be trained by any model - in the worst case scenario, a valid path would include this operation only and the rest of the layers would be identity (cost=0). But because of that, we cannot rule out certain operations ahead of the time when considering computational budget. In principal, any communicated operation can be sampled by any client.

I'm calling it a soft assumption because even if we tried to relax it, if a path composed of one operation and filled with identities would not be valid for certain clients, then this operation would effectively NEVER be trained on those clients, meaning further it would have the same effect as if it was not communicated.

Perhaps the source of confusion is related to the "sampling" of a subspace. There's more than one graph that meets the communication budget. Each client receives a random one, but they all are derived from the same comms budget.
So in the Figure, two clients receive two different subspaces, both meeting the comms budget and samples randomly by the server (without considering the client's computational budgets).


External IP address does not bind to streamlit functions.

🐛 Bug
The content of streamlit front end does not bind to the actual IP address of the server.
To Reproduce
import lightning as L
import streamlit as st
from typing import Dict, List
from lightning.app.frontend import StreamlitFrontend

def _streamlit_app(lightning_app_state):
    st.write("Not Implemented")

class LitStreamlit(L.LightningFlow):
    def configure_layout(self):
        return StreamlitFrontend(render_fn=_streamlit_app)

class LitMultiTabFlow(L.LightningFlow):
    def __init__(self) -> None:
        super().__init__()
        self.streamlit = LitStreamlit()

    def configure_layout(self) -> List[Dict[str, str]]:
        tabs = []
        tabs.append({"name": "Home", "content": self.streamlit})
        tabs.append({"name": "Documentation", "content": self.streamlit})
        return tabs

    def run(self):
        pass

app = L.LightningApp(LitMultiTabFlow())

To run with environment forwarding via ssh remote
env LIGHTNING_APP_STATE_URL='192.168.X.X' lightning run app app.py

cc @tchaton @rohitgr7

Hey @tmquan,
Thanks for raising this issue. Would you be interested to make a contribution. You could change the StreamlitFrontend to use this host instead of localhost.
Best,
T.C


[resolves #1048] Add support for camel-braintree

retest this please

retest this please

retest this please

retest this please


Merge master into release-next

This updates the 'next' release branch to contain all the recent changes we made in master. We should create PRs like this periodically to ensure next contains any patches that were made against master.

/override dco

/lgtm

/override dco

/lgtm


Fatal error: Login error: JSON decode fail, 400 - Bad Request.

I'm trying to get the profile info using --login option and it errors out with:
[root@xxxx ~]# instaloader --login xxxx yyyy
Session file does not exist yet - Logging in.
Enter Instagram password for xxxx:
Fatal error: Login error: JSON decode fail, 400 - Bad Request.
How do i create a session file or overcome this issue?
I have enabled mobile code verification on my insta profile.

I'm having this same problem. I tried different accounts, made sure to get the latest version, even restarted computer. Linux user. Can't say I can help, but you're not alone. Might be a new issue

There have been changes regarding the login on Instagram's side and Instaloader's login functionality is currently broken. As long as there does not exist any solution, we can only present the following advice:

The workaround described in Troubleshooting - Login Error, which creates the sessionfile from the Firefox cookie database, still works.
Always keep your sessionfile. I have never seen a sessionfile expire. If you have your sessionfile, no login is required, and thus, no login can fail.

The snippet posted in this issue to allegedly fix the login error does not seem to work. As always, we are very open to discuss ideas in Pull Requests.

Taken from the fourth issue down prior to the creation of this one.
https://github.com/instaloader/instaloader/issues/615#issuecomment-629699078

@Infinitay thanks for posting the Troubleshooting - Login Error workaround link, however that snippet is outdated as Mozilla has updated their query column names, making the SQL statements fail in that snippet. I have created a fix for this, and I can create a PR for it.  How should I proceed?


timer scheduler cannot work after several times

  Config config=new Config();
    config.useSingleServer().setAddress("redis://localhost:6379").setPassword("redis");
    RedissonClient redissonClient=Redisson.create(config);
    RScheduledExecutorService rScheduledExecutorService
            =redissonClient.getExecutorService("service");

    rScheduledExecutorService.scheduleAtFixedRate((Runnable & Serializable)()->{
        log.info("running-----------");
    } ,0,3, TimeUnit.SECONDS);

    The code above shows

redisson version: 3.17.3
after running several times it cannot print the log
the logs only show :
23:30:26.876 [redisson-netty-2-21] DEBUG org.redisson.connection.DNSMonitor - Resolved ip: localhost/<IP_ADDRESS> for master host: localhost
23:30:31.880 [redisson-netty-2-18] DEBUG org.redisson.connection.DNSMonitor - Request sent to resolve ip address for master host: localhost
23:30:31.880 [redisson-netty-2-21] DEBUG org.redisson.connection.DNSMonitor - Resolved ip: localhost/<IP_ADDRESS> for master host: localhost
BTW, Is there any diagram of the timer scheduler? how does it work?

Did you register workers?

Can you share the code to reproduce it?


Enhancement - provide better column metadata

It would be more informative if the column data type was a string name of the type instead of an integer.  https://github.com/markdirish/node-odbc/blob/4f4f57c70f7182eb00d4b6620c5e22627ea16e98/lib/odbc.d.ts#L5
Microsoft has this on their site:

Each DBMS defines its own SQL types. Each ODBC driver exposes only those SQL data types that the associated DBMS defines. Information about how a driver maps DBMS SQL types to the ODBC-defined SQL type identifiers and how a driver maps DBMS SQL types to its own driver-specific SQL type identifiers is returned through a call to SQLGetTypeInfo. A driver also returns the SQL data types when describing the data types of columns and parameters through calls to SQLColAttribute, SQLColumns, SQLDescribeCol, SQLDescribeParam, SQLProcedureColumns, and SQLSpecialColumns

So maybe it's just a matter of calling SQLGetTypeInfo?

For performance reasons, node-odbc would probably want to call SQLGetTypeInfo with SQL_ALL_TYPES and cache the data.
Alternatively, node-odbc could export the ODBC types which you could then check against, eg. odbc.SQL_CHAR, odbc.SQL_DECIMAL, odbc.SQL_INTEGER. Would that be sufficient?

Both sound like a nice improvement.  I think having the string version might make the code simpler in user land.

There are actually some constants that are one the main exported object. If you require('odbc') and then print out what you get, it looks like:
{
  pool: [Function: pool],
  connect: [Function: connect],
  ODBCVER: 896,
  SQL_COMMIT: 0,
  SQL_ROLLBACK: 1,
  SQL_USER_NAME: 47,
  SQL_PARAM_INPUT: 1,
  SQL_PARAM_INPUT_OUTPUT: 2,
  SQL_PARAM_OUTPUT: 4,
  SQL_VARCHAR: 12,
  SQL_WVARCHAR: -9,
  SQL_INTEGER: 4,
  SQL_SMALLINT: 5,
  SQL_NO_NULLS: 0,
  SQL_NULLABLE: 1,
  SQL_NULLABLE_UNKNOWN: 2,
  SQL_TXN_READ_UNCOMMITTED: 1,
  SQL_TRANSACTION_READ_UNCOMMITTED: 1,
  SQL_TXN_READ_COMMITTED: 2,
  SQL_TRANSACTION_READ_COMMITTED: 2,
  SQL_TXN_REPEATABLE_READ: 4,
  SQL_TRANSACTION_REPEATABLE_READ: 4,
  SQL_TXN_SERIALIZABLE: 8,
  SQL_TRANSACTION_SERIALIZABLE: 8
}

Was it it only some of the data types? I probably just exported what I needed for certain tests I was running. Ill see if I can create a quick PR that exports the rest of the types so they are at least available. Of course, if you are given a number, and you have to check against each data type to find the correct one...
I think the best long-term solution is what @kadler indicated, to call SQLGetTypeInfo one time when the connection is made, cache it, then return on the object of the columns array in a new property called typeName which is the "Data source-dependent data-type name", which is probably what developers actually want

Here's what @kadler and I came up with:

Export all of the data types on the odbc main exported object. You will be able to to odbc.SQL_CHAR and get back 1
Additionally, create an additional property on the columns objects returned of dataTypeName, which returns the ODBC data type that corresponds to the integer stored in dataType
Direct people to call the existing connection.columns() function if they want to know the native data type name.

Shouldn't take much work, hopefully get a PR out soon


Bug: SMS OTP sent to unverified phone

hi, noticed this bug in sms-otp-stepup.ts
in the lines below:
  let phoneNumber = event.request.userAttributes.phone_number_verified
    ? event.request.userAttributes.phone_number
    : undefined;

phoneNumber is populated if phone_number_verified is "false" (which is a string and is truthy)

TIL Just confirmed it.
Thanks for the report. Are you interested in sending a PR for it?

(Sidenote: in the JWT ID token the field is boolean, not string. But in the Cognito triggers, it is string, so "true" or "false".)

hi @ottokruse submitted PR #201

Thanks for the PR. We'll close the issue once we have published a new version to npm


Fix ruby 2.7 warnings

On running shotgun there was a warning
.rvm/gems/ruby-2.7.0/gems/shotgun-0.9.2/bin/shotgun:156: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call

Shotgun fails in ruby 3.0.0 without this change. Is there an estimate on when this change will be released?

I appreciate your commitment and look forward to its publication, hopefully soon.

It looks like this is not getting enough attention yet. I know it's not the best solution, but I've just released a "temporary" fork since I needed to use it with Ruby 3 and needed a gem to properly automate deployment and some scripting.
I'm leaving the link here for anybody that could find it useful until this PR is merged and we can all go back to the official gem.
Hope it helps.

@kandalf thanks for your commitment, mate!

Resolves https://github.com/rtomayko/shotgun/issues/76

Who do we need to poke with a stick to get this merged then? 💟


test eph env creation for PR: 34, GitOps Operator: FLUX

test eph env creation for PR: 34, GitOps Operator: FLUX

Closing


Support for running PR checks without extra steps

Would it make sense to add some configuration to allow running the PR checks without extra manual steps, e.g. with one of the solutions suggested here:
https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#workarounds-to-trigger-further-workflow-runs
Personally I went for the GitHub App generated token, which worked very well.
Basically what is outlined here:
https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#authenticating-with-github-app-generated-tokens
So perhaps we could let users configure app_id and private_key and if they do, the necessary steps would be added.

Yeah, that would work.


update(plugins/cloudtrail): use AWS SDK v2 uniformly and support passing AWS config at plugin initialization

What type of PR is this?
/kind cleanup
/kind feature
Any specific area of the project related to this PR?
/area plugins
What this PR does / why we need it:
So far, the cloudtrail plugin used both AWS SDK v1 and v2 and inconsistently. This PR refactors the code to only use v2 and remove dependencies on v1.
On top of that, this adds new optional fields for the plugin init config that allow to pass values to the AWS SDK config. This helps configuring the plugin where env vars such as AWS_PROFILE are not an option.
Which issue(s) this PR fixes:
Special notes for your reviewer:

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [jasondellaluce]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jasondellaluce, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [jasondellaluce,leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: bd19fb099d53ce448a65bf35999cd47e17aa3134


Suggestion: HA add-on

Has anyone made this into a Hass OS add-on ?  https://developers.home-assistant.io/docs/add-ons/. Seems like you're 90% of the way there since you have a working container.
I'm willing to figure it out and submit a PR.  Just wanted to ask first in case someone had already done it.  I'm not seeing it, but may be using the wrong search terms.

I'm going to play around with this at https://github.com/austinmroczek/addon-solarman-mqtt, following https://github.com/home-assistant/addons-example

I have a working prototype at https://github.com/austinmroczek/addon-solarman-mqtt if anyone wants to give it a try.

Nice work, @austinmroczek! I was experimenting with this as well.
My thought was, when this becomes an add-on, then the MQTT part becomes obsolete, as it is possible to create/update native HA sensors directly. So, where MQTT now is used to get the Solarman data in HA, an add-on should provide a more native way of doing the same.

We could make it into an HA Integration, but then we would need to know how to handle various kinds of Solarman logger equipment. Or we would have to make integrations for each type of equipment.  For example, I'm doing this to read data from my NeoVolta battery.  I think for at least the near future, we'll want to keep MQTT and have users create template sensors like you currently have set up.

I think there is a lot we could do to simplify setup for users.  All of those curl calls can probably be put into python and we could find stationId and other settings automatically.


Example config - certificate_validity_seconds

Had a "gotcha" when copy-pasting this file over. The variable is certificate_validity_seconds in code

Coverage remained the same at 95.122% when pulling 7a755f3cb522fca462cc243ca3ba5390d95eb355 on bwarminski:patch-1 into 0f68e4282598717d42c4928eced4e104c247faa2 on Netflix:master.

Thanks for the PR!  This issue was also pointed out in: https://github.com/Netflix/bless/pull/34 and will be resolved with https://github.com/Netflix/bless/pull/38


v2: list dependencies from either import path or go binary

This PR is the same as https://github.com/google/go-licenses/pull/71.
I had to create a new PR, because I messed up with GitHub.

The final conclusion for #71 was recorded in this comment.

Thanks @wlynch for catching this! : )
I updated the branch to v2.


Offline cachine

I noticed that there's no support for offline caching of map tiles or GIS data. Implementing offline caching would greatly enhance the utility of the library, especially in scenarios with limited or no internet connectivity. This feature could allow for storing map data locally and accessing it without an active internet connection.

Actually, if the is run as native application, all downloaded tiles are cached in the file system. On web we rely on browser caching, I don't think it's reasonable to use local storage for tile cache.
You can also preload all the tiles you need using TileProvider API. One thing we could add, is working in offline mode, without attempting internet requests at all.
Also mentioned in #18

I'll rename the issue to offline mode


Add opus support to binary distribution

This PR adds OPUS support to binary distribution.
Resolves #688

@seemethere I would like to add this to the next release. Let me know what you think.


TokenTimelock release() should be restricted to beneficiary or delegate

🎉 Description

[X] 🐛 This is a bug report.
[ ] 📈 This is a feature request.

💻 Environment
Next, we need to know what your environment looks like.

Which version of OpenZeppelin are you using?
1.11
What network are you deploying to? Ganache? Ropsten?
Ganache
How are you deploying your OpenZeppelin-backed contracts? truffle? Remix? Let us know!
Truffle

📝 Details
Not exactly a bug, but I think it is a misuse of funds. At due time anyone can release the funds from the timelocked to the beneficiary even against the will of the latter.
openzeppelin-solidity/contracts/token/ERC20/TokenTimelock.sol
🔢 Code To Reproduce Issue [ Good To Have ]
This function
/**
   * @notice Transfers tokens held by timelock to beneficiary.
   */
  function release() public {
    // solium-disable-next-line security/no-block-members
    require(block.timestamp >= releaseTime);

    uint256 amount = token.balanceOf(this);
    require(amount > 0);

    token.safeTransfer(beneficiary, amount);
  }

Should be guarded with a:
require(msg.sender == beneficiary);

or with
require(msg.sender == beneficiary || msg.sender == <whitelisted guy>);

👍 Other Information

This is related to #1132 - in this case, anyone (even a contract) can trigger the releasing of funds. I'm closing this issue and moving the conversation over to that issue, thanks @ddbit!


Fix missing docstrings, improve test coverage, and improve error mess…

…age for nonexistent mysql version

Side feature request: I wonder if it's reasonable to allow images not on docker registry (e.g. GCR mirror). E.g. GCR/AR probably have better reliability.

Hmm good point, I hadn't given much thought to reliability of docker image downloads.


Home assistant

Wondering when this was getting home assistant support as Samsung smart things is unavailable in my country

Nate,
I'm getting a few errors with your early proof of concept. Can you help out?
Log Details (ERROR)
Thu Feb 22 2018 21:05:42 GMT-0500 (EST)
Error handling request
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/aiohttp/web_protocol.py", line 272, in data_received
messages, upgraded, tail = self._request_parser.feed_data(data)
File "aiohttp_http_parser.pyx", line 295, in aiohttp._http_parser.HttpParser.feed_data
aiohttp.http_exceptions.BadHttpMessage: 400, message='invalid character in header'

Konnected support is built in to Home Assistant 0.70 and newer.
https://www.home-assistant.io/components/konnected


Module version number incorrect

Hi,
we just started using 0.12.0 today and noticed that php_info returns 0.11.0 for the protobuf extension.
Seems like this is due to this not being updated: https://github.com/allegro/php-protobuf/blob/ebb10426b7449db88eb40e1a092b5073d52d177d/php_protobuf.h

Hi,
Shit, you're right, I missed that altogether. I've created a new release with fixed version information.


CICD pipeline and integration tests

This is a follow-up PR for #4, which includes:

Sample apps (Open Liberty and Quarkus) for integration test
CICD pipeline
Add/update readme
Add javadoc

Testing
See the successful build workflow run which executed the unit tests and integration tests with Azure services:

https://github.com/majguo/azure-microprofile/actions/runs/5819895282

Signed-off-by: Jianguo Ma<EMAIL_ADDRESS>

build.yml
Consider this comment:
# In order to run tests against the real Azure services, you need to create a GitHub environment "ci" and add AZURE_CLIENT_ID / AZURE_TENANT_ID / AZURE_SUBSCRIPTION_ID as its variables to enable OIDC authentication with Azure.

Can you please create setup and teardown scripts to ease the ability of someone to get started running the CI with real Azure services?

@edburns Sure, scripts are added in commit a7fb09f.


Update event.js for IE8 compatability

IE8 does not support the use of the splice() function with one parameter thus we have to use splice(1, params.length-1). This returns all the objects in params except the first one.

This PR seems to be obsolete. Moreover UI.Utils modules was split in individuals repositories. If still valid, please consider re-submitting on the dedicated repository.
See the README for details.


StringFormatTests on skikoTest

Proposed Changes

Added tests to functions String.format() after addition with calendar in PR https://github.com/JetBrains/compose-multiplatform-core/pull/717

Testing
Run tests:
./gradlew :mpp:testDesktop
./gradlew :mpp:testUIKit

@alexzhirkevich Added tests to your changes

Thanks, it's a good point. I shoul've include such tests in my PR.
Or maybe it shoul've been tested before so i didn't have to fix obvious bugs in it :D

Probably not_enought_args should also be tested? And this case should thow a MissingFormatArgumentException like on JVM?

I know. I mean it is inconsistent with jvm. Jvm format will throw an exception

I know. I mean it is inconsistent with jvm. Jvm (Android actual) format will throw an exception

Ok. because it is internal function we can stay it as is now.


⚠ Bofrost.at has degraded performance

In 2f645c4, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2386 ms

Resolved: Bofrost.at performance has improved in 9fc89f2 after 14 minutes.


Benchmarking

Hi,
Would you be interested in benchmarking Python ROUGE wrappers?
I worked on my own solution for ROUGE evaluation over files (using two files f1, f2, reading each line l1_i in f1, l2_i in f2 and scoring rouge(l1_i, l2_i).
My system uses multithreading to speed up the process (good gain in practice as the wrapping require I/O).
Do you have any information about processing speed using your solution?
We could run experiments using a common process & data to compare.
Note that I don't want my solution "win", I just want the fastest python ROUGE scorer.
Regards

Hi! Not the repo owner, but I make heavy use of ROUGE and I would be really interested in a fast, python implementation of ROUGE (in fact I was considering writing it myself).  I am willing to help in benchmarking  or any other way.

TL;DR: I'm looking for the best ROUGE scoring python i.e. the best function sentence1, sentence2: set of rouge scores.
I am currently using pltrdy/pythonrouge to as a ROUGE wrapper. It is forked from tagucci/pythonrouge but the two repos are not longer close to each other.
Additionally, I am running files scoring using my own implementation (pltrdy/files2rouge). I built it from scratch, which it reads the files and launch, for each line pair a scoring using pltrdy/pythonrouge.
Scoring are done in parallel using multithreading.
Now I plan to kinda "merge" pythonrouge and files2rouge in order to build a single library to

score two sentences (note it can be done with files2rouge)
multithread scoring of a stream of sentences (=file descriptor, without loading the whole content) (note: it can be done with files2rouge)
multithread scoring of a list of sentences. (currently not possible in one line, you have to build your own multithreading).

My current bottleneck is on the evalutation itself, i.e. the function s1, s2 -> rouge scores. I would then just need to plug the optimal evaluation into my higher level solutions.
We certainly could work together on it, both a benchmark and a solution to ROUGE related problems
pltrdy

I've built a fully python rouge implementation:
https://github.com/pltrdy/rouge
Way faster than PERL wrapping.


Adding API server support for service account

Why are these changes needed?
Current implementation of the operator supports usage of the service accounts, while API server has no ability to specify it. This PR adds Service account parameter to head and worker nodes definitions and propagate them to corresponding pod templates
Related issue number

Checks

[ x] I've made sure the tests are passing.
Testing Strategy

[ x] Unit tests
[ ] Manual tests
[ ] This PR is not tested :(

@kevin85421, can you, please, take a look at the errors? They all come from the operator, not my code

#1145 is merged. Would you mind rebasing with the master branch? However, I found the nightly compatibility to be quite unstable. There may have been some recent breaking changes in the Ray master branch.


OSX ARM continued

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

Hi! This is the friendly automated conda-forge-webservice.
I tried to rerender for you, but it looks like I wasn't able to push to the patch-1 branch of jonashaag/libgumbo-feedstock. Did you check the "Allow edits from maintainers" box?
NOTE: Our webservices cannot push to PRs from organization accounts or PRs from forks made from organization forks because of GitHub permissions. Please fork the feedstock directly from conda-forge into your personal GitHub account.
This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/12387968264. Examine the logs at this URL for more detail.


Consider policing content-length.

This is an interesting idea: should we reject invalid content-lengths? RFC 7540 § <IP_ADDRESS> says so:

A request or response that includes a payload body can include a content-length header field.  A request or response is also malformed if the value of a content-length header field does not equal the sum of the DATA frame payload lengths that form the body.
Malformed requests or responses that are detected MUST be treated as a stream error (Section 5.4.2) of type PROTOCOL_ERROR.

This suggests that we should be keeping track of this. However, I'm a bit nervous that tools like mitmproxy may want to let the invalid stream stand, despite RFC 7540 warning against this:

Intermediaries that process HTTP requests or responses (i.e., any intermediary not acting as a tunnel) MUST NOT forward a malformed request or response.

The other option would be to require that the policing of the content length be done by the tools that wrap hyper-h2.
@Kriechi @mhils thoughts?

I guess mitmproxy is (should be) more liberal and transparent in that sense.
What happens with HEAD-requests, which carry a content-length headers (e.g. a file download)?

Responses to HEAD requests are exempted, as are 304 Not Modified responses to GET requests. Those are both defined to have empty bodies and getting that wrong should be an error.
However, given the relative difficulty of enforcing this at the hyper-h2 level, I may punt on it and instead mandate that it be enforced at a higher level.

This suggests that we should be keeping track of this. However, I'm a bit nervous that tools like mitmproxy may want to let the invalid stream stand, despite RFC 7540 warning against this:

This is a double-edged sword. With mitmproxy, we generally want to test against application-layer bugs. For protocol-level errors, you'd use pathod.
In HTTP1, manual content length header processing is a realistic application-layer issue (hello, PHP). For HTTP2, this shouldn't be the case if all HTTP2 implementations handle this as per the RFC, so, in theory, there's no need for us to generate such invalid frames in mitmproxy (that'd be pathod's thing then).
Practice may look a bit different, so it's probably nice to have, but not a blocker for us. For more obscure fuzzing cases, one can always resort to pathod.

Ok, for now let's bring this into hyper-h2. If that turns out to be problematic, we can consider making content-length tracking a conditional flag.


Try test FPS model 256 not true

I try to run model "vitb_256_mae_32x4_ep300". I see speed same model SiamRPN++ but in your paper said SiamRPN++ ~ 30FPS , OSTrack-256 ~105FPS. Am I running the wrong model?

Thank you for your attention. We use a speed profile script to test the speed (as described in the README), which is the same as some recent Transformer-based methods but may be different from some previous work. Also, make sure you are using the same hardware. The Pytorch version may also affect the speed, although the effect may be relatively small.

what is yours model >100FPS ? "vitb_256_mae_32x4_ep300" or "vitb_256_mae_ce_32x4_ep300". I tested the speed by yours script but the speed of model "vitb_256_mae_32x4_ep300" just same speed with SiamRPN++

"vitb_256_mae_ce_32x4_ep300" is the right model. Lots of facts (e.g., GPU, CUDA, and Pytorch version) will affect the speed as I mentioned before. Please check them.


Add a note that the plugin has been forked

Corresponds to https://github.com/MrJul/ForTea/issues/106

Does it mean that it should be included in ReSharper, too? Or Rider only?
It seems that it is not working in 2019.3 by default... and can't find a plugin in the Extension Manager.

Thanks Kirill!


OTG Test - TE-3.31: Hierarchical weight resolution with PBF

OTG conversion of TE-3.31: Hierarchical weight resolution with PBF
Fixes #2740

Pull Request Functional Test Report for #2772 / 6a053a638e055500a65f4c29f195249a3ab24990
Virtual Devices

Device
Test
Test Documentation
Job
Raw Log

Arista cEOS

TE-3.31: Hierarchical weight resolution with PBF

Cisco 8000E

TE-3.31: Hierarchical weight resolution with PBF

Cisco XRd

TE-3.31: Hierarchical weight resolution with PBF

Juniper ncPTX

TE-3.31: Hierarchical weight resolution with PBF

Nokia SR Linux

TE-3.31: Hierarchical weight resolution with PBF

Openconfig Lemming

TE-3.31: Hierarchical weight resolution with PBF

Hardware Devices

Device
Test
Test Documentation
Raw Log

Arista 7808

TE-3.31: Hierarchical weight resolution with PBF

Cisco 8808

TE-3.31: Hierarchical weight resolution with PBF

Juniper PTX10008

TE-3.31: Hierarchical weight resolution with PBF

Nokia 7250 IXR-10e

TE-3.31: Hierarchical weight resolution with PBF

Help

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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 53.035%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1730

Relevant Lines:
3262

💛  - Coveralls


Fixed bug: primary contact changed if a new contact connected to this…

Critical Changes
Changes

Primary Contact on a Household Account does not change when a user adds a new Contact to the Household. If you want to change Primary Contact, simply update the field to the Contact you want.

Issues Closed
Fixes #562
New Metadata
Deleted Metadata
Testing Notes

Create a contact. It will automatically be the primary contact for this household.
(not sure this step is necessary) Un-associate the contact as the primary contact (make it blank) for that household. Then re-associate the contact as the primary contact.
Go back to Contacts and create a brand new contact to be auto-assigned a new household account. This contact will be the primary contact for this household.
Move the contact created in step 1/2 to the household created in step 3 .

Hey @sam-knox,
Could you review the release notes please? Thank you! :)

Release note reviewed and updated.

@xinnanlisf  does anything need to be done for this showing:
This branch is out-of-date with the base branch
Merge the latest changes from master into this branch. (with update branch available?)

All tests have passed. Now moving a contact to another household does not replace the primary contact field with that newest added contact. The Primary contact field stays the original/1st added contact for the household. Merging PR.  @xinnanlisf


Testing travis

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@1675851). Click here to learn what that means.
The diff coverage is 0%.

@@          Coverage Diff           @@
##             master    #1   +/-   ##
======================================
  Coverage          ?    0%
======================================
  Files             ?    15
  Lines             ?   839
  Branches          ?    86
======================================
  Hits              ?     0
  Misses            ?   839
  Partials          ?     0

Impacted Files
Coverage Δ

.../hivemetastoreconnector/SnowflakeHiveListener.java
0% <ø> (ø)

...etastoreconnector/commands/AlterExternalTable.java
0% <ø> (ø)

...hivemetastoreconnector/commands/DropPartition.java
0% <ø> (ø)

...wflake/hivemetastoreconnector/util/StringUtil.java
0% <ø> (ø)

...owflake/hivemetastoreconnector/core/Scheduler.java
0% <ø> (ø)

.../hivemetastoreconnector/core/CommandGenerator.java
0% <ø> (ø)

...ke/hivemetastoreconnector/commands/LogCommand.java
0% <ø> (ø)

...vemetastoreconnector/util/StageCredentialUtil.java
0% <ø> (ø)

...metastoreconnector/commands/DropExternalTable.java
0% <ø> (ø)

...flake/hivemetastoreconnector/commands/Command.java
0% <ø> (ø)

... and 5 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 1675851...ade5266. Read the comment docs.


Need a reliable way to make arbitrary changes to the router configuration

As described also here, changes to skupper-internal config map are lost as it gets re-written.
We have seen this when adding "idleTimeoutSeconds": 64 to the edge-listener using Skupper v2.2.0.
And @ted-ross was able to reproduce the issue by adding an annotated service.
As Ted was suggesting, we need a reliable way to make arbitrary changes to the router configuration.

The root cause of this issue seems to be in the qdrpackage of the skupper repo. The Listener and Connector structs are missing the connection timeout parameters so those just get ignored when the skupper-internal config map is read or written by config-sync.  I'm going to open PR to fix this in the skupper repo shortly.

Ideally we will not lose any arbitrary fields added to the config. I think this is best done not by explicitly defining fields in the control plane for all the fields in the router entities, but by retaining those values that are not recognised and emitting them when rewriting out the config. I have created a PR that shows one way of doing that.
The benefits of this approach are (1) it works for all unrecognised fields including those added in the future and (2) it avoids having explicit fields that are never actually used by the control plane.


Jesse: Watch govtsjobsnews.com

Jesse requests the watch of the watch_keyword govtsjobsnews\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

govtsjobsnews\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Rejected by rene in Charcoal HQ. Reason: 'unintentionally obsoleted by a later watch; was correct at the time'


Server js

The server.js file is used to run the node server locally. However, there are conflicts with two existing configurations within this file. Use only one, with https for protocol and localhost with given port.
Resubmission of PR #6

Hi @bpatra, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;


pubsubplus-dev helm chart file not found

Description
The helm chart repo was changed from https://solaceproducts.github.io//pubsubplus-kubernetes-quickstart/helm-charts to https://solaceproducts.github.io/pubsubplus-kubernetes-helm-quickstart/helm-charts recently. However, the link of pubsubplus-dev chart file did not change. It still is https://solaceproducts.github.io/pubsubplus-kubernetes-quickstart/helm-charts/pubsubplus-dev-3.2.0.tgz. It should be https://solaceproducts.github.io/pubsubplus-kubernetes-helm-quickstart/helm-charts/pubsubplus-dev-3.2.0.tgz
Here is the error:
Downloading pubsubplus-dev from repo https://solaceproducts.github.io/pubsubplus-kubernetes-helm-quickstart/helm-charts Save error occurred:  could not download https://solaceproducts.github.io/pubsubplus-kubernetes-quickstart/helm-charts/pubsubplus-dev-3.2.0.tgz: failed to fetch https://solaceproducts.github.io/pubsubplus-kubernetes-quickstart/helm-charts/pubsubplus-dev-3.2.0.tgz : 404 Not Found Error: could not download https://solaceproducts.github.io/pubsubplus-kubernetes-quickstart/helm-charts/pubsubplus-dev-3.2.0.tgz: failed to fetch https://solaceproducts.github.io/pubsubplus-kubernetes-quickstart/helm-charts/pubsubplus-dev-3.2.0.tgz : 404 Not Found
PS: the document needs to be updated as well: https://artifacthub.io/packages/helm/solace/pubsubplus-dev

This should be now resolved. Thank you @WellsCui for raising this, please open a new issue if there is still any related problem you see. Closing.


WIP: Example core-dns operator using declarative pattern

Strawman for discussion in meeting tomorrow!
cc @dholbach

Thanks for your work on this @justinsb!
I tried playing around with this. Could it be that a Dockerfile is missing (make docker-build)?

I got it running
mkdir -p $GOPATH/src/sigs.k8s.io/
cd $GOPATH/src/sigs.k8s.io/
git clone git@github.com:kubernetes-sigs/addon-operators.git
hub checkout https://github.com/kubernetes-sigs/addon-operators/pull/7

export GO111MODULE=on
go mod download
go mod vendor

make
kind create cluster --image kindest/node:v1.14.0
make install

~/go/src/sigs.k8s.io/addon-operators/coredns strawman_coredns* 6s
❯ k get crd
NAME                    CREATED AT
coredns.addons.k8s.io   2019-04-30T15:43:43Z

~/go/src/sigs.k8s.io/addon-operators/coredns strawman_coredns*
❯ k get coredns.addons.k8s.io
No resources found.

I've added an example of Patch (as in kustomize patch) to this operator: https://github.com/justinsb/addon-operators/pull/1

/lgtm
@justinsb @johnsonj @dholbach :
I think we should merge this implementation.
I like that it works from a manifests as a starting point.
IMHO, we should work on making that backend pluggable next (ie: cluster bundle / git / ORAS).
That will move us toward tools and libs that can be used by cluster-management tools to install the operators/rbac as well.
@johnsonj maybe re-open justinsb#1 on this repo after we merge this?

Can we merge this, or is there more feedback to be resolved first?

I'm interested in this PR and checked that works on my env.
But this PR doesn't have a test like "Golden File Tests".
I would like to add it after merged this PR, is it OK?

Sounds good to me!
On Wed, Jun 19, 2019, 1:31 PM atoato88<EMAIL_ADDRESS>wrote:

I'm interested in this PR and checked that works on my env.
But this PR doesn't have a test like "Golden File Tests"
https://github.com/kubernetes-sigs/kubebuilder-declarative-pattern/blob/master/docs/addon/walkthrough/tests.md#golden-file-tests
.
I would like to add it after merged this PR, is it OK?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes-sigs/addon-operators/pull/7?email_source=notifications&email_token=AADGRZML5WSREK352L6E4LTP3KJSFA5CNFSM4HJEYNOKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYDGG2Y#issuecomment-503735147,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADGRZP4BN2WTYVFEMP766LP3KJSFANCNFSM4HJEYNOA
.

Removed the WIP label.  Does someone want to add lgtm and start our engines? :-)

/approve

/lgtm

Does someone want to add lgtm and start our engines? :-)

Let the games begin! :tada: :boom:

awesome!
/lgtm


Fix typo in training page

I think it's a typo, so I want to fix it.

Coverage remained the same at 53.345% when pulling 0dafa0c95a1f7f421c38279baeafd05c4857c0ff on yiyi/fix_typo_in_training_page into 6d6d93f158d9f2dabdff2bd72e915d901d6c7bd3 on master.

Coverage remained the same at 53.345% when pulling 0dafa0c95a1f7f421c38279baeafd05c4857c0ff on yiyi/fix_typo_in_training_page into 6d6d93f158d9f2dabdff2bd72e915d901d6c7bd3 on master.


Feed title and description

Fixes #158
Let me know if you want to change something!

All good! Thanks 😉


Create short "coming soon" blurb

Tom H:

@Conal-Tuohy if you want to give me a short blurb for your bit, then I'll add it to the "coming soon" section next time I queue up changes to the page
https://researchcloud.slack.com/archives/C05AQ9WSBJ8/p1695340535306169

Trove query interface with additional data formats
A data transformation service will provide a simplified user interface for users to construct Trove API queries, and allow them to access Trove data in additional data formats, including TEI and Atom XML, which they can then import into other applications.


Removing hard-coded version of DASH and RDFQuery

Introduced a mechanism to load JS libraries as required by SHACL JS extensions.
There's a new directory 'shared' with a copy of the dash.js and rdfquery.js files from the Java project. This files are loaded using the extension loading mechanism.
Copies of referenced libraries can be cached locally to avoid making HTTP requests. the Gulp 'generate-libraries' task can be used for this purpose.
DASH is still loaded automatically when the library is required, a mechanism to load other extensions must be added.

Looks good to me (did not try to run it). I believe you have sufficient permissions to merge this PR into master, so please proceed on this. For some reasons I did not get an email notification on this PR.


Reduce default pool size to something else

https://github.com/HydrologicEngineeringCenter/cwms-python/blob/f1f1a59afbd1ba841841d04d27966a16bd4cb94a/cwms/api.py#L46
Suggest 15 based on tests done

https://github.com/USACE-WaterManagement/repgen5/pull/35#discussion_r1711455653

User experienced this error

This is the code I ran that gave the error:

The first call had 168 tsids and causes the warnings. There are no warnings from the second call (67 tsids).


Evaluate switching to a time-series database

Our Heartbeats are pretty much exactly time-series data, so I wondered if using a TSDB might help store them more efficiently than using a traditional relational table in which every heartbeat is one row. But I am not sure how exactly a time-series database could help here. It certainly would add a lot of complexity to the code and to the setup / deployment, as we will then have to distinguish between two different data sources – one for heartbeats and one for everything else.
Does someone have practical experience with time-series databases and can explain some advantages with regard to Wakapi?
Options are: InfluxDB, OpenTSDB, <name yours here>.
Are there maybe even "embedded" TSDBs, like what bbolt is for key-value stores or what H2 is for relational databases in the Java world?

Hi! recently found out your project and loving it so far.
I'd suggest using this time-series database:
https://www.timescale.com/
it's implemented as a PostgreSQL extension and has a full sql interface, so considering that you already support postgres it should be easy to setup and require few (or possibly no) changes to the codebase.
I don't have any familiarity at all with Go so i wouldn't be able to actively contribute but if you're using gorm it should be possible to use a migration to invoke the function that creates the Timescale HyperTable directly from code:
https://docs.timescale.com/latest/using-timescaledb/hypertables
https://gorm.io/docs/migration.html

TimescaleDB look very promising, thanks for bringing that up! However, I'm still wondering what a time-series database would actually get me? Is data going to be stored more efficiently or can queries be sped up, compared to using a classical index on a plain SQL database? The queries perfomed by Wakapi are mainly simple range queries like "give me all heartbeats between X and Y".

I'm still wondering what a time-series database would actually get me? Is data going to be stored more efficiently or can queries be sped up, compared to using a classical index on a plain SQL database?

I'd say the benefits are mostly a speedup in writing data:

ref: https://docs.timescale.com/latest/using-timescaledb/writing-data
the screenshot refers specifically to your use case which i believe is a lot of INSERTs which refer to recent timestamps

The queries perfomed by Wakapi are mainly simple range queries like "give me all heartbeats between X and Y".

timescale and other timeseries dbs (i only used influxdb and timescale) provide some helper functions that can be invoked directly in the SQL query. i think some could be useful to you:
ref: https://docs.timescale.com/latest/using-timescaledb/reading-data
overall i'd say that it could be convenient to use timescale if only for the fact that switch to it is easy and gives you a lot of room to improve performance. The only thing you'd need to do is write the migration to be consumed by gorm, you don't even need to modify the model entities. The migration should run the query:
SELECT * FROM create_hypertable('main_table', 'time_column_name');

Thanks for all your input. I don't consider a time series database overly beneficial at the moment, so I'll close this issue for now.

Thanks for all your input. I don't consider a time series database overly beneficial at the moment, so I'll close this issue for now.

Took another peek into TimescaleDB today. I still consider the efforts it would take to migrate higher than the benefits we would get from it. However, if we decide to switch to a TSDB, Timescale would be the best option.
As Timescale still exposes normal relational tables to the outside, we wouldn't have to change our data model a lot, if at all.
According to their comparison, the biggest advantage would probably be for range- and grouping queries, like the ones we have in the heartbeats repo.
Switching to Timescale would require to drop support for SQLite and MySQL and make Postgres the mandatory choice.


ci: disable falco-driver-loader tests on ARM64

What type of PR is this?
/kind bug
/kind cleanup
Any specific area of the project related to this PR?
/area CI
What this PR does / why we need it:
disable falco-driver-loader tests on ARM64 since right now installing kernel-headers on the job container is quite complex
Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
NONE

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 7a9cbeb7708a40ed5d6a51636447ab810fc51ea8

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP,leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Customize Skills If Need Be

Possibly change Skills to Products -- what kind of things we can make for people.


Sync TagUI - enterprise security, filename spaces, process titles, ml-rpa demo [done]

[x] https://github.com/kelaberetiv/TagUI/issues/1028#issuecomment-856389582
[x] https://github.com/kelaberetiv/TagUI/issues/987#issuecomment-856472924
[x] https://github.com/kelaberetiv/TagUI/issues/1053#issue-914407808
[ ] https://github.com/kelaberetiv/TagUI/issues/1035#issuecomment-856963981
[x] add Nived's voice-assisted-rpa demo

updated readme on enterprise security and speech-driven RPA demo by Nived - https://www.linkedin.com/posts/nived-n-776470139_rpa-tagui-automation-activity-6805844546950438912-Wiq4

This is added in v1.39, available with pip install rpa --upgrade

added link to readme on enterprise security https://github.com/tebelorg/RPA-Python#api-reference
improved handling on path name with space for directory where the Python script is running
improved process titles for Windows (showing SikuliX Engine instead of C:...\cmd.exe)
link to Nived's voice-assisted-RPA demo at About section under ML frameworks

Skipped adding a download_location() function for now. If add to existing in-use download() function it will be confusing. If add a new download_location() helper function it can be helpful but until there are more user requests on this, it is probably clutter. Since moving files are quite manageable in Python - https://stackoverflow.com/questions/8858008/how-to-move-a-file

Reopening to review setting download location


Create hr.json

Croatian translation.

Please send your pull requests the develop branch. Done
Don't forget to add the change to CHANGELOG.md. Done

Warnings

:warning:

Please include an updated CHANGELOG.md file.This way we can keep track of all the contributions.

  Generated by :no_entry_sign: dangerJS

Please add updated translations.js file and changelog. Thanks.

Done.

Thanks for the PR. Sorry it took me so long to merge. Had to fix a linting issue first.


[Feature Request]: PF5 dark theme

Feature description
Incorporate the newly introduced dark theme from PF5 into our dashboard. Consider adding a toggle button to the header, allowing users to switch seamlessly between the light and dark themes (UX can guide more).
For more details, please refer to the Dark Theme Handbook: https://www.patternfly.org/developer-resources/dark-theme-handbook."
Dependent on https://github.com/opendatahub-io/odh-dashboard/issues/1694
Describe alternatives you've considered
No response
Anything else?
Things to consider:

Icons for ISVs, Look at OpenShift console OperatorHub for how they did it
How are we going to allow the users to modify this?
Look at CSS to see what we are doing to set colors

Note: When implementing the dark theme, we need to make sure the logo/icon in all of the ISV cards looks good on the dark background.

Migrated to:  https://issues.redhat.com/browse/RHOAIENG-2405


Fixing shellcheck

Do we also want to skip validation if there is no response on optional fields?
https://github.com/opentofu/registry/issues/1118#issuecomment-2410628664


[Feature Request]: Module Microsoft.Web/sites - include vnetRouteAllEnabled and vnetImagePullEnabled properties

Description
Team,
I see these properties are enabled on Slots but this is also configurable at the site resource. https://learn.microsoft.com/en-us/azure/templates/microsoft.web/sites?pivots=deployment-language-bicep#siteproperties

Hey @tsc-buddy ,
I just migrated this issue over from CARML. Please take a look and triage if still relevant :)

Hi There - These settings are available in the main site component of the module. I shall go ahead and close this issue. Thanks.


Support rowid in (...) constraints in vss_search() KNN queries

In KNN style searches, we should support rowid in (...) constraints in queries like so:
select rowid, distance
from vss_articles
where vss_search(description_embeddings, :query_vector)
  and rowid in (1, 2, 3, ..., 100)
limit 25

Currently we ignore the "equals" constraint on rowid, but if we were to capture that constraint (and enable sqlite3_vtab_in), we could read in all the rowids and use IDSelector to pre-filter results.
This would be especially great when paired with subqueries:
with subset as (
  select rowid
  from articles
  where published_at between '2022-01-01' and '2023-01-01'
    and newsroom = 'NY Times'
)
select rowid, distance
from vss_articles
where vss_search(description_embeddings, :query_vector)
  and rowid in (select rowid in subset)
limit 25

This would enable "pre-filtering" according to this post. This would be an easy-to-implement but probably-slow solution to push-down filters described in #2.

Use IDSelectorBatch.
need to figure out idxStr/idxNum rules

I suppose then we can do pre-filtering with standard SQL and then feed the resulting rowids into the vss query. Nice.
Definitely nicer than getting 1000 "wide net" results from the vss query and then filtering.
That being said, in a document searching app I am working on I do 50 top searches and then filter, seems to work, albeit we never have the certainty that we are not missing something important.

Those are mostly personal notes about how to implement this feature. IDSelectorBatch is Faiss tool that'll make it easier to search a large subset of vectors, and idxStr/idxNum refer to some internal changes I need to make to the vss0 module in order to make this compatible with older code.
I'll probably work on this next after the new v0.1.1 releases this week!

Any update on this? @asg017


Classes in the common stylesheet are duplicated for every component

Hi,
In the example react-sass, I notice that for the common styles file (src/assets/styles/_index.scss), a different css module class is generated for every component that imports styles. For example, 2 different css module classes are generated for the .row class, because there are 2 files that import styles (App.tsx and User.tsx). This happens even if we don't directly use the .row class within User.tsx. In a larger project, it means that all the classes within the common stylesheet will be duplicated for every component that uses styles, even though we only need 1 instance of each common class.
Is it possible to generate only 1 class for .row, and reuse the same one across different files, while maintaining type safety? Or is there some other workaround to get the desired behavior?
Thanks!

@iPapatsoris
Hi.
This may be achieved by combining the additinalData and global options.
https://github.com/activeguild/vite-plugin-sass-dts/blob/ff0f07b14b687107a2f61eec525cc58c9de8e989/example/react-sass/vite.config.ts#L13
https://github.com/activeguild/vite-plugin-sass-dts/blob/ff0f07b14b687107a2f61eec525cc58c9de8e989/example/react-sass/vite.config.ts#L37-L40

I already have these options enabled (I haven't changed anything from the original react-sass example). The problem persists, it's that if we inspect the final css file that is generated on production, we see two different generated classes for .row (for instance ._row_aki7x_1 and ._row_es2g2_1), whereas we only need 1.

@iPapatsoris
I think we can achieve confirmation by doing the following.
https://github.com/activeguild/vite-plugin-sass-dts/commit/dd447487171a66d7f236f850974e7a381f186d0c

Thanks, it works great!
One small downside that I noticed, is that if we switch the index.css file to  index.scss (and update the import in main.tsx), then in the final production stylesheet we get the following:

:global .row {
display: flex
}
.row {
display: flex
}

I'm not sure how to get rid of the :global .row rule and just keep the second rule, but maybe that's an unrelated issue. Nevertheless, the common classes are duplicated only once (and not for each component), so it shouldn't increase the code size by a lot.

@iPapatsoris
I didn't understand the problem.
What is the reason for leaving the second class?
.row {
display: flex
}

The problem is that after building for production, we see a generated CSS file with the following code

:global .row {
display: flex
}
.row {
display: flex
}

whereas we only need

.row {
display: flex
}

It's not a real problem, but more of an unnecessary rule that I was wondering how to get rid of. The :global .row doesn't serve any purpose in the final generated CSS.


164b fix more tests

Currently most tests are passing.
Still getting problems with slicing/concatenating again or loading partial data compared to sliced data though. @psomhorst any ideas?

Still getting problems with slicing/concatenating again or loading partial data compared to sliced data though. @psomhorst any ideas?

Yes. There are a few reasons.

Phases and events aren't filtered when slicing. I think you introduced that in this PR.
Phases contain index numbers referring to the time axis. When loading and slicing, these are higher than when loading while skipping. I've fixed this for now in a commit to this PR, but this needs to be discussed/addressed at some point. If objects (e.g. Breaths, the current implementation of phases and events) refer to a time array using indices, these will go out of sync when the object containing them is sliced. There should be a way to update them, or we should refrain from using indices in these objects. I think it is perfectly fine to remove start/ end indices from Breaths and use start/end time instead. For this to work, selecting by time has to work well for single timepoints.

I've now unskipped the rest of test_concatenate as well and it passes.
However, we are getting a DeprecationWarning on this NotImplemented thing I introduced in the previous PR
https://github.com/EIT-ALIVE/eitprocessing/blob/872b97c0bf514a502806e7f259a8dd93e02ec02c/eitprocessing/datahandling/mixins/equality.py#L33-L37
If I revert that to if type(a) is not type(b) then False, the test fails. It is now trying to compare a DataCollection to a None somewhere in the process (haven't yet identified exactly where and why).
Should this be addressed here or in a separate PR?

I've now unskipped the rest of test_concatenate as well and it passes.
However, we are getting a DeprecationWarning on this NotImplemented thing I introduced in the previous PR
https://github.com/EIT-ALIVE/eitprocessing/blob/872b97c0bf514a502806e7f259a8dd93e02ec02c/eitprocessing/datahandling/mixins/equality.py#L33-L37
If I revert that to if type(a) is not type(b) then False, the test fails. It is now trying to compare a DataCollection to a None somewhere in the process (haven't yet identified exactly where and why).
Should this be addressed here or in a separate PR?

I think this is a major issue.
NotImplemented should only be returned by comparison methods like __lt__(), __eq__(), etc. When NotImplemented is returned from these functions, Python retries in a different order and raise an Exception if the comparison still fails.
We now use it in _array_safe_eq(). The output of this method is not handled the same as other comparison methods. Returning NotImplemented from this function does not result in a second comparison being made. Because we pass the result of _array_safe_eq() to the all() function, it is cast to a boolean. bool(NotImplemented) is True, which means this check effectively returns True. This is not the expected behaviour.
If you return False instead of NotImplemented tests fail. This means something is very wrong. I'm going to dive into it.

I've now unskipped the rest of test_concatenate as well and it passes.
However, we are getting a DeprecationWarning on this NotImplemented thing I introduced in the previous PR
https://github.com/EIT-ALIVE/eitprocessing/blob/872b97c0bf514a502806e7f259a8dd93e02ec02c/eitprocessing/datahandling/mixins/equality.py#L33-L37
If I revert that to if type(a) is not type(b) then False, the test fails. It is now trying to compare a DataCollection to a None somewhere in the process (haven't yet identified exactly where and why).
Should this be addressed here or in a separate PR?

I think this is a major issue.
NotImplemented should only be returned by comparison methods like __lt__(), __eq__(), etc. When NotImplemented is returned from these functions, Python retries in a different order and raise an Exception if the comparison still fails.
We now use it in _array_safe_eq(). The output of this method is not handled the same as other comparison methods. Returning NotImplemented from this function does not result in a second comparison being made. Because we pass the result of _array_safe_eq() to the all() function, it is cast to a boolean. bool(NotImplemented) is True, which means this check effectively returns True. This is not the expected behaviour.
If you return False instead of NotImplemented tests fail. This means something is very wrong. ~I'm going to dive into it.~
This should be fixed with #195.

Good find and thanks for fixing it! It was indeed a major issue. I didn't have time right away to figure out where it came from and by the time I got back to it, you had figured it out already :)
By now, this has become a bit of a Frankenstein PR, with changes back and forth and by multiple people.
I think at this point I will go over all the comments one more time and see what really needs to be done/reverted here and open some separate issues for anything that is not immediately pressing. Then I'll request a new review from you and hopefully we can merge this one soon. Sound good?

By now, this has become a bit of a Frankenstein PR, with changes back and forth and by multiple people. I think at this point I will go over all the comments one more time and see what really needs to be done/reverted here and open some separate issues for anything that is not immediately pressing. Then I'll request a new review from you and hopefully we can merge this one soon. Sound good?

This is done now. In have opened issues 196-198 to deal with outstanding issues from this PR.
Also, I have created #199, to consider any additional tests needed.


run: launch vm before create pod

so that we can make create+prepare parallel run with vm launch.
This intents to fix the performance regression introduced by the code formalization

+	var (
+		spec  pod.UserPod
+		async = true
+	)
+	json.Unmarshal([]byte(podJson), &spec)
+
+	vmId, err := cli.CreateVm(spec.Resource.Vcpu, spec.Resource.Memory, async)
+
 	podId, err := cli.CreatePod(podJson, opts.Remove)

This process still starts pod one by one, creating vm and pod, then start it.  How about using API interface of /pod/run?  It will create pod during vm's creating and starting, and then associate the pod into the vm.

@carmark no, the async flag should not wait the vm started if it's works well, and if there is some problem in async creating vm, I will fix it. I don't want to keep the pod/run api, which is confused

OK, fine for me.  I think it is good to remove those code(/pod/run) with this pr.

@carmark I tested this PR, and the /pod/run, and the current master in one box, can not find significant performance difference, will test more cases before merge

testd with

master
this pr
previous one shot run api

the result in short ---

for overlay, almost the same boot time for the three method.
for devicemapper, this pr faster about 1/4 than the other two.

will do clean up and merge this pr.


Alerts (v1) do not display alert category or description

Rancher Server Setup

Rancher version: v2.5.12
Installation option (Docker install/Helm Chart): docker

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

Proxy/Cert Details:n/a

Information about the Cluster

Kubernetes version:n/a
Cluster Type (Local/Downstream):any

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

User Information

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

Describe the bug

the alerts page no longer shows the category or description of alerts.
To Reproduce

deploy rancher v2.5.12
visit tools -> alerts of any cluster (local or downstream)

Result

the alerts page no longer shows the category or description of alerts.

Expected Result

alerts should display category and description of each alert
Screenshots

for context, here's 2.5.9 (a working version of this page):

Additional context

if you disable/enable any of the alerts, the description will display again but this goes away after leaving/refreshing the page
related PRs https://github.com/rancher/rancher/pull/36190

/forwardport 2.6.4

/forwardport v2.6.4

From our practice, the following resources need to be excluded:
Scheme.ExcludeGVK(management.SchemeGroupVersion.WithKind("ClusterAlertRuleList"))
Scheme.ExcludeGVK(management.SchemeGroupVersion.WithKind("ClusterAlertGroupList"))
Scheme.ExcludeGVK(management.SchemeGroupVersion.WithKind("ProjectAlertRuleList"))
Scheme.ExcludeGVK(management.SchemeGroupVersion.WithKind("ProjectAlertGroupList"))
Scheme.ExcludeGVK(management.SchemeGroupVersion.WithKind("ClusterLoggingList"))
Scheme.ExcludeGVK(management.SchemeGroupVersion.WithKind("ProjectLoggingList"))

rancher/rancher:v2.5.13-rc2
In both the local and a downstream cluster:

Navigated to Cluster Alerts and Project Alerts
All alert descriptions are showing properly


Fix incorrect parameters for layered textures in VRAM texture memory profiler

The texture memory profiler used to incorrectly assume the texture's depth to also be its layer count, which caused invalid memory size estimations. Additionally, RD-based renderers would always assume a texture had mipmaps due to incorrect logic for checking their count.
Before:

After:

Thanks!


Fix typo.

This function is reading at the address, not writing.

Thanks @dhebbeker for contribution! I merged the PR.


[LastFM] Playlist pagination broken

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm reporting a broken site
[X] I've verified that I'm running yt-dlp version 2023.01.02 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[ ] I've read about sharing account credentials and I'm willing to share it if required

Region
No response
Provide a description that is worded well enough to be understood
yt-dlp only downloads the first page when downloading playlists. Manually adding ?page=2 to the URL allows yt-dlp to scrape the other pages as well.
I think the issue lies in the 'infinite' scroll functionality of the playlists. yt-dlp is probably looking for the pagination bar, which only appears when adding the page URL parameter with a value > 1.
Proposed solutions are to either use the infinite scroll mechanism to fetch the entire playlist or to detect URLs that point to the first page of a playlist and enqueuing the URL to the second page.
I may look into fixing this if I find the time this weekend.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', '-s', 'https://www.last.fm/user/naamloos1/playlists/12543760']
[debug] User config: []
[debug] System config: []
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2023.01.02 [d83b0ad] (pip)
[debug] Python 3.10.9 (CPython x86_64 64bit) - Linux-6.0.12-x86_64-with-glibc2.35 (OpenSSL 3.0.7 1 Nov 2022, glibc 2.35)
[debug] exe versions: ffmpeg 4.4.2 (setts), ffprobe 4.4.2, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.16.0, brotli-1.0.9, certifi-2022.12.07, mutagen-1.46.0, sqlite3-2.6.0, websockets-10.4
[debug] Proxy map: {}
[debug] Loaded 1754 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2023.01.02, Current version: 2023.01.02
yt-dlp is up to date (2023.01.02)
[LastFMUser] Extracting URL: https://www.last.fm/user/naamloos1/playlists/12543760
[download] Downloading playlist: 12543760
[LastFMUser] 12543760: Downloading webpage
[LastFMUser] 12543760: Downloading page 1
[LastFMUser] Playlist 12543760: Downloading 27 items of 27
[download] Downloading item 1 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=KYfADOlstwc
[youtube] KYfADOlstwc: Downloading webpage
[youtube] KYfADOlstwc: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] KYfADOlstwc: Downloading 1 format(s): 247+251
[download] Downloading item 2 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=bMd5e7qfoVY
[youtube] bMd5e7qfoVY: Downloading webpage
[youtube] bMd5e7qfoVY: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] bMd5e7qfoVY: Downloading 1 format(s): 248+251
[download] Downloading item 3 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=XeILs5RjAeQ
[youtube] XeILs5RjAeQ: Downloading webpage
[youtube] XeILs5RjAeQ: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] XeILs5RjAeQ: Downloading 1 format(s): 247+251
[download] Downloading item 4 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=s5-nLWLL3o0
[youtube] s5-nLWLL3o0: Downloading webpage
[youtube] s5-nLWLL3o0: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] s5-nLWLL3o0: Downloading 1 format(s): 248+251
[download] Downloading item 5 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=enWuAAbfcGM
[youtube] enWuAAbfcGM: Downloading webpage
[youtube] enWuAAbfcGM: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] enWuAAbfcGM: Downloading 1 format(s): 248+251
[download] Downloading item 6 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=bJLhWNbxaAc
[youtube] bJLhWNbxaAc: Downloading webpage
[youtube] bJLhWNbxaAc: Downloading android player API JSON
[youtube] bJLhWNbxaAc: Downloading MPD manifest
[youtube] bJLhWNbxaAc: Downloading MPD manifest
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] bJLhWNbxaAc: Downloading 1 format(s): 248+251
[download] Downloading item 7 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=_G1soKzXJUo
[youtube] _G1soKzXJUo: Downloading webpage
[youtube] _G1soKzXJUo: Downloading android player API JSON
[debug] [youtube] Extracting signature function js_e5f6cbd5_106
[debug] Loading youtube-sigfuncs.js_e5f6cbd5_106 from cache
[debug] Loading youtube-nsig.e5f6cbd5 from cache
[debug] [youtube] Decrypted nsig I0Z7Sf6I0gahg02PP => C656VkHwU8eXrw
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] _G1soKzXJUo: Downloading 1 format(s): 303+251
[download] Downloading item 8 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=2olZcB4CgE0
[youtube] 2olZcB4CgE0: Downloading webpage
[youtube] 2olZcB4CgE0: Downloading android player API JSON
ERROR: [youtube] 2olZcB4CgE0: Video unavailable. This video is not available
  File "/nix/store/sxnwjrpr7zfmp8nvx23r170l3zk9fmpc-python3.10-yt-dlp-2023.1.2/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 680, in extract
    ie_result = self._real_extract(url)
  File "/nix/store/sxnwjrpr7zfmp8nvx23r170l3zk9fmpc-python3.10-yt-dlp-2023.1.2/lib/python3.10/site-packages/yt_dlp/extractor/youtube.py", line 3959, in _real_extract
    self.raise_no_formats(reason, expected=True)
  File "/nix/store/sxnwjrpr7zfmp8nvx23r170l3zk9fmpc-python3.10-yt-dlp-2023.1.2/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 1158, in raise_no_formats
    raise ExtractorError(msg, expected=expected, video_id=video_id)

[download] Downloading item 9 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=3PfFcsO-sr0
[youtube] 3PfFcsO-sr0: Downloading webpage
[youtube] 3PfFcsO-sr0: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 3PfFcsO-sr0: Downloading 1 format(s): 248+251
[download] Downloading item 10 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=JJJVoiGXzm0
[youtube] JJJVoiGXzm0: Downloading webpage
[youtube] JJJVoiGXzm0: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] JJJVoiGXzm0: Downloading 1 format(s): 313+251
[download] Downloading item 11 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=yu9XxF3zDnY
[youtube] yu9XxF3zDnY: Downloading webpage
[youtube] yu9XxF3zDnY: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] yu9XxF3zDnY: Downloading 1 format(s): 248+251
[download] Downloading item 12 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=uS2tlYnEVeE
[youtube] uS2tlYnEVeE: Downloading webpage
[youtube] uS2tlYnEVeE: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] uS2tlYnEVeE: Downloading 1 format(s): 248+251
[download] Downloading item 13 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=m0_kIkodrds
[youtube] m0_kIkodrds: Downloading webpage
[youtube] m0_kIkodrds: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] m0_kIkodrds: Downloading 1 format(s): 248+251
[download] Downloading item 14 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=hyGGB_4tTvM
[youtube] hyGGB_4tTvM: Downloading webpage
[youtube] hyGGB_4tTvM: Downloading android player API JSON
[debug] Loading youtube-nsig.e5f6cbd5 from cache
[debug] [youtube] Decrypted nsig XKi0FB67PxaEB7vXY => V23eOlqjfyegIQ
[debug] [youtube] Extracting signature function js_e5f6cbd5_102
[debug] Loading youtube-sigfuncs.js_e5f6cbd5_102 from cache
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] hyGGB_4tTvM: Downloading 1 format(s): 303+251
[download] Downloading item 15 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=WyrjeRtSi-o
[youtube] WyrjeRtSi-o: Downloading webpage
[youtube] WyrjeRtSi-o: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] WyrjeRtSi-o: Downloading 1 format(s): 248+251
[download] Downloading item 16 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=1s_lpkO1T1k
[youtube] 1s_lpkO1T1k: Downloading webpage
[youtube] 1s_lpkO1T1k: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 1s_lpkO1T1k: Downloading 1 format(s): 248+251
[download] Downloading item 17 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=BGUIkmUgJsE
[youtube] BGUIkmUgJsE: Downloading webpage
[youtube] BGUIkmUgJsE: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] BGUIkmUgJsE: Downloading 1 format(s): 248+251
[download] Downloading item 18 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=0YwuEoRI6fs
[youtube] 0YwuEoRI6fs: Downloading webpage
[youtube] 0YwuEoRI6fs: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 0YwuEoRI6fs: Downloading 1 format(s): 244+251
[download] Downloading item 19 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=EBL6JDtoTQA
[youtube] EBL6JDtoTQA: Downloading webpage
[youtube] EBL6JDtoTQA: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] EBL6JDtoTQA: Downloading 1 format(s): 248+251
[download] Downloading item 20 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=speFGKGI9xw
[youtube] speFGKGI9xw: Downloading webpage
[youtube] speFGKGI9xw: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] speFGKGI9xw: Downloading 1 format(s): 248+251
[download] Downloading item 21 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=Nwzy4ZqcY8Y
[youtube] Nwzy4ZqcY8Y: Downloading webpage
[youtube] Nwzy4ZqcY8Y: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] Nwzy4ZqcY8Y: Downloading 1 format(s): 248+251
[download] Downloading item 22 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=-3P2USPFDcE
[youtube] -3P2USPFDcE: Downloading webpage
[youtube] -3P2USPFDcE: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] -3P2USPFDcE: Downloading 1 format(s): 248+251
[download] Downloading item 23 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=qT-ug3Gldmw
[youtube] qT-ug3Gldmw: Downloading webpage
[youtube] qT-ug3Gldmw: Downloading android player API JSON
[youtube] qT-ug3Gldmw: Downloading MPD manifest
[youtube] qT-ug3Gldmw: Downloading MPD manifest
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] qT-ug3Gldmw: Downloading 1 format(s): 302+251
[download] Downloading item 24 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=sRxkKikwsKI
[youtube] sRxkKikwsKI: Downloading webpage
[youtube] sRxkKikwsKI: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] sRxkKikwsKI: Downloading 1 format(s): 248+251
[download] Downloading item 25 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=9K-y37DfrIA
[youtube] 9K-y37DfrIA: Downloading webpage
[youtube] 9K-y37DfrIA: Downloading android player API JSON
[debug] Loading youtube-nsig.e5f6cbd5 from cache
[debug] [youtube] Decrypted nsig 5s-mPeJj8bm7uJPWP => 6_gdY5ntKsq9mg
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 9K-y37DfrIA: Downloading 1 format(s): 303+251
[download] Downloading item 26 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=pAAqrqg7NiU
[youtube] pAAqrqg7NiU: Downloading webpage
[youtube] pAAqrqg7NiU: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] pAAqrqg7NiU: Downloading 1 format(s): 248+251
[download] Downloading item 27 of 27
[youtube] Extracting URL: https://www.youtube.com/watch?v=jGzHFJZKyws
[youtube] jGzHFJZKyws: Downloading webpage
[youtube] jGzHFJZKyws: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] jGzHFJZKyws: Downloading 1 format(s): 248+251
[download] Finished downloading playlist: 12543760

The playlist extractor currently tries to determine the number of pages by searching the webpage html for a <li> tag with a class of pagination-next, which no longer exists, so then the extractor assumes it's only a 1 page playlist.
The playlists lazy load in a browser with javascript enabled, which is done with ajax calls for the next page of html. Page source still contains the paginated links, we just aren't able to know the total number of pages in advance anymore:
            <p class="show-more">
                <a
                    href="/user/naamloos1/playlists/12543760?page=2"
                    data-show-more-link
                    data-show-more-loading-copy="Loading more"
                >Show more</a>
            </p>


Event when item was selected

Hello!
Is there a possibility to fire an event when an item was chosen by user?
Also, thanks a lot for this awesome library. It is really helpful for CEF versions without  tag support.

Thanks for your feedback.

You can use 'change' event listener. It would be triggered when user choose item.

/** in vanilla javascript */
document.querySelector('#sample-select').addEventListener('change', function() {
  console.log(this.value);
});

/** in jquery */
$('#sample-select').change(function() {
  console.log(this.value);
});

Thanks for your feedback.

You can use 'change' event listener. It would be triggered when user choose item.

/** in vanilla javascript */
document.querySelector('#sample-select').addEventListener('change', function() {
  console.log(this.value);
});

/** in jquery */
$('#sample-select').change(function() {
  console.log(this.value);
});

Nice to know that, thanks a lot :з

Nice to know that, thanks a lot :з


add GMST estimate for FaIR

[x] Tests added
[x] Documentation added
[x] Example added (in the documentation, to an existing notebook, or in a new notebook)
[x] Description in CHANGELOG.rst added (single line such as: (`#XX <https://github.com/openscm/openscm-runner/pull/XX>`_) Added feature which does something)
[x] Confirm correct variable name to use for GMST

I have just called this "Surface Temperature (GMST)" for now.


Toolbar button to add a task list

There should be a toolbar button to add a task list.
# Groceries
- [ ] Apples
- [x] Bananas
- [ ] Oranges

FontAwesome icon: fa-tasks
https://fontawesome.com/v5/icons/tasks?s=solid

This should be easy enough using the existing list code, just a few extra characters.


operator mongodb-atlas-kubernetes (1.9.1)

Thanks submitting your Operator. Please check below list before you create your Pull Request.
New Submissions

[ ] Are you familiar with our contribution guidelines?
[ ] Have you packaged and deployed your Operator for Operator Framework?

[ ] Have you tested your Operator in all supported installation modes?
[ ] Have you considered whether you want use semantic versioning order?
[ ] Is your submission signed?
[ ] Is operator icon set?

Updates to existing Operators

[X] Did you create a ci.yaml file according to the update instructions?
[X] Is your new CSV pointing to the previous version with the replaces property if you chose replaces-mode via the updateGraph property in ci.yaml?
[X] Is your new CSV referenced in the appropriate channel defined in the package.yaml or annotations.yaml ?
[X] Have you tested an update to your Operator when deployed via OLM?
[X] Is your submission signed?

Your submission should not

[ ] Modify more than one operator
[ ] Modify an Operator you don't own
[ ] Rename an operator - please remove and add with a different name instead
[ ] Modify any files outside the above mentioned folders
[ ] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[ ] Description about the managed Application and where to find more information
[ ] Features and capabilities of your Operator and how to use it
[ ] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[ ] Human readable name and 1-liner description about your Operator
[ ] Valid category name1
[ ] One of the pre-defined capability levels2
[ ] Links to the maintainer, source code and documentation
[ ] Example templates for all Custom Resource Definitions intended to be used
[ ] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

/merge possible

/merge possible

/merge possible

/merge possible

@mporrato & @haripate  is there anything else needed here before it can be merged?

ping

@Allda @mporrato can you please merge this PR? Thanks in advance!

/merge possible


Brainstorm new titles and descriptions for items and oils based on the icon

Started working on this in this google sheet:
https://docs.google.com/spreadsheets/d/1GzsSddZCpvstKTwQKm7hLkG3Sp_-FaKfIeu030uXVos/edit?usp=sharing

Duplicate of #189