AuraRouter custom failed route rules responses

Currently, there are 3 predefined responses when the AuraRouter fails to match: (1) the Aura\Router\Rule\Allows returns a 405 response; (2) the Aura\Router\Rule\Accepts returns a 406 response; and (3), by default, every other failed rule returns a 404 response. However, consider the following case:

A custom Aura Route is developed to tell between routes that allow anonymous access and routes that don't. For example, the new route could implement a new "disallowAnonymous()" method to set this route attribute to false (i.e. /admin dir).
A custom Aura Rule is developed for handling authentication. An authentication service is injected via the rule's constructor (i.e. Zend\Authentication\AuthenticationService). The custom rule checks for $route->anonymous and uses the authentication service to tell whether or not the user is authenticated. If the user is not authenticated, the rule will return false.
Currently, there is no way to "catch" this custom rule failure. For example, one could think of implementing the following response:

return $response->withStatus(401)->withHeader('Location', '/login');
The proposed changes, even though a proof of concept, allows injecting your own responses for each failed rule. To take into account backwards compatibility, the proposed solution adds the 'Aura\Router\Rule\Allows' and the 'Aura\Router\Rule\Accepts' by default. This will allow for more flexibility when using the AuraRouter middleware component.

To handle the http error codes, there's the ErrorHandler middleware. For example:
use Psr7Middlewares\Middleware;

$middleware = [
    Middleware::errorHandler(function ($request, $response) {
         if ($response->getStatusCode() == 401) {
              return $response->withHeader('Location', '/login');
         }
        echo "There's an error!"
    }),
    Middleware::auraRouter($router)
];

This allows to separate the router and the error handler and allow, for example, that an existing route can return a 404 response, (example: the id is not found in the database: /articles/123) but manage the error in the same place than if the route is not found by the router.

I agree with your solution, partially. It is true that a 401 error could by handled by ErrorHandler, but you wouldn't be able to trace the error back to the Aura Rule. What there was an ACL service that also returned a 401 response or anything of the sort? Customizing the response for each failed rule could still prove very valuable (i.e. for adding some kind of attribute to the request that could be used by the ErrorHandler).
Still, this is just an example. What I was trying to prove is that the AuraRouter middleware should provide some kind of mechanism to allow processing failed custom rules (or even the native ones). From my standpoint, adding this functionality would only make the AuraRouter middleware more flexible. Why stick to the current switch ($failedRoute->failedRule) { statement when the behavior could be handled by the developer without having to rewrite the middleware?

The problem is that there's several middleware components that can generate errors:

BasicAuthentication
DigestAuthentication
BlockSpan
Cors
Csrf
Firewall
Honeypot
JsonSchema
MethodOverride
Payload
ReadResponse
Any router (AuraRouter, FastRoute, LeagueRouter)
Etc...

What you're proposing is allow to control the specific errors of AuraRouter but what about the other errors returned by any other middleware (or route controller?). Should we allow to pass an errorHandler to all these middlewares too? I think is a bad idea.

Customizing the response for each failed rule could still prove very valuable (i.e. for adding some kind of attribute to the request that could be used by the ErrorHandler).

This is not possible. The ErrorHandler cannot recover the request of the inner middleware that generate the error (the nested middlewares return the response, not the request).
To have any information about the error responses, I can think of the following solutions:

Create specific error response classes. Example:

//In the controller:
if ($user->notAllowed()) {
    return new AclNotAllowedResponse();
}

//In the error handler
if ($response instanceof AclNotAllowedResponse) {
    //do stuff
}

Use http headers

//In the controller:
if ($user->notAllowed()) {
    return (new Response())->withHeader('X-Error-Type', 'acl-not-allowed');
}

//In the error handler
if ($response->getHeaderLine('X-Error-Type') === 'acl-not-allowed') {
    //do stuff
}

Customizing the response for each failed rule could still prove very valuable (i.e. for adding some kind of attribute ~to the request~ that could be used by the ErrorHandler).

True, my mistake.
As for the rest, even though I respect your approach regarding the specific examples of authentication and authorization, the commit's intention was to embed in the middleware the ability to handle failed rules - whatever their nature - not to handle errors per se. However, the more I think about it the more I realize that there's a very thin line between the two.
Closing!


fix(si-pkg): ensure we always export invariant intrinsics

Some logic errors in recent changes to the import code cause us to export "intrinsic" funcs with different unique ids. Intrinsics should be considered immutable, and should only exist on head. This fixes one part of the problem by ensuring we only ever export the intrinsic as defined in the IntrinsicFuncs module.

bors r+


AutoTopicCreationType partitioned not supported when passing through proxy

Describe the bug
When auto topic creation type is partitioned, the ServerCnx handles get PartitionMetadata by creatiing partitions in fetchPartitionedTopicMetadataCheckAllowAutoCreationAsync.
Proxy has other way to handle that and not support the partitioned topics auto creation because it directly answer the current ZK content and not creates partitions.
Expected behavior
Broker & Proxy should have the same way to handle auto topic creation.
@codelipenghui I finally get what what's wrong! Can you work on fixing it?

@KannarFr Thanks for the reporting. What is the behavior when using Proxy?

@jiazhai BrokerDiscoveryProvider.getPartitionedTopicMetadata describes it.

I'll try to fix it

@rudy2steiner are you working on it? :)

Not yet, i will work on it in next weekend. you can do it  if you are urgent

@rudy2steiner ok it's not urgent.

Would this PR fix this issue also?
https://github.com/apache/pulsar/issues/10449

Would this PR fix this issue also?
#10449

yes


Add the documentation to run RabbitMQ in ipv6 env

Complete the documentation for the issue:
https://github.com/rabbitmq/rabbitmq-server/pull/1982

This PR needs a lot of editing to make sense to a beginner. It also seems to claim that RabbitMQ tries to "bind to an epmd address/port" which is definitely not the case. It connects to the local epmd. I will edit and merge manually.


Using docker.py for having Dynamic inventories in molecule

Issue Type

Feature request

Molecule and Ansible details
ansible 2.5.2

molecule 2.13

Molecule installation method (one of):

pip

Ansible installation method (one of):

pip

Desired Behavior
Trying to retrieve some group_vars and host_vars inside an Ansible Role
zookeeper_servers:

"{{ hostvars[groups['docker-zookeeper'][0]].docker_network_settings.IPAddress }}"
"{{ hostvars[groups['docker-zookeeper'][1]].docker_network_settings.IPAddress }}"
"{{ hostvars[groups['docker-zookeeper'][2]].docker_network_settings.IPAddress }}"

zookeeper_myid: "{{ docker_network_settings.IPAddress.replace('.', '') }}"
Is giving me the following errors:
TASK [ansible-role-zookeeper : Setup the myid file with the last digit of the Ip address] ***
fatal: [ubuntu_xenial0065fccae7c9b5901ed72d1987a498920c71c09e]: FAILED! => {"changed": false, "msg": "AnsibleUndefinedVariable: 'docker_network_settings' is undefined"}
fatal: [ubuntu_trusty0065fccae7c9b5901ed72d1987a498920c71c09e]: FAILED! => {"changed": false, "msg": "AnsibleUndefinedVariable: 'docker_network_settings' is undefined"}

That docker_network_settings variable/fact should be returned by the docker.py Dynamic inventory plugin.
I have this configuration in molecule.yml for having a pre defined inventory with group vars:
provisioner:
name: ansible
config_options:
defaults:
vault_password_file: ${PWD}/molecule/resources/.vault
inventory:
links:
group_vars: ../inventory/group_vars/
So, the question is, where is supposed to be the docker.py and docker.ini  which is the official Ansible Dynamic inventory for Docker.... ?
Following is the link to official Ansible Dynamic Inventory script.....
https://github.com/ansible/ansible/blob/devel/contrib/inventory/docker.py
I would appreciate any help with this... let me know if you need further info !
Thanks so much !
Actual Behaviour (Bug report only)
Please give some details of what is actually happening.
Include a minimum complete verifiable example with
output of running molecule --debug.

Could it be your container needs iproute?  Does this help #836 ?

@retr0h .... thanks for the promptly help... I think that could be my issue... do you know how to install that module to the Container ? I mean.. my containers are both Ubuntu 16 and 14...  is it a apt-get install package ???
Thanks !


update react/http dependency and avoid guzzle entirely.

Upgrading the react/http dependency to version 0.4 (stable) makes a smaller phar by 70KB and allows Sculpin to drop its dependency on Guzzle 3.
react/http was using Guzzle for parsing headers, so now it depends only on the Guzzle PSR-7 component.
This undoes #109 too. Hello again!

This also effectively makes Sculpin require PHP 5.4 and decides #208.

@bangpound I believe @WyriHaximus is going to look into updating the deps now that we've cleared the way for 5.4+ support for Sculpin 2.1.x.

Can the maintainers have a another look at this? In this branch, PHP 5.4 is now required. Thank you!

merged from console with updated lock file


[REEF-415] Fix broken links at reef.incubator.apache.org

This addressed the issue by

fixing links to point to existing pages

JIRA: REEF-415

I will try my luck merging at updating the website.


Is indeed working as expected?

Hi,
For Indeed, when I search for jobs = "Software Engineer" in Malaysia I get these 5 job titles

System and Server Engineer
Product Engineer
Product Reliability Engineer
Software Engineer
Senior Enterprise Technology Engineer

If I search for Dallas, US, I get this

Manager, Software Development & Engineering
Sr. Specialist, Software Development & Engineeing
Senior Software Engineer, Front End
Software Development Engineer III
Senior Principal Firmware Lead Engineer (Onsite)

This seems a bit different from their website, and I would expect more software engineer related roles - any reasons why or is this expected?

put your search term in quotes
jobs = scrape_jobs(
site_name="indeed",
search_term='"software engineer"',
results_wanted=30,
country_indeed="malaysia"
)


Quiz exercises: Refactor Short Answer result handling to fix spots marked as invalid not showing up for students

Checklist
General

[x] This is a small issue that I tested locally and was confirmed by another developer on a test server.
[x] I chose a title conforming to the naming conventions for pull requests.

Motivation and Context
The HTML fragment for invalid answer spots in the student view of short answer quiz questions was incorrectly nested inside an other case and thus could never show up and instead invalid spots would just be missing.
Furthermore the style of result was defined inline instead of in the CSS and the HTML fragments for the various cases were largely duplicate.
Description
The fragments were combined into a single case that is dynamically assigned a class to select the correct appearance.
I changed the background color of invalid spots from gray to lightgray to improve contrast.
Steps for Testing

Prerequisites:

1 Instructor
1 Student
1 Quiz with 2 Short Answer questions

Start the Quiz
Participate as the student
Check the result view to see that the background colors of incorrect, correct and correct by fuzzy matching spots are correct (red, green, orange)
Check the display of the sample solution, both in the result view and the dedicated solution view.
Re-evaluate the quiz after it ended and mark one spot of a question as invalid and the other question as entirely invalid.
Reload the submission overview as the student, the invalid spots should still show up and have gray background and a helpful tooltip.
Re-check the display of the sample solution, both in the result view and the dedicated solution view.

Review Progress

Code Review

[ ] Review 1
[ ] Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Made the whole thing a bigger refactoring to not use inline styles and also handle the whole question being marked as invalid.

@jschmautzer this PR is about Short Answer Questions, but those screen shots are from Multiple Choice Questions. which makes that those issues unrelated to this PR.
also the last screenshot is from https://github.com/ls1intum/Artemis/pull/4822 did you test the correct PR?

Yeah of course, you're right. I've just overread that it is only for "short answer" question (even if it can not be overseen...) I'm sorry.


[mpfr] Fix usage

Fixes https://github.com/microsoft/vcpkg/issues/26290
Add usage file.
Tested usage on x64-windows.

Thank you!


runme: 1.7.1 -> 1.7.2

Diff: https://github.com/stateful/runme/compare/v1.7.1...v1.7.2
Changelog: https://github.com/stateful/runme/releases/tag/v1.7.2
Description of changes

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 248541 run on x86_64-linux 1

1 package built:

runme


added unsafe to join (with tests)

the first instance of the unsafe flag added to join ( which seems the most problematic).
I haven't benchmarked yet (maybe someone wants to do it).
So my main concern now is that I can only skip a few checks, but I still left the "mechanics" of constructing a new tensor and then applying key_to_properties/values.
In particular, I cannot do the trivial thing I wanted, which is constricting a new block with values np.stack(b1.values,b2.values,axis=axis) because then I have to handle the labels, which are not a simple stack since I have to add a new name (tensor )with relative values. Constructing new labels would imply making a loop over samples or properties, which is probably. I couldn't find a better way to do it, rather than leave the key_to_* mechanics.
Another thing: now the code always assumes that the tensors have the same names for samples and properties. I do not know if it is what we want.

Yes, I am also happy if we provide the two API's. Should we do this within this PR or open a new one?

Hey @DavideTisi can you rebase and use the syntax of #254?

since the unsafe gave no speed up i would close this pr


The column order on the 'Column Options' dialog is not changed if changing the column order on the table

Storage Explorer Version: 1.25.0-dev
Build Number: 20220719.8
Branch: main
Platform/OS: Windows 10/Linux Ubuntu 22.04/MacOS Monterey 12.4 (Apple M1 Pro)
Architecture: ia32/x64
How Found: From running test cases
Regression From: Previous release (1.24.3)
Steps to Reproduce

Expand one storage account -> Tables.
Create a table -> Add one entity.
Change the column order -> Click 'Column Options'.
Check whether the column order on the 'Column Options' dialog is changed.

Expected Experience
The column order on the 'Column Options' dialog is changed.

Actual Experience
The column order on the 'Column Options' dialog is not changed.

This was in part due to the fact we don't get notified about column order changes via drag. This can be solved by getting the column order from the data table component and mapping the indices to "column manager indices".

Verified this issue on the build main/20220721.9. Fixed. So, we are going to close it.


Main window is too high up

When starting wxGlade, the main window appears to be located too high up. It is so high up that some of the buttons on the window are not accessible.
My info:
Machine: MacBook Pro 15" (1440x900 resolution)
OS: Mac OS 10.8.5
Python: 2.7
wxPython: <IP_ADDRESS>
wxGlade: 1.0.0a9

Ah, yes, I remember this being reported, but did not yet look into it.
I will do so asap now as I don't add features to 1.0.0 any more.

Please try the master branch. I have just added code to check whether the top edge of the window is visible.

When I first tried the master branch the problem was still present. But when I tried it again the window was perfectly aligned. I opening wxGlade several times and everytime the window was positioned perfectly. So I think this issue is resolved.

When I first tried the master branch the problem was still present. But when I tried it again the window was perfectly aligned. So I tried opening wxGlade several times and every time the window was positioned perfectly. So I think this issue is resolved.

Could you please check your preference setting?
I would think that you have "Remember position and size of wxGlade windows" active.
Please deactivate and re-start and report whether the window is positioned correctly.
I'm still wondering what was the root cause for the wrong position.
Thanks,
Dietmar

I did have it checked. I did as you asked and the window positioned itself correctly.

Thanks a lot.


Test Results Not Matching Output Display

Issue Description
Issue happens upon running test. Check one says:

find([1, 3, 5, 8, 9, 10], function(num) { return num % 2 === 0; }) should return 8.

The preview window after running the test shows 8, yet this is not being counted. I know my code so far isn't the best way to approach this, but I thought it was odd that I returned what it asked for and it didn't acknowledge that. I was wondering if there might be a bug here.
Browser Information
Mozilla Firefox 45.0.1
Windows 7
Your Code
function find(arr, func) {
  var num = arr.filter(func);
  num = num.slice(0,1);
  num = num.join('');
  return num;
}

find([1, 3, 5, 8, 9, 10], function(num) { return num % 2 === 0; });

Screenshot

Please take all coding questions to the Help Room. A hint to your problem is checking the data type of your function output. Happy coding!

This isn't a coding question. This is a discrepancy between the display and results. I am not seeking help with coding at the moment. I'm still trying to solve the problem myself. I'm only pointing out that the results screen shows that 8 is returned but the test that says it should return 8 says otherwise.
To be clear: I am not asking for help on the solution nor am I asking why my code fails to past the test. I am asking how can I test my code if the display is inconsistent with the test?
In other words, if it says "find([1, 3, 5, 8, 9, 10], function(num) { return num % 2 === 0; }) should return 8." and the test says it does not, I need to know what is actually being returned in order to figure out how to fix my code. The only way I know of doing this is to paste in "find([1, 3, 5, 8, 9, 10], function(num) { return num % 2 === 0; })" and see what gets returned. When I do this, it says 8, which is in conflict with what I was just told.
This is why I reported this as a possible bug.

@lmack82 You've returned your answer as a string but it should really be a number.


Add examples to debug!, error!, info!, trace!, warn!

Be sure to cover both methods of invocation as well (both patterns in the macros)

See #155


How to build high-available swarm cluster

Is there a possibility to build high-available swarm cluster with more than one master-node in new docker -engine 1.12? I think '1 master-node + N worker-node' is not a fault-tolerant solution. But there is no information about building multi-master HA configuration in docker documentation

Just follow this guide https://docs.docker.com/engine/swarm/
And joint other nodes as manager. The replication is based on the Raft Consensus just like etcd and Consul.

High availability is described in https://docs.docker.com/engine/swarm/admin_guide/
I'll close this issue because I think the question is answered, but feel free to comment if you think additional information is needed in the documentation


Start rustdoc UI tests when a PR is opened with changes on HTML/CSS/JS

Fixes https://github.com/rust-lang/rust/issues/60033

Seems like nothing is using the new command feature?

What new command feature?

Added the missing commit.


Do cause ClassCastException if registration fails during constructing…

… DnsNameResolver.
Motivation:
We should not try to cast the Channel to a DatagramChannel as this will cause a ClassCastException.
Modifications:

Do not cast
rethrow from constructor if we detect the registration failed.
Add unit test.

Result:
Propagate correct exception.

Found this one while trying to reproduce another problem

@bryce-anderson nope... I just did something stupid and noticed I did not receive the correct error but a CCE

@normanmaurer, cool. I appreciate the attention to detail even if it's not actively causing an issue. 👍
Btw, I think the title of this PR is off, should it be s/Do/Don't ?

@bryce-anderson fixed title... thanks


Fix mobile controls on samsung (?) Devices

@nathan-weinberg
Can you confirm the mobile controls are still wonky on your phone?

@PatrickCleary LGTM, there's still a slight visual tick right when you start scrolling but very much improved!

Oh nice. I don't remember fixing it 😆


Query-Handbrake-Log showing incorrect time

When i run "query-handbrake-log time" (version 5.0) I get a time of 00:00:00 which is clearly incorrect. The other three commands (s, b and r) work correctly. Attached is an example log file.
MIB chapter 11.mkv.txt

@martinpickett The query-handbrake-log tool only works for .log files from complete transcoding sessions when using the time and speed information types. In other words, it won't give valid results for a partial (chapter, time range or frame range) or early-terminated transcoding. I'll add a note to the documentation about that.


Request - generate words starting with letter

Would love to see an option that will generate random words starting with a specific letter (parameter a-z).
Something like
let generateRandomWordStartingWith = wordList.filter(function (word) {
  return word[0].toLowerCase() === 'a';
});

I would like that aswell.

How to work on this issue

Fork this repo into your own account
Make changes to the code - since it is in your account, you could work directly on main, but wouldn't you rather get some Git practice by working on a branch, and then merging to your own main?
Write one or more tests to make sure your feature works
Make sure your code changes don't break any existing tests.
Update the CHANGELOG.md file - since other people might contribute during the same sprint cycle, add your change log message under 'UNRELEASED', not a specific version. We will add the version number when everything is approved and published on npm.
When you are done, return to this repository and create a PR to pull code from your fork. Read more about this here. Make sure to fill out the PR template as best as you can.
Navigate to our Discord server here if you have already joined, or here if you need an invitation and post a message in the open-source contribution channel that you need a PR review.
After (hopefully) a short amount of time, one of our team engineers will review your PR and potentially advise you about things they want to see changed.
If you need to make changes, go back to your local fork, make changes, and contribute those back to the main repo. This will update the PR.
When you are done with changes and want a re-review, ask in Discord once again.
After your PR is accepted, celebrate!!! 🎉

Code suggestions for this issue
If you look at the generateWordWithMaxLength() function, this suggests a way to address this issue. In that function, a random word is generated and then checked against the size the user wants. If that size isn't correct, the function generates another. Not the most elegant, maybe, but very straightforward.
One edge case you need to worry about is if there aren't any words starting with that letter or if the user wants ten words starting with z and there are only four. Right now, there aren't any guardrails in place because the other options can almost always be fulfilled. Suggesting how you would take care of this either here on the issue or in the Discord would be great to get feedback and make sure you are on a good track.
Finally, please make use of the Discord to ask questions. Try to answer the questions yourself using internet resources, but don't be afraid to ask questions on the Discord about anything. We are here to help!

I can do a pull request, but the gist of my change would be:
  function generateRandomWordStartingWith(startingLetter){
    const filteredList = wordList.filter(word => word.startsWith(startingLetter));
    return filteredList[randInt(filteredList.length)];
  }

Notes on code suggestions:

unlike generateWordWithMaxLength,  we can quickly figure out the start of each word in our wordList. and whether they would be a valid pick or not.
the case where there aren't any words starting with that letter (e.g: ñ) is to be considered. The easiest solution is to return an empty list, but other alternatives do exist.
the library already outputs the same word more than once occasionally
(words({exactly: 3}) can already give as an output ["might", "might", "rubbed"] which has repeated words)
so having only 4 words that start with z while the user wants 10 will repeat words, as asking for 3000 words regularly would (there are 1952 words in the wordList)

Let me know if it's better if we talk about this on discord or on an actual PR. Thanks for working on this awesome library btw
:D

Hi @ldd
"Let me know if it's better if we talk about this on discord or on an actual PR. " Why can't we do both!?😀
So a PR for this would be great. Overall, it seems like a good approach - how are you going to trigger the function?
What do you suggest for handling something like ñ?
I think the repeated words will work just fine.
Cheers,
Bob

Is this issue still open? Can I attempt it?

I haven't heard anything from @Idd since the last message, so I guess they are not going to work on it. Read the notes and give it a try! Let me know in our Discord or here when you need a code review.

Are the users supposed to specify the amount of words to be generated along with the starting letter? Or should I print all the letters starting with the specified letter?

This would be an add-on option. So a user should be able to specify that they want 5 words all starting with 'a', for example. But, they should also be able to leave off how many need to be returned if they only want one.
I don't know the current library coverage, so you will also have to deal with there not being any words that fit the criteria in the library.

Hi @BoDonkey , here's the link to index.js file of my attempt at the issue:  https://github.com/Suyash699/random-words/blob/main/index.js

Hi @Suyash699, Thanks for trying this! At first glance, your function to filter the words looks reasonable. Although I would say that charAt(0) is likely more efficient. The only thing is, what if the user wants 3 words, each 6 letters, that start with 'c'? Your code needs to take this into account. Right now it looks like you are returning every word that starts with that letter in the dictionary.
The other thing that I'm not sure about is this line: if(options[0].toLowerCase>= "a" && options[0].toLowerCase<= "z") What are you trying to test here? What do you expect options[0] to return?
Cheers,
Bob

@Suyash699 - Check out how the other options in the repo work. Basically, the user is passing parameters to the main function. Those parameters dictate what will be returned to the user. For example, if the user makes a request like randomWords(5) then they will get back five random words from the dictionary. You can look through the tests and the README.md to learn a little more. Looking at the index.js file, at around line 2013 there is a conditional that says
if(options === undefined) {
  return word();
}

That conditional is looking at whether the user passed any arguments. If they didn't then return a single random word. You need to fashion your code in a similar way. You need to change what is returned to the user after checking if the option you designate is there and has a certain value. Take a look at the word() method. It keeps generating words until it has one that is the rightSize. You could do the same - keep generating new words until it has one with the correct first letter. However, you have to make sure that if there aren't any words that start with a particular letter that match the other parameters, like word length, the program doesn't try forever. Make sense?
Cheers,
Bob

Hi @BoDonkey , I have raised a PR - https://github.com/apostrophecms/random-words/pull/42
And Need a PR Review.

Hey @BoDonkey,
I have been playing around with this module for a while now & I have a few questions:

Do we want to get words by just matching the first letter and not a multi-letter prefix subsequence? (This comment indicates YES, although it's never harmful to re-affirm)

I gather from this comment that we want to be able to gather the exact amount of words for the criteria mentioned in the options object (minLength, maxLength, join, formatter, etc). Do you know if we need that functionality in this ticket itself or was it an open discussion and nothing was fixed yet?

Is throwing an error to escape the while loop the way to go(ref: https://github.com/apostrophecms/random-words/pull/42/files#r1303500077) or can I just put a regex check over characters like 'ñ' to see if they are valid English alphabet? If not, I could just break the while loop.

Hi @bhaveshittadwar,
Thanks for digging into this.
1 ) Yes, we want the user to be able to pass a key like startsWith: 'a' within the options object.
2) This new functionality should merge with the existing functionality. So, the user should be able to pass { minLength: 5, maxLength: 10, startsWith: 'c' }. You can check out the readme and the tests for the current options that are working.
3) As you saw in that code review, @boutell had concerns about the loop in general. While using a break to exit the while isn't bad, I would try to refactor to not have to either break or throw an error. As was said in that comment, it would be good to check if minLength, maxLength, and startsWith can all be satisfied out side of the possibility of an endless loop. You can then perform an early empty return if any can't be. I'm loath to throw an error. It would be up to the library user to check for an empty string and treat it accordingly.
There should be tests for any of those three returning early.
Does this all make sense?

@BoDonkey I see there is a stale #42. Mind if I submit an alternative?

@UnKnoWn-Consortium PRs always welcome! Thanks.


~hint の USAGE が ~contest

~hint --random の結果
got:
error: The following required arguments were not provided:
    <number>

USAGE:
    contest <number> --random

For more information try --help

expected:

error: The following required arguments were not provided:

USAGE:
hint  --random
For more information try --help

fixed: a547f9f


fix: use nuxt add component util for toaster

This allows <Toaster /> component types to be available, and the Toaster component will only be loaded if it is actually imported. Thanks!

@xiaoluoboding Thanks for merging this so quickly! Also wanted to note here that in order to force the component to be client-only, you can also pass a mode to addComponent that forces it like you can with addPlugin:
addComponent({
  name: 'Toaster',
  export: 'Toaster',
  filePath: 'vue-sonner'
  mode: 'client', // <- mode here
})

This may be easier and cleaner than needing to add a <ClientOnly> wrapper around it!


Applying LLM2Vec to DictaLM

In order to apply LLM2Vec to DictaLM we need:

[ ] Identify base model - https://huggingface.co/collections/dicta-il/dicta-lm-20-collection-661bbda397df671e4a430c27
[ ] Prepare dataset for MNTP training - https://mboyanov.github.io/2024/08/31/BiMNTP.html
[ ] Create a json configuration:

https://towardsdatascience.com/turn-llama-3-into-an-embedding-model-with-llm2vec-8448005f99aa
https://github.com/mboyanov/bg2vec/blob/master/model_configurations/bggpt-7b.json

[ ] Run the run_mntp script against the model and configuration file (see resources above)

https://github.com/mboyanov/bg2vec/blob/master/1. Bi-MNTP Training.ipynb

[ ] Test new model created
[ ] Finetune using unsupervised contrastive learning - https://mboyanov.github.io/2024/09/11/SimCSE.html

Looking at the paper (section 2.2, "models"), at their hugging-face and code seems like the technique was applied on chat/instruct models:

Llama-2-7B-chat
Mistral-7B-Instruct-v0.2
Meta-Llama-3-8B-Instruct
Qwen/Qwen2-7B-Instruct

Hence, a reasonable assumption will be to use the instruct version of DictaLM - https://huggingface.co/dicta-il/dictalm2.0-instruct

Data
As the paper states (section 2.2, "Training data"):

We perform both the MNTP and the unsupervised SimCSE step using data
from English Wikipedia. We select data from Wikipedia as it is presumably included in the
pre-training mixture of all the models we experiment with. It is therefore fair to assume that
these two adaptation steps are not teaching the model any new knowledge beyond how to
attend to future tokens and how to construct sequence representations

Hence, it's reasonable to use data that the model already seen in training.

https://github.com/NNLP-IL/Hebrew-Resources/blob/master/corpora_and_data_resources.rst
https://resources.nnlp-il.mafat.ai/

Applying bidirectional encoding
LLM2Vec has modified architecture for 4 models only:

llama
gemma
mistral
qwen

Hopefully, DictaLM2.0 is a fine-tuned version of one of the model mentioned above and then the scripts will work "out-of-the-box".
As the paper states:

We chose to initialize our model from the Mistral-7B-v0.1 checkpoint

Indeed, we can check what is the model underlying architecture:
from transformers import AutoConfig
from experiments.run_mntp import get_model_class

def main():
    config = AutoConfig.from_pretrained(
        "dicta-il/dictalm2.0-instruct"
    )
    model_class = get_model_class(config)
    print(model_class)

if __name__ == "__main__":
    main()

>> MistralConfig
>> <class 'llm2vec.models.bidirectional_mistral.MistralBiForMNTP'>

A note regarding SimSCE data:
The original paper used: Wiki1M, see - https://huggingface.co/datasets/princeton-nlp/datasets-for-simcse/viewer/default/train?p=2&row=208
Note that the sentences are relatively short!(see distribution and sample), and that's opposed to the data they've used for training for MNTP (https://huggingface.co/datasets/Salesforce/wikitext?row=47) which is reasonable as anyway we want to use relatively short sentences and we anyway have a limitation on the input size


root CA certificate DST Root CA X3 will be expired in -650 days

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

Description
root CA certificate DST Root CA X3 will be expired in -650 days sending for sites on Tilda with Let's Encrypt
👟 Reproduction steps
sending for sites on Tilda with Let's Encrypt via telegram
👀 Expected behavior
This is bug.
😓 Actual Behavior
i don;t know
🐻 Uptime-Kuma Version
1.22.1
💻 Operating System and Arch
Ubuntu 20.04 x64
🌐 Browser
Chrome lastest
🐋 Docker Version
No response
🟩 NodeJS Version
No response
📝 Relevant log output
No response

I think this is a duplicate of https://github.com/louislam/uptime-kuma/issues/3323
If you agree, could you please close this Issue, as duplicates only create immortal zombies and are really hard to issue-manage?
If not, what makes this issue unique enough to require an additional issue? ^^

@chakflying Totally agree, if I know AI, I definitely would make this GitHub action to help me to close these issue. Sadly, I can't.

If I know AI, I definitely would make this GitHub action to help me to close these issues.

@louislam
I am not convinced that that would be a thing which could be solvable with AI. (context+reasoning like what, I assume, is required is nothing research has produced until now, afaik)
I do see a few solutions, though:

For this type of duplicate (near 1:1 duplicate) there are actions out there: https://github.com/MarshallOfSound/probot-issue-duplicate-detection which, going by the code, produce a match based on the title of an issue
In general, I think a revamp of how issues are closed if they are duplicates is needed.
I know that going by https://github.com/louislam/uptime-kuma/pull/1349#issuecomment-1094242302 you would like this to be a small hobby project, but given how many issues are created daily, a step into the community moderation route could be a healthy choice.
What do you think about these options:

GitHub-discussions instead of help-issues:
I think that giving https://github.com/louislam/uptime-kuma/issues/92 another try could be worth it.
Other projects of similar scale use these discussions and allow a sort of interaction "Look at what I have build" or helping new contrubuters find the courage to get started. See https://github.com/meilisearch/meilisearch/discussions for what I mean.
The main reason why I think that this schould be reconsidered is that I think this project is at a point where issue management lying solely your shoulders is unmanagable from an effort perspective.

Community moderation via direct nomination:
Another approach would be to allow select people you trust (for example @chakflying ) the ability to close issues for you.
GitHub has the Triage tier for this in the project settings under Collaboration and Teams.

If you are concearned, rules can be introduced like:

"Only close issue for clear duplicates"
"If unshure, mark as likely-duplicate, comment I think this issue is a duplicate of #xxx ... and wait at least 2 Weeks for an answer"

The advantge of this approach would be that these people could also add tags to issues => making searching easier and maybe reducing duplicates this way.

Community moderation via Issue-voting:
Same as the last point, but requireing less trust is this point, we could allow a group of trusted/active members to review Pull requests and comment commands like !vote duplicate #XXX,#XXY.
Such a command could trigger a comment would trigger a comment by a github action requesting a votum of other members or a comment by the author why this is a distinct issue (specifics of such a message would need to be discussed further)
If a specifed ammount of people on the community moderation team agree, the issue could be closed.

Duplicate nomination:
The abiltiy for everybody to comment !vote duplicate #XXX which adds a proposed-as-duplicate
Automatically leaving a comment might also be advantageous to explain the process to users.
=> You can review them when you like by just using a filter

=> I think a process on how to handle issue duplicates would be healthy for the project, what do you think about these proposals?

This is actually a bug, the Let’s Encrypt X3 certificate has indeed expired but that is actually correct.
https://letsencrypt.org/2020/12/21/extending-android-compatibility.html
“DST Root CA X3 will expire on September 30, 2021. That means those older devices that don’t trust ISRG Root X1 will start getting certificate warnings when visiting sites that use Let’s Encrypt certificates. There’s one important exception: older Android devices that don’t trust ISRG Root X1 will continue to work with Let’s Encrypt, thanks to a special cross-sign from DST Root CA X3 that extends past that root’s expiration. This exception only works for Android.”
Although I don’t fully understand how this works I believe there are actually two CA certificates, one of which has expired, but Uptime Kuma should ignore this expired CA certificate.
All my properly working Let’s Encrypt certificates now have “expired” CA certificates.


Stricter conditions for beforeSave lookup functionality

Codecov Report

Merging #528 into master will decrease coverage by 0.03%.
The diff coverage is 18.6%.

@@             Coverage Diff              @@
##             master     #528      +/-   ##
============================================
- Coverage     28.28%   28.25%   -0.04%
- Complexity      943      952       +9
============================================
  Files            85       85
  Lines          3221     3246      +25
============================================
+ Hits            911      917       +6
- Misses         2310     2329      +19

Impacted Files
Coverage Δ
Complexity Δ

src/Event/Model/LookupListener.php
39.06% <18.6%> (-9.66%)
27 <14> (+9)

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 4749c4c...373f025. Read the comment docs.


Character import button is not working

The button next to the character name isn't reacting to anything. It will light up when i click it but it won't go to the dnd beyond character import options that contains the URL input and what not.

Hi, that’s not part of my mod. That sounds like the vtta dndbeyond module?

On Jun 8, 2021, at 10:31 AM, BigBreadBih @.***> wrote:

The button next to the character name isn't reacting to anything. It will light up when i click it but it won't go to the dnd beyond character import options that contains the URL input and what not.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


feat: add new bucket input variables

Description
add new bucket inputs:

force_delete
single_site_location
hard_quota

Release required?

[ ] No release
[ ] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

/run pipeline

/run pipeline

blocked by https://github.com/IBM-Cloud/terraform-provider-ibm/issues/5064

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

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

GitHub release
v7.3.0

Your semantic-release bot :package::rocket:


Title in alert

Running $cordovaDialogs.confirm('Coming soon...', 'Upcomming feature', 'Ok'); I get an alert with the title "Index.html" in iOS.
Any ideas on how to fix this ?

Can you link me to a reproducible example, either a codepen or a github repo?


refactor(tests): Make Integration tests dynamic and Json Snapshot Based.

Created organization - RavenIntegrationTests. It will contain only the repositories we want to test.
Refactor the way we test integrations.
We will have a snapshot json file under tests/integration/structures_json/  of the neo4j structure.
To test all the relationships and node properties as expected, we will convert graph objects to json structure using utilities I've added and compare it to the snapshot object.
It will assert every node/relationship remains the same.
This allows us to scale up our tests, and to test complex scenarios with no effort.
This is an example of snapshot file
{
    "nodes": [{
        "path": "actions/checkout",
        "using": "node20",
        "inputs": ["repository", "ref", "token", "ssh-key", "ssh-known-hosts", "ssh-strict", "persist-credentials", "path", "clean", "filter", "sparse-checkout", "sparse-checkout-cone-mode", "fetch-depth", "fetch-tags", "show-progress", "lfs", "submodules", "set-safe-directory", "github-server-url"],
        "name": "Checkout",
        "is_public": true,
        "_id": "d35e7df441120da9624b8c11e36151be",
        "url": "https://github.com/actions/checkout/tree/main/action.yml",
        "labels": ["CompositeAction"]
    },
],
    "relationships": [{
        "start_node": "83b34c58d9a3220059a67e3671ff97f2",
        "type": "ACTION",
        "end_node": "d35e7df441120da9624b8c11e36151be"
    },
 ]
}

@alex-ilgayev  @elad-pticha  - Check out new integration_consts.py structure.
The test_graph_structures.py file is set up to have a single, generic test that can be used across various integration tests.
Alternatively, we could break down the configuration dictionaries and include each specific configuration in its corresponding JSON structure file. This way, the configuration for a given test would be retrieved directly from its associated JSON file.


Move the data collector should_be_enabled? check

This works better as part of the module that handles all the config
wrangling.  It isn't central to the data_collector operation itself.
Signed-off-by: Lamont Granquist<EMAIL_ADDRESS>

Makes a lot more sense there


the drop down list not working in the template for mvc spring

hello , first thanks for your template it great , I have some problem in template when i run it in mvc spring , the drop down list not work , i run the page index.html in production folder evrey think work fine excepted the drop down list , for example when i click on the drop own list nothing happen no drop down list appaer , i add all css and js whice include in index.html but still when i click on the drop own list nothing happen
this is the code that i talke about it

--
  |

  |
General

  |

  |
Home
  |

  |
Dashboard

  |
Dashboard2

  |
Dashboard3

  |

  |

can help what the wrong ?

@AndreiCN  can help ?

Your problem seems to be from JS , do you have any errors or so ?

ok thanks I solves it , the problem was in JS I edit it and it work fine

Can you tell me please, How solved the issue?


Should we allow/prevent user to set DebugPort as environment variable?

[kind/bug]

What versions of software are you using?

I set the DebugPort using environment variable approach (odo config set --env) but tried to unset it using normal approach (odo config unset DebugPort) and was left confused why it's not getting unset.

odo config set -e DebugPort 9090
odo config unset DebugPort

Actual behavior
Not really a bug but as a user I was wondering if this is a bug.
Expected behavior
TBD
Any logs, error output, etc?
In this case, it was my mistake to set DebugPort as env var and then unset it using odo config unset. Should we have a check or documentation or anything to prevent user from doing this or should this be just passed as user error?
It seems more like user error to me than anything that tool should be worried about.

We have a separate module on setting / unsetting variables now which users can refer to: https://github.com/openshift/openshift-docs/pull/18478

@dharmit a separate module on setting / unsetting variables is documented by Yana here: https://docs.openshift.com/container-platform/4.2/cli_reference/openshift_developer_cli/managing-environment-variables-in-odo.html
Do you think we can close this issue?

In it's current state, the link you mentioned talks about environment variables in general. We're discussing about a particular environment variable (DebugPort) which, IMO, could cause confusion if we don't document it.

@dharmit documentation on the debug feature was covered through this PR: https://github.com/openshift/openshift-docs/pull/19750 can you confirm if we can close this issue, please?

Looks good to me. Thanks for addressing this @boczkowska & @Preeticp !


Losses cannot be converged

when i train the dekr on coco,the loss  cannot be converged,as shown in the picture below:

What is the cause of this?


[YUNIKORN-2420] Shim: create reproducible binaries

What is this PR for?
Ensure that binaries produced in the shim use consistent build ID and build date so that builds are reproducible.
The git commit timestamp is used (if possible) for the build date, and cached in the build.date file so that it can be included in release tarballs. The go-generated build ID is set to an empty string.
What type of PR is it?

[ ] - Bug Fix
[ ] - Improvement
[ ] - Feature
[ ] - Documentation
[ ] - Hot Fix
[ ] - Refactoring

Todos

[x] - Task

What is the Jira issue?
https://issues.apache.org/jira/browse/YUNIKORN-2420
How should this be tested?
Verified identical build output when generating linux/arm64 binaries from the following platforms:

linux/amd64
linux/arm64
macos/amd64
macos/arm64

For all 4 platforms (using HOST_ARCH=arm64 and go 1.21.7), the output is as follows:
$ sha512sum build/bin/*
4c53b142ebe0661a01ca7ac873f6e12e8552ad63360d218b369022192c1f0bc96638c9e8990560b970614579e41489eeba45042b1e681f753e7b036000450ce0  build/bin/yunikorn-admission-controller
477255b81456c6abd0fb2dd45012015c393b25264a7d71e089a61d77f4b59135924126859a81ba07a7f2da26f96c12cef273f4f584b75eb80973a8347b76234b  build/bin/yunikorn-scheduler
26a4dcd0f810e10b4f008ce578c108805e4fae0b9930748a692a97978b7603c51a5809f54f96e198b7c9c562e2fb262c6d172a685dcc71c633711be384379ef5  build/bin/yunikorn-scheduler-plugin

Screenshots (if appropriate)
Questions:

[ ] - The licenses files need update.
[ ] - There is breaking changes for older versions.
[ ] - It needs documentation.

one question: the vocabulary used by the label is BuildTimeStamp, and it seems to me it should be equal to the "time" of running the build. Should we pick up other more suitable vocabulary for label?

I think it's best to keep it as is for backwards compatibility. Logically, it's still the best timestamp associated with the build -- it's just that it will reflect the date of the latest commit (or if you like, the earliest possible build timestamp).


Add VPR scoring to findings.csv

💡 Summary
Add VPR scoring to findings.csv for ad-hoc alerts and main VS reports
Motivation and context
The stakeholder needs to be aware of the VPR score.
Implementation notes
Add VPR column to findings.csv
Acceptance criteria

[ ] New VPR column added to findings.csv file in ad-hoc report
[ ] New VPR column added to findings.csv file in main VS report

@jeffkause is this issue good to close?

Changes have been verified.


[karma-server]: UncaughtException:: file.detectType is not a function

Running karma server tests with bazel returns: [karma-server]: UncaughtException:: file.detectType is not a function.
Expected behaviour - karma 5.0.6
When running tests using bazel they should pass without returning any errors.
INFO: Analyzed 2 targets (0 packages loaded, 0 targets configured).
INFO: Found 2 test targets...
INFO: From Extracting ../org_chromium_chromium/file/chrome-win.zip:
INFO: Elapsed time: 14.348s, Critical Path: 11.00s
INFO: 4 processes: 3 local, 1 worker.
INFO: Build completed successfully, 4 total actions
//libs/ui/button:unit_tests_firefox-local                                PASSED in 0.4s
//libs/ui/button:unit_tests_chromium-local                               PASSED in 4.7s

Actual behaviour - karma 5.1.0
When running the tests with bazel an error is returned.

02 07 2020 13:08:20.067:INFO [karma-server]: Karma v5.1.0 server started at http://<IP_ADDRESS>:9876/
02 07 2020 13:08:20.077:INFO [launcher]: Launching browsers ChromeHeadless with concurrency unlimited
02 07 2020 13:08:20.080:INFO [launcher]: Starting browser ChromeHeadless
02 07 2020 13:08:21.151:INFO [Chrome Headless 76.0.3809.0 (Windows 10)]: Connected on socket rFmqendtFxCD0ToIAAAA with id 82687778
02 07 2020 13:08:21.306:ERROR [karma-server]: UncaughtException:: file.detectType is not a function
02 07 2020 13:08:21.307:ERROR [karma-server]: TypeError: file.detectType is not a function
    at C:\users\marley.powell\_bazel_marley.powell\ysuom6yx\external\npm\node_modules\karma\lib\middleware\karma.js:165:48
    at C:\users\marley.powell\_bazel_marley.powell\ysuom6yx\external\npm\node_modules\karma\lib\middleware\common.js:77:36
    at C:\users\marley.powell\_bazel_marley.powell\ysuom6yx\external\npm\node_modules\karma\node_modules\graceful-fs\graceful-fs.js:123:16
    at FSReqCallback.readFileAfterClose [as oncomplete] (internal/fs/read_file_context.js:61:3)
================================================================================
INFO: Elapsed time: 341.598s, Critical Path: 28.04s
INFO: 13 processes: 8 local, 5 worker.
INFO: Build completed, 1 test FAILED, 55 total actions
//libs/ui/button:unit_tests_firefox-local                                PASSED in 0.4s
//libs/ui/button:unit_tests_chromium-local                               FAILED in 6.4s
  C:/users/marley.powell/_bazel_marley.powell/ysuom6yx/execroot/exclaimer/bazel-out/x64_windows-fastbuild/testlogs/libs/ui/button/unit_tests_chromium-local/test.log

Executed 2 out of 2 tests: 1 test passes and 1 fails locally.
There were tests whose specified size is too big. Use the --test_verbose_timeout_warnings command line option to see whiINFO: Build completed, 1 test FAILED, 55 total actions

Environment Details

Karma version (output of karma --version):
5.1.0

This commit is where I think the issue was introduced: https://github.com/karma-runner/karma/commit/f399063d1bc8954dba74166ea3dabef2fe376ae4
#3509
karma v5.0.6 doesn't include this bug.

To me this sounds like the problem is that Bazel plugin creates file object incorrectly here. FileList should contain File or Url objects not arbitrary plain object. This is what is causing the issue and it should be fixed in the Bazel plugin.


terminology

In recent years, I have preferred different terms for concepts discussed herein.

timeslice: task. Timeslice may be confusing, since "timeslicing" is a well-known term for interleaving the execution of multiple processes on a single CPU.
statedump: snapshot

That documentation has moved out of this repository and into the (much-modified from your own) ChatTheatre lpc-doc repository. I've fixed up "statedump" according to your recommendation, but retained an "a.k.a." since the term "statedump" is used so widely, including in the Kernellib. For timeslice, I've mentioned the term "task" but basically just said that both terms are ambiguous and there is no non-ambiguous term for it. Certainly saying a "task" isn't going to mean this to developers from other languages. But then, other than perhaps Node.js developers, few people are going to be familiar with the concept already at all.
But "task" is very frequently used as a synonym for "process" in the sense of a Unix/OS process. So it's definitely ambiguous as well :-/
In any case, I'll be sure to mention the term "task" since that may help them recognise the same idea in the future, and I'll try to mention it where relevant in future documentation.

Re task: fair enough, task is ambiguous, but I will refer to them as tasks in my own writings. I've tried to use less ambiguous terms like execution round but found them unsatisfying in the end.

Entirely fair. And yes, timeslice certainly has similar problems.

I've checked the changes in the pull request for lpc-doc, and they look good to me.


[6.x] PhpStorm fixes + improvments

fix phpdocs
use some more modern phpdocs (e.g. array → Model[] | https://suckup.de/2020/02/modern-phpdoc-annotations/)
add static for anonymous functions (less work for PHP and for the IDE, because $this is not allowed)
use "array-unpacking" (https://github.com/kalessil/phpinspectionsea/blob/master/docs/performance.md#slow-array-function-used-in-loop)
replace "call_user_func" (#29932 ← the tests passed, but maybe I missed something here)
use "array_values()" only if needed
fix usage of "preg_quote()" (https://www.php.net/manual/en/function.preg-quote.php)
code style for if-condition (http://suckup.de/2020/01/do-not-fear-the-white-space-in-your-code/)
optimize some if-condition orders (reported by Php Inspections {EA Ultimate} → https://plugins.jetbrains.com/plugin/10215-php-inspections-ea-ultimate-)

This change is

I'm sorry, I think I said before I can't merge these huge PRs. It takes too long to review them all. A better approach would to be break it up by component and send them to me one at a time as I merge them.
Especially the night before a major release.
Some of these are formatting changes we wouldn't even accept.


Support files with space in the name

awk would print only third column, so it would cut off file path after the first encountered space. With cut it's easier 🙂
Also removed the variable and just passing things directly. Reviewing this PR with ?w=0 appended to the URL might be easier 🙂
Btw, have not found an example where [ -n "$line" ] check would be useful, but didn't remove it just in case.
Nice to see the plugins ecosystem!
Btw I saw in your dotfiles you had to organize your private plugins in this exact layout, with src subdir for example. Personally I found it a bit easier to just re-declare package.path like so, no need to have all too many nested folders in dotfiles 😉
Finally, what do you think about having a "force delete" action in this plugin, one that runs rm -rf instead of trash-put? If you think it belongs here I can send a PR, if not I'll keep it in my config.

Btw I saw in your dotfiles you had to organize your private plugins in this exact layout, with src subdir for example. Personally I found it a bit easier to just re-declare package.path like so, no need to have all too many nested folders in dotfiles 😉

I'm removing the nix managed plugins one by one, until then, I think it's better to go with the structure that's supposed to be the standard.

Finally, what do you think about having a "force delete" action in this plugin, one that runs rm -rf instead of trash-put? If you think it belongs here I can send a PR, if not I'll keep it in my config.

Doesn't dD already do that?

Doesn't dD already do that?

Aaah sorry, I forgot about its existence, because I have my own override of dD. Yes, ignore it then 😉 The default one is simply too noisy for me, I prefer either complete silence or at least the log output like it's done in this plugin.


Add lucleray to codeowners

We need to make sure PRs are reviewed before merging.
Adding Luc to codeowners.

Codecov Report

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

@@           Coverage Diff           @@
##           master      #27   +/-   ##
=======================================
  Coverage   89.88%   89.88%
=======================================
  Files          10       10
  Lines         979      979
=======================================
  Hits          880      880
  Misses         99       99

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 248eba1...e4753a3. Read the comment docs.


SCP-4242 - Update Slot to POSIXTime

This PR modifies code and documentation to use POSIXTime instead of slot numbers. Essentially just a renaming because internally it has always been integers. But also some rephrasing in the documentation

I have converted the slots in examples using the following table:

orignal slots
now in miliseconds
corresponding hours

0
0
the epoch

10
3600000
1

20
7200000
2

30
10800000
3

40
14400000
4

50
18000000
5

60
21600000
6

70
25200000
7

80
28800000
8

90
32400000
9

100
36000000
10


Possible to limit number of episodes that is harvested?

First off, thanks for creating this! 😍
Is it possible to limit the number of podcasts that is harvested?
Papaya does now have so many episodes that we reach a timeout if you try to harvest everyone at once.
After 196 episodes I got error:
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='api.podme.com', port=443): Max retries exceeded with url: /web/api/v2/episode/1021584 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f881c165f30>: Failed to establish a new connection: [Errno -3] Try again'))

Nice feedback :+1:
Are you thinking a limit like "only harvest the 50 most recent episodes", or rather "harvest at most 50 episodes at a time"?
The former actually seems like a nice feature in itself, even if we didn't have the error above. I think a per-podcast optional value would be appropriate.
The latter seems to me like an internal fix for the above error, where the harvesting is performed in "bulk".
I guess we could do both :upside_down_face:

I was thinking the "only harvest the 50 most recent episodes" option. It would be very nice for podcast like Aftenpodden where I really don't care to store all the episodes.

39a147b7c2fe55ec82a280ee183ff18a2d64a1fe introduces the config option most_recent_episodes_limit for each podcast item. This should allow you to say "only harvest the 50 most recent episodes for Papaya" like this:
podcasts:
  papaya:
    most_recent_episodes_limit: 50

I have only done some initial testing, so feel free to report back if you have any issues


how to change num of classes?

https://github.com/NVIDIA/semantic-segmentation/blob/c62756222a6cf61f7950b4f47f26abf275c57615/train.py#L289
Hi, Where to specify this argument highlighted above since parser doesn't have anything about classes. Thank you in advance. I want to change num of classes for other dataset but after training IOU for only some classes appears. Some class IOU is nan. @bryancatanzaro @swarren @aaronp24 @mkolod @lukeyeager

I tried changing it but only some class IoU are getting a number. Rest are NaN

This may depend on your dataset. There are several possible reasons,

There is a chance that you didn't use the correct label space. For example, like Cityscapes, there are two kinds of annotations, train_id and label. They are different.

There is a chance that your trained model performs bad (due to overfitting). And the model only predicts some classes, while the rest will be NaN.

There is a chance that your validation set doesn't contain the rest classes, so the IoU is NaN.

There are multiple reasons, but most likely it is because of the new dataset. You may need to change more than just this one line to properly train/test your model.

@shubhaminnani can you tell us more about your dataset. That might help debug the problem. Or if you solved the problem, let us know and we can close this issue.

dataset is same as cityscapes having change in num of classes=26. and change in name of gtFine as in cityscapes its labeltrainids, In my dataset its level3ids. Rest is same. Still I am getting only some class IoU and overall IoU is around 50.
IoU in this code is of training or validation while saving checkpoint?
Thanks in advance!

@shubhaminnani IoU in this code is of validation while saving checkpoint.


Remove EdgeHTML

This will resolve #678.
I think we need to merge https://github.com/webview/webview/pull/684 and https://github.com/webview/webview/pull/666 first. Otherwise, EdgeHTML support seems up-to-date to me. If we decide to, this PR will reduce the scope of our library and will leave users who want to support EdgeHTML with a working API (after merging what I suggest above).
Note: after we merge this, any open PR that affects windows will have to update their PR. We should double-check their status first.

Now that #684 and #666 are merged, could you rebase this so we can evaluate and test it?

All set.

This looks good to me, I am not on Windows though. Can you merge this @justjosias?
We might mention it in the README.md with a link to an edgehtml Git tag.


Viml - Input: 'nnoremap j gj' breaks 'o' key binding

Repro:

Add "experimental.viml": [ "nnoremap j gj" ] to the configuration, and press j
Press o

Expected: Should open a new line in insert mode
Actual: Moves cursor to the top
It looks like this is exposing a bug in our input / mapping handler - on pressing the j key, the j and g key are sent in reverse order to libvim - so that the editor is left with an open g key. When pressing o, this interpreted by libvim as go , which moves the cursor to the first byte in the file.

I guess it is related: also these commands don't work:
  "experimental.viml": [ "nnoremap <Leader>o o<Esc>" ],
  "experimental.viml": [ "nnoremap <Leader>O O<Esc>" ],

Both commands should add an empty line, either in the current line or the line below.
But after executing, insert mode is kept, instead of switching to normal mode.

Thanks @StephanRoemer - this looks like the same underlying issue as: https://github.com/onivim/oni2/issues/2579


Cant install driver

I am behind corp proxy, but i have set it up for all programs and it works very well.
For some reason i am unable to install appium flutter driver.
However i can install images plugin or xcuit driver.
How could i install this in local (download driver then install with --local flag).
I dont have any other idea

That method i tryed and it also did not work.
I can install safari and xcui driver,but i cant get chromium or flutter to install.
I always get some info at the end that chromium druver can be skipped by setting env variable.
It also says that it saved full log at certain location,but nothing is saved there.
Il try to delete appium completly and try again

Okay i managed to install flutter driver and chromium but i had to first add the env variable
APPIUM_SKIP_CHROMEDRIVER_INSTALL=1
I assume this is some issue with my proxy,though not 100% sure
Later i will see what and how to deal with webview if needed.
Thanks!


Actually make absolute hrefs

Related issues and pull requests

Didn't quite do it right in #96, needed the handle the case when the download directory is not absolute

Checklist

[x] Add tests
[ ] Add docs
[x] Update CHANGELOG

Codecov Report
Patch coverage: 100.00% and project coverage change: +0.06% :tada:

Comparison is base (128a673) 79.37% compared to head (5e91370) 79.44%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #97      +/-   ##
==========================================
+ Coverage   79.37%   79.44%   +0.06%
==========================================
  Files          16       16
  Lines         965      968       +3
==========================================
+ Hits          766      769       +3
  Misses        199      199

Files Changed
Coverage Δ

src/stac_asset/_functions.py
91.11% <100.00%> (+0.12%)
:arrow_up:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


M1 Native

Can we please have the Enhancer app ARM64 native?

that would be great. it's one of the only apps that do not have an ARM version on my MacBook Air.

is not a m1 naive or universal app

the main amphetamine app is M1 now. not sure why you do not get it (are you sure you have a M1 Mac?).
the enhancer is not yet M1 native.


Add revokeVotes method to Governance contract.

Description
Currently there is no option to revoke the votes for an account so that locked gold can be released.
Added revokeVotes method to revoke all the votes from referendum proposals for sender account.
Other changes
Tested
An explanation of how the changes were tested or an explanation as to why they don't need to be.
Related issues

Fixes #7562

Backwards compatibility
Added new method so it is backward compatible.
Documentation
N/A

https://app.circleci.com/pipelines/github/celo-org/celo-monorepo/34421/workflows/4cfd72b5-c907-41ab-b3ac-72b681bc28ad/jobs/442800/parallel-runs/0/steps/0-104
is the same deal as your other PR @deepakhb2
we need to make Governance be InitializableV2 and in this case bump the minor version in getVersionNumber because we added a function to the bytecode


[Discussion] Upcoming changes to format selection

If you are here only to check for changes to the defaults, just read "Multistreams" and "Default selector for stdout" sections

Superseeds https://github.com/yt-dlp/yt-dlp/issues/389
"maybe merge" operator
A new operator +? will be added. It is similar to +, but will always work as-if multistreams were disabled; i.e. The RHS will be added to the format only if the LHS doesn't already have the same kind (audio/video) of stream. This deprecates the need for --(audio/video)-multistreams
"of each" operator
A new operator <field> will be added that is used to select the best format for each value of field; e.g. bv<height>, ba<language> will select the best video format of each height and best audio of each language.
"type" field
Supplementing to the "of each" operator, a new field type will be added to the format dict that can be used by the extractor to separate the different types of formats
Filterable groups
Currently, filters [...] applied on groups (...) are simply distributed over it's components. So it is not possible to, say, download the "best format under 1G". You may expect (bv*+ba)[filesize<1G] to work - but it translates to bv*[filesize<1G]+ba[filesize<1G] which is not what we want.
While I can simply fix this behavior, that would break compatibility and I am afraid some users may actually be making use of the above  "feature". So instead, a new type of grouping {} will be added. Then {bv*+ba}[filesize<1G] will work as expected, while () will retain it's old behavior.
Multistreams
youtube-dlc had added the ability for us to merge multiple audio (and video) formats into one file. So far, yt-dlp has kept this option behind the multistreams switches so that the default selector of bv*+ba can work correctly. However, the way this works is confusing and so these options will be enabled by default. The default selector can now handle this using +? - see below.
Default selector
The default selector will be changed to bv*+?ba/b. This means that the best video format will be selected, and if it doesn't have an audio stream, the best audio format will be merged with it. This is effectively the same as the current default, but works irrespective of whether multistreams are enabled or not.
Default selector for stdout
Currently, if you use -o -, the default selector is b/bv+ba. However, yt-dlp has had the ability to stream multiple formats to stdout (using ffmpeg) for a while. So this default will also now be changed to bv*+?ba/b. Note that this will cause the download to happen through ffmpeg. If you don't want this, you will need to give -fb.
PS: This change may be postponed due to https://github.com/yt-dlp/yt-dlp/issues/4478
Documentation
A lot of the format selection documentation is a mess and it would be good to take this opportunity to rewrite it. But I suspect any documentation I write will end up even less user-friendly that the current one. So any help with this would be appreciated (make a PR). If no one wants to do this, I will abandon the idea and just add the new changes to the current documentation.

I have an inital implementation of most these, but they need a lot of cleanup. I will open a PR when ready. In the mean time, I would appreciate any feedback on the above changes, and am also open to suggestions for better syntax for the new operators. I am not too happy with the current ones, but couldn't think of anything better.

Related https://github.com/yt-dlp/yt-dlp/pull/4553

{bv*+ba}[filesize<1G] will work as expected

That filter is very ambiguous though. For example, in the below scenario:
Audio 1-1MB
Audio 2-5MB
Video 3-500MB
Video 4-999MB
will 4+1 or 3+2 be selected (assuming that 1GB=1000MB and not 1024MB)

() will retain it's old behavior

Can I suggest outputting a warning if the user is using () in their format selector

{bv*+ba}[filesize<1G] will work as expected

That filter is very ambiguous though. For example, in the below scenario: Audio 1-1MB Audio 2-5MB Video 3-500MB Video 4-999MB will 4+1 or 3+2 be selected (assuming that 1GB=1000MB and not 1024MB)

Even though 4+1 and 3+2 have same filesize, one of them will always be "better" than the other due to other metadata (according to any -S given). So that will be picked

() will retain it's old behavior

Can I suggest outputting a warning if the user is using () in their format selector (I'm not sure if this suggestion is technologically possible)

It is certainly possible; but why do you think it is needed? I think just documenting their behavior with [] is sufficient. It'll end up being more annoying than usefull imo.

Even though 4+1 and 3+2 have same filesize, one of them will always be "better" than the other due to other metadata (according to any -S given). So that will be picked

Okay, but what if 4+1 has better quality video, but 3+2 has better quality audio?

It is certainly possible; but why do you think it is needed? I think just documenting their behavior with [] is sufficient. It'll end up being more annoying than usefull imo.

I agree, it actually probably will be more annoying than useful

Even though 4+1 and 3+2 have same filesize, one of them will always be "better" than the other due to other metadata (according to any -S given). So that will be picked

Okay, but what if 4+1 has better quality video, but 3+2 has better quality audio?

It will be handled the same way pre-merged formats are; i.e. better video is prefered

i support all of these changes 100%

More changes:
Custom tokenizer
The current format selector code abuses tokenize.tokenize, causing issues like https://github.com/yt-dlp/yt-dlp/issues/4901. I will instead be implementing a custom tokenizer for the new code
Standardization of filtering operators
While --match-filter and --format filtering use most of the same operators, they are currently implemented separately, leading to minor inconsistencies. We will standardize them into a single implementation, adding quoting and ! (not) to format filtering, but not the && operator (Use the current [filter1][filter2] syntax instead)

I understand that {} is introduced so that it doesn't break () distributive behaviour that may be already be used.
For the same reason I think that having +? "replacing" + because of multistreams isn't the best way to proceed. While some people may use () side effect, I think a lot more wil be impacted by the change brought to +.
It would be better if the default stays + and + behaviour stays the same. +? (or why not ++?) would the operator used for multistreams selection.

I think a lot more will be impacted by the change brought to +.

I don't think so, but I like your proposal anyway

Another potential change that has been proposed multiple times is
Prioritize AV1
One of the other weird quirks of yt-dlp's default format selection is the de-prioritization of av1 and DV
https://github.com/yt-dlp/yt-dlp/blob/f14c2333481c63c24017a41ded7d8f36726504b7/README.md#L1540
Since playing DV is pretty niche and playing it on anything that's not compatible will significantly degrade quality, I think it makes sense to leave it de-prioritized permanently.
On the other hand, the AV1 exception was always intended to be removed eventually. It still don't have out of the box support on many systems[^1], but most sensible players does already support it. Hardware support is still lacking, but that is not a
huge concern if software decoders are good enough.
So, perhaps it's time for us to make the change?
[^1]: As always, it's mostly apple's fault!

@pukkandan I think Prioritizing AV1 below 4k is definitely needed. 1440p and below is starting to become rather common and can be decoded on CPU fine for many people, it's 4k that really needs hardware decode which most people don't have.

Myself account recovery

One thing I would like to see (but I don't know if it's possible) is for yt-dlp to prefer the original format for livestreams. In my experience the original format for 60fps 1080p livestreams on Youtube is usually 299+140. Then they get transcoded to more modern codecs by the post-processing - but there's always going to be some loss.
The situation is somewhat different for uploads because YouTube transcodes them no matter what, so the most modern codec is probably the best choice. Though even for uploads there's an exception - if a video came out before Youtube introduced a more modern codec, it looks like they'll take one of the existing encodes and use it as the basis for transcoding. It's especially noticeable for videos uploaded before the introduction of VP9, where the H.264 version tends to look a lot better.
But I don't know if the codec closest to the source is knowable in general. I've found that looking at the last modified date tends to give a clue, but I don't know if it's entirely reliable.

if a video came out before Youtube introduced a more modern codec, it looks like they'll take one of the existing encodes and use it as the basis for transcoding.

This is neither feasible nor in scope for us to detect

for yt-dlp to prefer the original format for livestreams. In my experience the original format for 60fps 1080p livestreams on Youtube is usually 299+140.

This however, is something we can handle assuming there is actually a "source format" like you claim. But you'd have to explain how you came to the conclusion of 299+140 and also how to detect such format for other resolutions. It isn't really related to this discussion though. So pls open a new issue with explanations.

Unfortunately the way I've been able to tell is simply to look at the formats while a livestream is live or right after it ends, before YouTube has the chance to create additional transcodes. So I could be wrong about livestreams, maybe YouTube has access to an internal source format that is archived on their end and used for transcodes but never made available to live/VOD viewers.
I'm more certain about transcodes of older videos that weren't livestreamed, since I've observed substantial quality degradation with more modern codecs (combined with a last modified date that is several years after the older codecs).
Either way I don't really have enough information to create an actionable issue, so I'll end it here; thanks for bearing with me.

I think a lot more will be impacted by the change brought to +.

I don't think so, but I like your proposal anyway

I'm confused. Is yt-dlp going to use @Kenshin9977's proposal? If yes, the initial post should be updated imo

I think a lot more will be impacted by the change brought to +.

I don't think so, but I like your proposal anyway

I'm confused. Is yt-dlp going to use Kenshin9977's proposal? If yes, the initial post should be updated imo

Currently undecided.

Prioritize AV1

@pukkandan: One thing to note about current YT format list. They are rolling out 1080p Premium format, which is VP9 with double the bitrate of the normal VP9. While probably AV1 still would not be that far off even with lower bitrate, I think that expectation would be to prioritize Premium formats always as the premise is that they are "better". And prioritizing AV1 would effectively de-prioritize premium formats.
Just to be clear, what am I talking about, I have this workaroud locally
diff --git a/yt_dlp/extractor/youtube.py b/yt_dlp/extractor/youtube.py
index 47ad1da76..0012d32bb 100644
--- a/yt_dlp/extractor/youtube.py
+++ b/yt_dlp/extractor/youtube.py
@@ -3848,6 +3848,10 @@ def build_fragments(f):
                     f'{video_id}: Some formats are possibly damaged. They will be deprioritized', only_once=True)

             client_name = fmt.get(STREAMING_DATA_CLIENT_NAME)
+            premium = False
+            qual = fmt.get('qualityLabel')
+            if qual and 'Premium' in qual:
+                premium = True
             dct = {
                 'asr': int_or_none(fmt.get('audioSampleRate')),
                 'filesize': int_or_none(fmt.get('contentLength')),
@@ -3863,7 +3867,7 @@ def build_fragments(f):
                     (self.get_param('verbose') or all_formats) and client_name,
                     delim=', '),
                 # Format 22 is likely to be damaged. See https://github.com/yt-dlp/yt-dlp/issues/3372
-                'source_preference': -10 if throttled else -5 if itag == '22' else -1,
+                'source_preference': -10 if throttled else -5 if itag == '22' else (-1 if premium else -2),
                 'fps': int_or_none(fmt.get('fps')) or None,
                 'audio_channels': fmt.get('audioChannels'),
                 'height': height,
@@ -4257,7 +4261,7 @@ def is_bad_format(fmt):
             'live_status': live_status,
             'release_timestamp': live_start_time,
             '_format_sort_fields': (  # source_preference is lower for throttled/potentially damaged formats
-                'quality', 'res', 'fps', 'hdr:12', 'source', 'vcodec:vp9.2', 'channels', 'acodec', 'lang', 'proto')
+                'quality', 'res', 'fps', 'hdr', 'source', 'vcodec', 'channels', 'acodec', 'lang', 'proto')
         }

         subtitles = {}

@kasper93 There is a separate issue open for it already. This is not place to discuss site specific format issues.

Hello
Can you please provide a python demo code where I require list of streams containing video/audio/video+audio streams. The stream may be live or not. I don't want to download the file. I suppose it is called simulate mode here.
Pytube and Pafy has this, they are not maintained presently.

bv[A]/bv[B] already work. The new parser will also support bv([A]/[B]). Adding a new operator is unnecessary

note that vp9.2 has been found to be better then hdr av1
https://github.com/TheFrenchGhosty/TheFrenchGhostys-Ultimate-YouTube-DL-Scripts-Collection/issues/14

That was 3 years ago though. Maybe AV1 HDR encoding quality has improved since then.

The most recent MacOS release (Sonoma) adds AV1 support and the new M3 processors have hardware decoders for the codec. This would likely remove the Apple blockers mentioned in https://github.com/yt-dlp/yt-dlp/issues/4846#issuecomment-1595878047 going forward.

The particular use case I have is that I'd like to download youtube videos with the best audio formats in all of the available languages out of en, ja, and id - but if none of those languages are available then merge in the video's default language instead.
i.e. I want to build a format string that expresses:

Merge in bestaudio[language=en], or skip if nothing matched
Merge in bestaudio[langauge=ja], or skip if nothing matched
Merge in bestaudio[language=id], or skip if nothing matched
If the output doesn't already have an audio track, then merge in bestaudio

Right now, as far as I've been able to figure out, the only way to do this is to generate all the possible combinations of languages in a chain of fallbacks, so this is what I have listed in my yt-dlp config: --format bestvideo+((bestaudio[language=en]+bestaudio[language=ja]+bestaudio[language=id])/(bestaudio[language=en]+bestaudio[language=ja])/(bestaudio[language=ja]+bestaudio[language=id])/(bestaudio[language=en]+bestaudio[language=id])/bestaudio[language=en]/bestaudio[language=ja]/bestaudio[language=id]/bestaudio)
It's a good thing I only have 3, because this is a combinatorial explosion situation :/
Alternatively, or perhaps additionally, a user-friendly --audio-langs option where someone can provide a list of audio languages to attempt to download (plus some way to specify whether to fallback or error if none of the specified languages were available) would be really nice to have.

@kepstin Your use-case will be handled by the "of each" operator. However, this project is currently on hold due to a lack of time.

According to this, the AV1 extension will come preinstalled with Windows 11 24H2, which should reach general availability later this year.
With that, all major operating systems will support AV1 out of the box. I think that will be a good point to start prioritizing av1 over vp9 as laid out here.

With that, all major operating systems will support AV1 out of the box.

2 major caveats:

according to https://en.wikipedia.org/w/index.php?title=AV1#Operating_system_support, MacOS only supports it on devices with the M3 chip (ie devices newer than October 30, 2023)
According to https://gs.statcounter.com/os-version-market-share/windows/desktop/worldwide, 68% of Windows users still use Windows 10. I imagine that will change in the next year, since Windows 10 will stop recieving security updates on October 14, 2025

I think these two caveats are acceptable. We do not need to wait until every user has out of the box support for AV1. Right now AV1 is ranked lower than any other video codec, which imo. does not make a lot of sense.
Adding a compat option/setting the prioritization for VP9 yourself is easy enough. I would also hope that the majority of yt-dlp users, are using a third part player where av1 support has been the standard for many years.

i think something like this https://github.com/yt-dlp/yt-dlp/issues/8377 could be good for av1 being prioritized sooner since AFAICT many people have chrome installed anyway


Error Authorizing Card

Error Authorizing Card (line 426 IndexError list index out of range)
Is this an error with my specific card? I don't know what line 426 is.

Please refer to out documentation. Thanks!


⚠ BeyondHD has degraded performance

In a4355d1, BeyondHD ($BHD) experienced degraded performance:

HTTP code: 200
Response time: 1112 ms

Resolved: BeyondHD performance has improved in a46f9ea after 6 minutes.


how to use string_split

hello,I use duckdb,but don't know how to use LIST type.
I read the document,but not found.

try:
SELECT UNLIST(STRING_SPLIT('1,2,3', ','));

thanks! I got it!
I like duckdb.I want to learn cpp because of it.


Update FTL devices

Description

Update FTL devices

Code coverage
Total coverage: 95.13%

Powered by Slather

  Generated by :no_entry_sign: Danger


Automate Run In Background/.NET 2.0 settings

Super annoying on a new project.

Fixed with the entry-point patches


[Feature] Time function analysis extension.

Purpose of the pull request
Time function analysis extension.
Brief change log

Add method extension center ExternalFunctionExtensionCenter.
Add the default implementation of time function parsing.
Add related unit tests.
close #10623

Verify this pull request
Added UtilsTest to verify the change.
Manually verified the change by testing locally.

Codecov Report

Merging #10624 (5569c3f) into dev (719a9d4) will increase coverage by 0.00%.
The diff coverage is 86.66%.

@@            Coverage Diff            @@
##                dev   #10624   +/-   ##
=========================================
  Coverage     40.94%   40.95%
- Complexity     4876     4882    +6
=========================================
  Files           895      897    +2
  Lines         36212    36226   +14
  Branches       3987     3988    +1
=========================================
+ Hits          14826    14835    +9
- Misses        19921    19925    +4
- Partials       1465     1466    +1

Impacted Files
Coverage Δ

.../dolphinscheduler/common/utils/ParameterUtils.java
71.42% <50.00%> (-1.71%)
:arrow_down:

...common/expand/ExternalFunctionExtensionCenter.java
100.00% <100.00%> (ø)

...pand/TimePlaceholderResolverExpandServiceImpl.java
100.00% <100.00%> (ø)

...er/master/dispatch/host/assign/RandomSelector.java
77.77% <0.00%> (-5.56%)
:arrow_down:

...dolphinscheduler/remote/future/ResponseFuture.java
81.96% <0.00%> (-1.64%)
:arrow_down:

...r/plugin/task/sqoop/parameter/SqoopParameters.java
53.33% <0.00%> (-1.34%)
:arrow_down:

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 719a9d4...5569c3f. Read the comment docs.

LGTM. It's better to add example on the interface method, you can do this in other PR.
good tip. ok

LGTM. It's better to add example on the interface method, you can do this in other PR.

good tip. ok @ruanwenjun


yii2 can encrypt javascript assets ?

well, i have this dude, yii2 can encrypt the javascript in the assets ? for increase the security of the applications ?

http://en.wikipedia.org/wiki/Bug_tracking_system

No, it can't.

@samdark but before closing the card could not be regarded as one improvement for future versions?

I don't think "encrypting" JavaScript is any helpful regarding security. If you need your scripts turn into unreadable mess before actually served to the client it could be done with asset/compress command.


make the new slice the full length necessary

A micro-optimization, but why not. Thanks for the contribution!

Mirco indeed. np, thanks.


supertoasts.library.Toaster: java.lang.IllegalStateException

Hi,
I keep receiving "supertoasts.library.Toaster: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.", and when this happens no supertoasts will show.
What I did was launch the app, go about normal activities, minimise/pause and then go back into the app and the above errors would spam.
Any suggestions?

+1

+1


Can't install some dependencies due to esbuild peer version

some packages can't be installed with version esbuild 0.14.  I tried esbuild-plugin-node-externals  and esbuild-plugin-run , the problem seems to be the peerDependecy that is incompatible.

I am getting this issue too

npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/esbuild
npm ERR!   dev<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/esbuild-plugin-run
npm ERR!   dev esbuild-plugin-run@"*" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR! `

Thanks for report and sorry for the late response, I'll got this fixed this weekend.

@un-focused @pherval Plugin's ESBuild peer version has been bumped to ^0.14.0 now, so it should works normally.

@un-focused @pherval Plugin's ESBuild peer version has been bumped to ^0.14.0 now, so it should works normally.

@linbudu599 thanks a lot. Do you need any help? I just don't have familiarity with pnpm yet, other than that I think I can help

@un-focused @pherval Plugin's ESBuild peer version has been bumped to ^0.14.0 now, so it should works normally.

@linbudu599 thanks a lot. Do you need any help? I just don't have familiarity with pnpm yet, other than that I think I can help

Thanks! You can raise an issue when you encounter this kind of problem again, or just submit a pr to update version (I will gradually add the contributing guide, as I'm still refining its workflow).


ITMS-90806: CFBundleIdentifier collision

As of yesterday, when trying to archive and upload a new binary in App Store, I get the following error:
ITMS-90806: CFBundleIdentifier collision - Each bundle must have a unique bundle identifier. The bundle identifier 'org.cocoapods.Alamofire' is used in the bundles '[Alamofire.framework, Alamofire.framework]'
A related issue was raised for other libraries here suggesting that the library has the same bundle identifier for iOS and watchOS and one of them should be changed.
Alamofire Environment
Alamofire version: 4.8.2
Xcode version: 10.2
Swift version: 5.0
Platform(s) running Alamofire: iOS, watchOS

This is a CocoaPods issue they're already tracking. Apple playing games with bundle verification again.

@jshier, Not sure it is a CocoaPods issue only. We are using Carthage and having the same issue. It would just need to change the bundle identifier of the project to this org.alamofire.Alamofire.${PLATFORM_NAME}.
Thanks!

Ah, true. We should probably change this on all platforms. I wonder how SPM will handle this.

SPM won't need to handle this since it only supports static products.

I'm curious how we've been doing this at Nike for the past year. We've been shipping Alamofire on iOS and watchOS on NRC the whole time through CocoaPods. I'll do a bit of digging...

Looks like a new warning, so unless you've done a release over the last few days, you wouldn't've seen it yet.

Ah that makes more sense. I think tacking on the platform name then as a suffix makes the most sense.

This has been fixed for v4 and v5 and will go out in 4.9.0 and 5.0.0-rc.1.


Improve Jenkinsfile Pipeline Declaration

@keturn proposed the following changes as a follow-up for the migration of our pipeline Jenkinsfile from scripted to declarative syntax in #4784:

Move discoverGitReferenceBuild as early as possible.
Publish stage: Refactor "rebuild Omega after engine trunk build" to not need script block
Analytics and Documentation stages: move recordIssues to post block
taskScanner: configure tags (haven't been using WIBNIF or ASAP)
add recordIssues tool: java (to Build stage?)
Documentation stage should go before Publish, because javadocJar is one of the things published

Hello and nice to meet you!
I'm a devops engineer and I can help especially with Docker, Jenkins and CI CD.
This issue is interesting  :)

Hi @xmichele how about you come over to our discord and chat with our logistics folks about docker, jenkins and other CI/CD topics 😉 https://discord.gg/terasology


data lose

What happened:
data lost
What you expected to happen:
data consistent
How to reproduce it (as minimally and precisely as possible):
juicefs mount redis://xxx /test
juicefs gateway :9000
1.mkdir /test/abc && cd /test/abc && echo "aaa" >a.txt
2.login juicefs gateway and delete obj a.txt
3.echo "bbb" >b.txt && ls
4.No obj b.txt in juicefs gateway
5.cd ..
6.No dir abc in juicefs mount point.
Anything else we need to know?
Environment:

juicefs version 1.0.4+2023-04-06.f1c475d

This is expected because there is no concept of directories in the s3 protocol. If the '/test/abc/' object does not exist, and no object prefixed with '/test/abc/' exists, then '/test/abc/' should not exist


Error with doubly nested messages generating back type constructor reference

Hi.  I'm trying to generate an rpc client for grakn using the protocol definitions from https://github.com/graknlabs/protocol and one of them has a doubly nested message, which we've extracted into a minimal test case here:
syntax = "proto3";

package repro;

message Transaction {
  message Query {
    message Req {
      INFER infer = 1;
    }
    enum INFER {
      TRUE = 0;
      FALSE = 1;
    }
  }
}

message Query2 {
  message Req2 {
     INFER2 infer = 1;
  }
  enum INFER2 {
     TRUE = 0;
     FALSE = 1;
  }
}

The Query2 case works fine (as expected) but the case where it's nested inside Transaction in an additional level of nesting generates a reference to Repro.Query_INFER rather than to Repro.Transaction_Query_INFER which causes this error:
gen/Repro.hs:121:77-93: error: …
    Not in scope: type constructor or class ‘Repro.Query_INFER’
    Perhaps you meant ‘Repro.Query2_INFER2’ (line 323)
    No module named ‘Repro’ is imported.
    |
Compilation failed.

I can work around this for the moment by editing the generated code but obviously that's not a good long term solution.

You can see the actual generated code here: https://gist.github.com/lgastako/71bad8ecbedaaa6fbbcb0942773f5e3e


[WIP] Add debugging support

This enables debugging with GDB>=7.0.

With segfault generating code like:

CUDA debuginfo also work if LLVM module verify is disabled.  I need to patch llvmlite so that link_modules does not verify the input modules and disable verify in numba codegen.

Depends on https://github.com/numba/llvmlite/pull/219

Current coverage is 86.55% (diff: 46.03%)

Merging #2170 into master will decrease coverage by 0.08%

@@             master      #2170   diff @@
==========================================
  Files           310        311     +1
  Lines         57752      57877   +125
  Methods           0          0
  Messages          0          0
  Branches       5984       5992     +8
==========================================
+ Hits          50038      50095    +57
- Misses         6761       6828    +67
- Partials        953        954     +1

Powered by Codecov. Last update 5d1afe8...4184ea9

I've addressed on comments.

Great, thanks everyone!