Use generic Set instead of specified Set

Use generic Set instead of specified Set
sets.String has been deprecated and the generic Set should be used instead

Thanks @bzsuni for your contribution! The file which is modified by this PR appears to be part of a slim copy of the structures used in k8s (readme). It is unclear to me whether we want to perform modifications which would cause it to diverge from the upstream version. Though, I'd defer it to other reviewers with more experience about this package.

it seems running e2e failed
https://github.com/cilium/cilium/actions/runs/5329285324/jobs/9659206177?pr=26378#step:14:248

/test

@bzsuni looks like some tests are stuck. Can you rebase main and push this back up?

@ldelossa Thank you, I have ebased the main

/test

Thanks! But looking at the commit, I can't find the reason for the change. Please add the motivation in the commit description.

yes, thanks! sets.String says it's deprecated and the generic Set should be used instead. I wonder if we should also make this change

Thanks! But looking at the commit, I can't find the reason for the change. Please add the motivation in the commit description.

yes, thanks! sets.String says it's deprecated and the generic Set should be used instead.

Yes I got that from the discussion. Deprecated since v0.26.0, it seems.

I wonder if we should also make this change

What other change do you mean?
What I'm saying is that your commit description is empty, and does not mention the deprecation. So when we look at the Git history in the future, to understand why this update happened, we'll have none of the context or motivation. Admittedly, it's possible to open the Pull Request discussion to get more info, but doing so shouldn't be necessary. Please state in the commit description the motivation for the change.

What I'm saying is that your commit description is empty (save for the sign-off), and does not mention the deprecation. So when we look at the Git history in the future, to understand why this update happened, we'll have none of the context or motivation. Admittedly, it's possible to open the Pull Request discussion to get more info, but doing so shouldn't be necessary. Please state in the commit description the motivation for the change.

Yes, you are right, I have stated it in the commit, thanks

/test

/test

/test

Overriding checkpatch's complaint about a typo in the patch description.


csearch pulls regexp from github

go get was failing with
package code.google.com/p/codesearch/regexp: unable to detect version control
system for code.google.com/ path

now it just pulls from github directly.

Sorry, this project already has two similar pull requests.


Support moving to next/previous change in editor view in diff editor

Extracted from https://github.com/Microsoft/vscode/issues/7717
I think the commands that got introduced should also work within a diff editor.

This looks good. But is having 2 sets of commands and making them work with each other a good design? Can't we have a more generic action and each view can register this generic action.
Further comments / context on this is required.

I don't see any reason why it shouldn't be the same command to go to next/previous change, whether in editor of compare editor?

It's also problematic that there are no default keyboard shortcuts for next/previous change in the compare editor.

Seems like both of these problems could be solved at once.


Cast can ABI-encode bytecode

Component
Cast
Describe the feature you would like
I would like Cast to be able to provide ABI encoding of a file or stdout in line with ethers-js default AbiEncoder:
https://gist.github.com/CodeForcer/dc6f05f7ea33c796e8aeb7c8031d1ce0
Currently, I believe there is no Foundry-native way to translate compiled output from Solc directly into a format which can be read into Solidity bytecode with the FFI cheatcode.
The following command is very close to equivalent, but gives the wrong output with a few bytes changed:
cast abi-encode "f(bytes)" $(solc --yul yul/Example.yul --bin | tail -1)
This feature would really improve the developer experience for people working with Yul
Additional context
No response

I'm not entirely sure what you mean - the bytecode should not be ABI encoded if you just want to deploy it, it should just be directly useable with CREATE and CREATE2? The ABI spec is only for describing how data types are encoded in calldata, it does not have anything to do with contract bytecode itself.
Can you provide some more context around what you are trying to achieve and why it doesn't work?

@onbjerg FFI only decodes bytes things that are ABI encoded, as per the documentation:
https://book.getfoundry.sh/cheatcodes/ffi.html
For example, reading the following stdout from Solc fails:
0x600a600d600039600a6000f3fe600035608052366080f3
(Generated using solc --yul yul/Example.yul --bin | tail -1 | (echo -n 0x && cat))
Whereas the following succeeds:
0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000016600a80600c6000396000f3fe600035608052366080f300000000000000000000
(Generated from the same Yul code using the Gist I shared above)
My use case is to hot-compile Yul code in the middle of tests, so I want to begin the test with forge test and then use FFI to compile so Yul code with Solc, then retrieve and deploy the result for use in tests.

That's weird, I'm not sure why it would result in different output, and I'd assume that the bytecode from solc is valid bytes, but I might be wrong on that one.
Can you not use https://book.getfoundry.sh/cheatcodes/get-code.html which is specifically built for getting bytecode from artifacts? It probably requires that you put the output of solc into a file, but the file can be very simple - we just need the bytecode keys, either in a Hardhat format or in a Foundry format.

ae.js:
#!/usr/bin/env node

const ethers = require("ethers");

let bytecode = "0x" + process.argv[2];
process.stdout.write(ethers.utils.defaultAbiCoder.encode(["bytes"], [bytecode]));

❯ BYTECODE=600a600d600039600a6000f3fe600035608052366080f3

❯ cast ae "f(bytes)" $BYTECODE | tr -d "\n" > a

❯ node ae.js $BYTECODE > b

❯ diff a b

❯ cat a
0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017600a600d600039600a6000f3fe600035608052366080f3000000000000000000%

❯ cat b
0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017600a600d600039600a6000f3fe600035608052366080f3000000000000000000%

When tested with the provided bytecode, cast and ehters.js produce the exact same output for me.

For example, reading the following stdout from Solc fails:
0x600a600d600039600a6000f3fe600035608052366080f3
(Generated using solc --yul yul/Example.yul --bin | tail -1 | (echo -n 0x && cat))

Whereas the following succeeds: 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000016600a80600c6000396000f3fe600035608052366080f300000000000000000000
(Generated from the same Yul code using the Gist I shared above)

Also, the provided bytecode (0x600a600d600039600a6000f3fe600035608052366080f3, 23 bytes), doesn't seem to match with the ABI-encoded one below (22 bytes)?
0000000000000000000000000000000000000000000000000000000000000020
0000000000000000000000000000000000000000000000000000000000000016
600a80600c6000396000f3fe600035608052366080f300000000000000000000

Can you not use https://book.getfoundry.sh/cheatcodes/get-code.html which is specifically built for getting bytecode from artifacts? It probably requires that you put the output of solc into a file, but the file can be very simple - we just need the bytecode keys, either in a Hardhat format or in a Foundry format.

yeh this should be supported by this cheat code, if not we need to tweak it, but that's what the cheatcode is for @CodeForcer

@onbjerg
Cast command on Yul file
> cast abi-encode "f(bytes)" $(solc --yul yul/Example.yul --bin | tail -1 | (echo -n 0x && cat))
0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017600a600d600039600a6000f3fe600035608052366080f3000000000000000000

Gist shared above
> node yul.js Example
0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000016600a80600c6000396000f3fe600035608052366080f300000000000000000000

Straight compilation with Solc
> solc --yul yul/Example.yul --bin

======= yul/GenericSelector.yul (EVM) =======

Binary representation:
600a600d600039600a6000f3fe600035608052366080f3

As you mentioned I can definitely achieve this by writing to a file first (or using a JS script like I currently am), but that's not as clean as being able to do it with a single command in memory

If you decode the two outputs above you get:
Cast: 600a600d600039600a6000f3fe600035608052366080f3
Your script: 600a80600c6000396000f3fe600035608052366080f3
It would seem that Cast matches the output straight from Solc, but the output from your script is different than what Solc outputs. Are you sure Cast is not correct here, and if so, what part is failing you?

@onbjerg perhaps this is an issue with FFI parsing the output of cast?
The following logs 0x
function deployContract(string memory fileName) public returns (address) {
    string[] memory inputs = new string[](10);
    string memory fileWithPath = string.concat("yul/", string.concat(fileName, ".yul"));
    inputs[0] = "cast";
    inputs[1] = "abi-encode";
    inputs[2] = '"f(bytes)"';
    inputs[3] = "$(solc";
    inputs[4] = "--yul";
    inputs[5] = fileWithPath;
    inputs[6] = "--bin";
    inputs[7] = "|";
    inputs[8] = "tail";
    inputs[9] = "-1)";
    bytes memory rawParse = vm.ffi(inputs);
    console.logBytes(rawParse);

Whereas the command logs:
> cast abi-encode "f(bytes)" $(solc --yul yul/Example.yul --bin | tail -1)
0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000017600a600d600039600a6000f3fe600035608052366080f3000000000000000000

FFI doesn't spawn the command inside bash so I would assume it just executes the wrong command?
Can you try either:
string[] memory inputs = new string[](3);
inputs[0] = "bash";
inputs[1] = "-c";
inputs[2] = 'cast abi-encode "f(bytes)" $(solc --yul yul/Example.yul --bin | tail -1)';

or splitting the commands up (i.e. one FFI call for solc ..., one for cast ...)

@onbjerg thank you for your help, I've solved this with the following (adapted from your suggestion)
string memory stringCommand = string.concat('cast abi-encode "f(bytes)" $(solc --yul yul/', string.concat(fileName, ".yul --bin | tail -1)"));

string[] memory inputs = new string[](3);
inputs[0] = "bash";
inputs[1] = "-c";
inputs[2] = stringCommand;

bytes memory bytecode = abi.decode(vm.ffi(inputs), (bytes));

Really appreciate the help of everyone who replied here (@0xYYY @mattsse also), this makes my developer experience a lot better - Foundry with cheatcodes is by far the most painless way to dev on Yul IMO

PS: Published an example repo to help any future devs who get stuck here
https://github.com/CodeForcer/foundry-yul


Add help text if camera / QR reader is not visible because LCW doesn't have permissions

If the user doesn't allow LCW to access the camera, they won't be able to scan a QR code. (duh)
We should display help text if the QR code reader is not available.
To scan a QR code, Learner Credential Wallet needs access to your device's camera. More details (link to https://lcw.app/faq.html#cameraaccess, link doesn't exist yet)
FAQ Text:
Under iOS, Settings > Learner Credential Wallet > toggle Camera on.
Unser Android, Settings > search for Learner Credential Wallet > Permissions > Camera > Allow only while using the app

Research using the RN method to open app settings and change link.

@bmuramatsu is there a specific text you wanted to use to display on screen that the camera is not available? Such as "Camera access not available. Please allow access in your privacy settings" as a popup with a OK button that takes them back a screen perhaps?

I can't help but think there's some other text that lots of app developers
are using.
I'd prefer text that's meaningful on iOS (Privacy & Security) and Android
(Privacy) settings.
Can we send them to the correct screen to enable access? Something like:
https://stackoverflow.com/questions/52622390/popup-is-not-coming-to-ask-permission-to-access-camera-in-ios-12
On Thu, Aug 24, 2023 at 9:06 AM Jenna Cioffi @.***>
wrote:

@bmuramatsu https://github.com/bmuramatsu is there a specific text you
wanted to use to display on screen that the camera is not available? Such
as "Camera access not available. Please allow access in your privacy
settings" as a popup with a OK button that takes them back a screen perhaps?
—
Reply to this email directly, view it on GitHub
https://github.com/digitalcredentials/learner-credential-wallet/issues/338#issuecomment-1691859304,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFXVRV7UZUA6RWMX5OF6KDXW5US3ANCNFSM6AAAAAATFYWMG4
.
You are receiving this because you were mentioned.Message ID:
@.***
.com>

PR: https://github.com/digitalcredentials/learner-credential-wallet/pull/502

This works as expected in iOS and Android.


How to use transactions?

Is there any possibility to use transactions? I'd like to update all collections or nothing, if an error occurs.

Is there any possibility to use transactions? I'd like to update all collections or nothing, if an error occurs.

Transaction is used by default, if your migration fails midway the migrations won't be committed at all.

Sorry for the late reply and thanks for your response!


ENH: blind attempt to build for windows [travis skip][circleci skip]

@conda-forge-admin, please rerender

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

for starters
conda.exceptions.ResolvePackageNotFound:
  - popt=1.16


Show ClassNames in DEV

Anybody has a quick solution to disable classname hashing in DEV mode?
ex:

Changing this line should do it
let localIndentName = 'localIdentName=[name]__[local]___[hash:base64:5]';
if (!production) {
  localIndentName = 'localIdentName=[name]';
}

@psimyn hey buddy, that didn't seem to fix it for me =\

@psimyn any other ideas? sorry to bother =)

ah, it is a typo in the property name!
should be localIdentName not localIndentName - so the current one is broken and using the default.
I think if you fix the variable name we won't even need to the conditional - it will then have the classname before the hash.
Feel free to submit MR if you can fix this, otherwise I'll update when I'm on other computer

I will setup a PR asap. Thx!

Good find @psimyn

@psimyn unfortunately, the classNames are now appearing "readable" on PROD after this change... Any ideas?

@jrodl3r Out of interest, why do you consider it a problem that your css classes are shown? Anyway, to answer your question, it's because you are still useing name even in prod;
let localIndentName = 'localIdentName=[name]__[local]___[hash:base64:5]';.
Remove it to something like;
let localIndentName = 'localIdentName=[local]___[hash:base64:5]';.
Or even;
let localIndentName = 'localIdentName=[hash:base64:5]';.

@GGAlanSmithee it adds another layer of user-visible security. For example, say some cheese-head comes along and starts inspecting your code, the scrambled class-names are pretty good sign that you have a legitly secured system, and they're more likely to keep moving along to the next potential target. Just optics more than anything for me ; ) Thx! 👍

Fixed by #884


[libjpeg-turbo] build failure

Operating system
Windows
Compiler
MSVC Preview
Steps to reproduce the behavior
vcpkg install --recurse  --keep-going --x-use-aria2 --enforce-port-checks --triplet=x64-windows-
static libjpeg-turbo

Failure logs
Output:
Computing installation plan...
The following packages will be built and installed:
<EMAIL_ADDRESS>Detecting compiler hash for triplet x64-windows-static...
Restored 0 package(s) from C:\Users\ךינשגכהד\AppData\Local\vcpkg\archives in 159 us. Use --debug to see more details.
Installing 1/1<EMAIL_ADDRESS>Building<EMAIL_ADDRESS>-- Using cached libjpeg-turbo-libjpeg-turbo-3.0.1.tar.gz.
-- Cleaning sources at C:/Users/ךינשגכהד/vcpkg/buildtrees/libjpeg-turbo/src/3.0.1-4324fbd2eb.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source C:/Users/ךינשגכהד/vcpkg/downloads/libjpeg-turbo-libjpeg-turbo-3.0.1.tar.gz
-- Applying patch add-options-for-exes-docs-headers.patch
-- Applying patch workaround_cmake_system_processor.patch
-- Using source at C:/Users/ךינשגכהד/vcpkg/buildtrees/libjpeg-turbo/src/3.0.1-4324fbd2eb.clean
-- Configuring x64-windows-static
-- Building x64-windows-static-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:134 (message):
    Command failed: C:/Users/ךינשגכהד/scoop/apps/cmake/3.28.1/bin/cmake.exe --build . --config Debug --target install -- -v -j21
    Working Directory: C:/Users/ךינשגכהד/vcpkg/buildtrees/libjpeg-turbo/x64-windows-static-dbg
    See logs for more information:
      C:\Users\ךינשגכהד\vcpkg\buildtrees\libjpeg-turbo\install-x64-windows-static-dbg-out.log

Call Stack (most recent call first):
  installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_build.cmake:74 (vcpkg_execute_build_process)
  installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_install.cmake:16 (vcpkg_cmake_build)
  ports/libjpeg-turbo/portfile.cmake:58 (vcpkg_cmake_install)
  scripts/ports.cmake:170 (include)

error: building libjpeg-turbo:x64-windows-static failed with: BUILD_FAILED
Elapsed time to handle libjpeg-turbo:x64-windows-static: 16 s
Total install time: 16 s
RESULTS
  libjpeg-turbo:x64-windows-static: BUILD_FAILED: 16 s

SUMMARY FOR x64-windows-static
  BUILD_FAILED: 1

install-x64-windows-static-dbg-err.log
install-x64-windows-static-dbg-out.log
Additional context
No response

Try again on a path without special characters

Works


Error: People.person (birthday as year only)

Lordmike;
I found a very early TMDB actor record (231) which only contained the year in the birthday field. People.person object throw a datetime error and nothing in the resulting object.  (I would have expected this to be a "date" type not a "datetime" type BTW).  I changed TMDB's record to the whole date YYYY-MM-DD resulting in proper response results. Any chance this object can be adjusted to allow just a year as well as a full date?
Regards; Joe

Lordmike;
Found other culprits like the above at TMDB records 702, 766, 833. I will not edit these TMDB records for now so you can have the test hits.
Joe

Changing this would be possible but it would either leaving the field as a string or doing some custom deserialization for this. In my opinion the use case is so small that I think it's not worth the exception. In all honesty the API should be sending back the correct response format.

I'll poke TMDb about this.

There are currently about 2,194 people with either an incomplete birthday, day of death, or both. By incomplete I mean only the year.  And it's possible to add more dates with just the year.  The expected format is iso-8601 YYYY(-MM-DD), parenthesis around the month and day mean they are optional, of course.
In my opinion, this is how the database should be designed.  With historical data, the exact date isn't always known and a database should be able to accept only the year. I wish the movie & TV release date were setup this way instead of having to input bogus information when the exact date isn't known (xxxx-01-01 or xxxx-12-31 for examples).
Here's a spreadsheet of the people with incomplete dates, last updates two days ago: https://docs.google.com/spreadsheets/d/1LGIlLxXEkb2g9zLVeESBFB41-UVZk_wAnod31QV1K5Q/edit?usp=sharing

this is a bit of a pain. A .NET date has to have all criteria so this basicly means we can't parse it a such... It is an issue because you loose a part of date localization. ex here in Belgium and much of europe we write a date dd/mm/yyyy not mm/dd/yyyy. But as it stands the only easy way to fix this is to have the field as a string. Else we have to start with dual fields, a nullable date field and a year field as a string. Then we can have a helper field that does something like dateField.ToString() ?? yearString

How about a string field and a DateTime conversion helper?
The helper could either be an extension method or a method directly on the class(es), which would then do hacks (such as setting month and day to 1 for dates with only years..).

We could always go all-crazy and have a special TMDbDate object which can be either a year or a full date. We'd then overload comparisons so that it's easy to use when comparing with other DateTime objects..
When we only have the year, comparions would go like this (we assume that having only a year means the entire year is covered. Luckily, C# makes it easy to overload operators :).
new TMDbDate(1990) == new DateTime(1990, 7, 2)
new TMDbDate(1992) != new DateTime(1990, 7, 2)
new TMDbDate(1997) > new DateTime(1990, 7, 2)

@Naliath, @joebob49, @Paszt .. please comment on the previous commit on the branch issue-68 (f9d1a5e792ab9e66ccab119aaa8b3064100fe708). I've linked up Person to the new Date type. The tests ensure that comparisons work as expected (as I detailed in my previous comment).

It could seem like the faulty dates for the person objects are being wiped. The code I made would therefore not apply to Person (at least for birth- and deathdates).
But it should be possible to use the concept elsewhere, where exact dates are not guaranteed.

Just posted this at TMDB
Mike and Travis;
I setup two fields in my database, one for the movie_ year (integer) only in the movie record and the other for the release date (date) in the movie_releases record.Then I can search/etc. as needed. This seems to be a reasonable solution as I can validate on (integer) (range) or (date) as required. This would be consistent with "original language" and "spoken language" logic. To populate my movie_year field from TMDB I used year(release_date) if the latter validates as (date).
Ignore it!
A word of caution guys;
Having worked with VERY large Db's (up to 100 Million records) which where public input databases the best solution is NOT to input/store dates in the whole but as three separate fields; Year (validates as integer range 1800 to #### (where #### is typically year(now()), Month as integer range 1-12, Day as integer range (1-31). So the user is trapped into entering a validate year, or year and month, or year, month, day (Three inputs on form.) There will be no data loss in altering the table if done in three passes. Add the new fields, populate from the old field and then drop the old field, If Date of Birth and Date of Death are involved the former must be less than the latter. If the month or day are not used they default to NULL. If a developer wishes to rejoin into a date type they can where possible from the three fields only if all are valid.
BTW, the same is true for items like "Fullname". Names should be stored as Surname, Forename(s), and (Middle Names/Initials). If thought through this makes perfect sense.
Regards;
Joe

@LordMike I'm not a big fan of a custom type in this situation but if it works, it works. I think it's key to just keep it simple for average users to consume the api.
@joebob49 While I get the argument of storing it a separate fields (mainframe style) it makes consumption of the api less user friendly. Then again the approach they took in making this a less than normal datatype. It's a date, but not all the time is not great either and the field per date type of solution would of been preferable if you are going to allow this type of input.

Mike, Naliath. et al;
I looked at your new code. Sorry to say but this is not really "fixing" any of the date problems. The solution is really with TMDB using a more refined data structure. Naliath; An easy fix is really never the best solution as it will come back and bite your sooner or later. Nore is "less friendly". When there is a job to be done use the best solution not the cheapest/easiest. Please consider the value of TMDB to the end user. They are the consumers are they not? "It's a date" is not really true if there are latency records where the data is an integer or future input by the user can only be a year because that's all they have. Better a year than nothing here because as you know movie titles/ people's names are not unique so some kind of tie braker is required. So allow the input as such....
Joe

@joebob49 I'm not talking about an easy fix as a long term solution (deserializing it as a string will make it work now with little to no effort of our part and get you the data). I'm talking about an easy interface for the user to consume. The way Mike is trying to fix it is actually the best .net way, it might not be complete yet but what he is trying to do is to mimic the 'complex' data structure exposed by TMDb, while still allowing for localization (date formatting) to work.

Using .NET's DateTime is THE best way to handle dates. It makes the API easy to use, everywhere, as dates are understood and well-used. When exposing something that doesn't fit in the DateTime class, we have to do something to make it work. I think my approach of making something that mimics DateTime, but isn't, is the best compromise to keeping it usable.
There are a number of places in TMDb where dates are used. It seems that Travis is ok with wiping the Person dates that are incomplete - which is a really good solution long term (as we fall back to a stricter type). My code is therefore made obsolete in this matter.
Other dates though, might still be only years, in which my code still applies. We just need to evaluate for each case if we need to present it as DateTime (strict format with full dates) or as a TMDbDate (not so strict format).

Naliath;
Ok that I can live with providing a real solution is forthcoming from TMDB. TMDB and it's users are the source of the data and until the problem(s) are resolved there there will be no real solution. Mike, Please impress upon Travis NOT to destroy any data. put it to the side but do preserve it. I'm sorry to be bit old school and a profectionist but "I is what I is".
Joe

@joebob49 put your 2-cents into the discussion at https://www.themoviedb.org/talk/556a091992514173f5001af6 so that I'm not the only one in there chatting :P

@LordMike, how about temporary ignore error of this particular field to provide object with all another fields instead of exception?
Like this:
    public class Test
    {
        [JsonProperty("date")]
        public DateTime? MyDate { get; set; }

        [JsonProperty("name")]
        public string Name { get; set; }
    }

    public static void Main(string[] args)
    {
        var str = "{\"date\":1954, \"name\":\"test\"}";

        var settings = new JsonSerializerSettings
        {
            Error = (serializer, errorEventArgs) =>
            {
                if (errorEventArgs.ErrorContext.Path == "date")
                {
                    errorEventArgs.ErrorContext.Handled = true;
                }
            }
        };

        var result = JsonConvert.DeserializeObject<Test>(str, settings);
    }

@agoretsky check out <IP_ADDRESS>-alpha.

@LordMike, thank you!


Firestore to be able to update individual field in an array using arrayUnion

Firestore to be able to update individual field in an array using arrayUnion
So far, no easy way to just update a single field in a array inside Firestore.

so it's still not possible?

@cad0p This should be fixed as indicated in the original issue:
https://github.com/flutter/flutter/issues/21148#issuecomment-449645405


Get analytics for Tableau

Is it even possible to see analytics through Tableau? Let's find out...
Acceptance criteria:

[x] Reach out to Emilie for login access
[x] Obtain access
[ ] Poke around to find analytics (if show in free version)
[ ] Collect analytics and save in Teams channel (if they exist)
[ ] Create additional ticket for analysis

Do you want to analyze the analytics as part of this? Or how/what are you going to do with the information?

Good note. It's hard to know without seeing what kinds of information we have access to (if we do) - I've added a last checklist item to create another ticket for analysis when we know more about what analytics we have.

Note: not completed during initial research and discovery phase. Removed from Internal Research EPIC to capture in potential future work. Moved ticket to icebox.


ROM on TruffleRuby

Finally, after very long period, all ROM specs are passed in TruffleRuby 19.1.0. Unfortunately, it takes them long time to run. See https://travis-ci.com/rom-rb/rom/builds/117776330

It's fantastic that it passes now but it will be blocked as long as it takes 20 minutes 😭

I'm sorry but I need to close this since we switched to GitHub Actions. Let's revisit it once setup-ruby action supports TruffleRuby.


Maximum Zoom: floating-point

Since in the current master it is now possible to zoom by floating-point values, it would be nice to also allow a floating-point for the maximumZoom: setMaxZoomLevel(double).

Good idea

@Maradox should this be a blocking issue for v6? or could it wait until a follow up version?

It would be more consistent with the rest of the changes of v6. Do we need to keep the old methods or could we just replace them with their double versions? Maybe I have time for a PR this week. Otherwise I guess v6 could be shipped without it.


Outdated Config Path

At Step#2, the path to configure bing maps is invalid, the accurate one is Resources > Scheduling Parameters > Resource Scheduling

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

ID: 220d9ab4-1f37-8d9a-94be-57550db235fd
Version Independent ID: dfaead6c-26cf-8bdf-f2f9-dc254b8de078
Content: Perform initial configurations (Dynamics 365 Field Service)
Content Source: ce/field-service/perform-initial-configurations-setup.md
Technology: field-service
GitHub Login: @krbjoran
Microsoft Alias: FieldServiceDave

This doc has since been updated to reflect the current pathways.


Review and duplicate sphinx documentation

Review and merge this feature
Duplicate and PR feature in vision

This issue has evolved into a small refactor, moving code into brainscore-core and separating into two parts:

generic plugin management/general utility hooks
rst generation code specific to readthedocs content generation

Will then write scripts to apply core code in both language and vision

Code to apply Core functionality is PRed in vision (PR #553 and language (PR #232). Both are waiting on Core functionality.


11/20 release broke builds (EACCES: permission denied, mkdir/'out')

@TwitchBronBron the outDir is now required where it wasn't before. Just make note of that since it caused builds to break


[Bug]: OAuth - On trying to save an OAuth DS - I get an malformed parameter error

Is there an existing issue for this?

[X] I have searched the existing issues

Description
When I try to save an OAuth DS -  I get an malformed parameter error
Steps To Reproduce

Create an OAuth DS with authentication type as Auth2.0 and save.
Now bind some values from the manage environments page to Production environment.
Fill up all remaining required details on the Edit DS page.
Click on Save.
An error pops up - "Malformed parameter ...  "

Public Sample App
No response
Issue video log
No response
Version
EC2 instance

Fixed


did the generator create the app/helpers/hyrax/iiif_helper.rb file?

Summary
Acceptance Criteria

[ ]

Screenshots or Video
Testing Instructions
Notes
Confused how to fill this out? Check out the playbook

closed by adding specs in #68


Attempting to probe minilogue XD through logue-sdk fails [Linux]

Describe the bug
When I try to probe my minilogue through the cli it produces either "Search device request timed out" or "API version request timed out"
To Reproduce
Here is my terminal output:
✘ adamdc@AdamHome  ~/Documents/loguesdk modules/KorgCorrosion102/minilogue xd  logue-cli probe
Error: Could not find matching logue MIDI ports.

Logue interface connection failed.
  Available MIDI inputs:
    in  0: Midi Through:Midi Through Port-0 14:0
    in  1: minilogue xd:minilogue xd MIDI 1 32:0
    in  2: minilogue xd:minilogue xd MIDI 2 32:1

  Available MIDI ouputs:
    out 0: Midi Through:Midi Through Port-0 14:0
    out 1: minilogue xd:minilogue xd MIDI 1 32:0
    out 2: minilogue xd:minilogue xd MIDI 2 32:1

 ✘ adamdc@AdamHome  ~/Documents/loguesdk modules/KorgCorrosion102/minilogue xd  logue-cli probe -i 1 -o 1
Error: Search device request timed out.
Logue handshake failed.
 ✘ adamdc@AdamHome  ~/Documents/loguesdk modules/KorgCorrosion102/minilogue xd  logue-cli probe -i 2 -o 2
Error: API version request timed out.
Logue handshake failed.
 ✘ adamdc@AdamHome  ~/Documents/loguesdk modules/KorgCorrosion102/minilogue xd  logue-cli probe -v -d -i 2 -o 2

>>> { f0, 42, 50, 0, 55, f7 }
<<< { f0, 42, 50, 1, a, 55, 51, 1, 0, 0, 2, 0, 1, 0, f7 }
> Device: minilogue xd
> System version: 2.10
>>> { f0, 42, 32, 0, 1, 51, 17, f7 }
Error: API version request timed out.
Logue handshake failed.

Expected behavior
Able to probe my minilogue xd
Desktop (please complete the following information):
Arch Linux 5.8.5-arch1-1

For what it's worth I am seeing exactly the same issue with my minilogue xd and Ubuntu 20.04 (kernel 5.4)
Running latest firmware (v2.10)

I am encountering the exact same behavior on arch linux with kernel 5.10. It would seem minilogue does not get the second sysex message or does not respond to it.
I tried using a usb to midi cable, which yielded the same result.
./logue-cli probe -v -d -i 2 -o 2

>>> { f0, 42, 50, 0, 55, f7 }
<<< { f0, 42, 50, 1, 8, 55, 51, 1, 0, 0, 2, 0, 1, 0, f7 }
> Device: minilogue xd
> System version: 2.01
>>> { f0, 42, 30, 0, 1, 51, 17, f7 }
Error: API version request timed out.
Logue handshake failed.

I'd wager this is a problem of the message not being composed well in the first place (can't be sure here, but the third byte differs in my case compared to the report above) or alsa changing the midi message content or outright dropping it.
Either way, after running the logue-cli exactly once on new connection, this is the result:
cat /proc/asound/xd/midi0
minilogue xd

Output 0
  Tx bytes     : 0
Output 1
  Tx bytes     : 14
Input 0
  Rx bytes     : 0
Input 1
  Rx bytes     : 64

The number of bytes received does not match, which is probably okay due to midi clock being sent on the midi out of the minilogue all the time.

Okay after digging through this, the issue is simple - logue-cli does not handle MIDI Channel well.
The API version request does not use the correct midi channel - the first response from minilogue reports port no 9 (hex 8) clearly, yet the second request uses midi channel 1 (hex 0) instead. (As per Korg's own MIDI implementation document, the third byte should be 3g, where g is the midi channel)
Changing the midi channel on minilogue to 1 fixes the issue.
>>> { f0, 42, 50, 0, 55, f7 }
<<< { f0, 42, 50, 1, 0, 55, 51, 1, 0, 0, 2, 0, 1, 0, f7 }
> Device: minilogue xd
> System version: 2.01
>>> { f0, 42, 30, 0, 1, 51, 17, f7 }
<<< { f0, 42, 30, 0, 1, 51, 47, 2, 1, 1, 0, f7 }
> Logue API version: 1.01-0
> Available modules:

>>> { f0, 42, 30, 0, 1, 51, 18, 0, f7 }
<<< { f0, 42, 30, 0, 1, 51, 48, 0, f7 }
Global: no info.
>>> { f0, 42, 30, 0, 1, 51, 18, 1, f7 }
<<< { f0, 42, 30, 0, 1, 51, 48, 1, 0, 1, 74, 1f, 0, 0, 0, 18, 0, 0, 0, 10, f7 }
Modulation FX: [ slot_count: 16, max_payload_size: 8180, max_load_size: 6144 ]
>>> { f0, 42, 30, 0, 1, 51, 18, 2, f7 }
<<< { f0, 42, 30, 0, 1, 51, 48, 2, 0, 1, 70, 3f, 0, 0, 0, 30, 0, 0, 0, 8, f7 }
Delay FX: [ slot_count: 8, max_payload_size: 16368, max_load_size: 12288 ]
>>> { f0, 42, 30, 0, 1, 51, 18, 3, f7 }
<<< { f0, 42, 30, 0, 1, 51, 48, 3, 0, 1, 70, 3f, 0, 0, 0, 30, 0, 0, 0, 8, f7 }
Reverb FX: [ slot_count: 8, max_payload_size: 16368, max_load_size: 12288 ]
>>> { f0, 42, 30, 0, 1, 51, 18, 4, f7 }
<<< { f0, 42, 30, 0, 1, 51, 48, 4, 0, 23, 70, f, 0, 0, 0, 0, 0, 0, 0, 10, f7 }
Oscillator: [ slot_count: 16, max_payload_size: 36848, max_load_size: 32768 ]

... and so on...

The same problem happens with logue-cli.exe (tried that by using it via wine).
Please, Korg, fix the logue-cli utility so it is usable on a different channel than no. 1.

I can confirm. I was having issues with logue-cli using MIDI channel 2. Thanks for the input, @volca02  and I hope KORG fixes this issue.

This might explain some of the issues I've been having with a completely different use case: sending user scales to the Minilogue XD via SysEx from the ODDSound MTS-ESP suite. Maybe I need to specify channel 1 and make sure the Minilogue XD is set to listen on channel 1.


gRPC release Release v1.60.0 fails to build

What version of gRPC and what language are you using?
v1.60.0
What operating system (Linux, Windows,...) and version?
Ubuntu 18.04
What runtime / compiler are you using (e.g. python version or version of gcc)
gcc 8.4.0
cmake 3.19.6
What did you do?
Download and unzip Release v1.60.0. cd to unzipped directory
mkdir -p cmake/build
cd cmake/build
cmake -DgRPC_INSTALL=ON -DgRPC_BUILD_TEST=OFF -DCMAKE_TOOLCHAIN_FILE=~/grpc_ubuntu.cmake -DCMAKE_INSTALL_PREFIX=/usr/local ../..
The contents of the .cmake file is
set(CMAKE_C_COMPILER /usr/bin/gcc-8)
set(CMAKE_CXX_COMPILER /usr/bin/g++-8)
What did you expect to see?
A successful compile of gRPC
What did you see instead?
CMake Error at CMakeLists.txt:5417 (add_library):
Target "grpcpp_channelz" links to target "absl::cleanup" but the target was
not found. Perhaps a find_package() call is missing for an IMPROTED
target, or an ALIAS target is missing?
and many more similar errors.
Anything else we should know about your project / environment?
The build is being done in a docker container

The recommended way to build gRPC would be by cloning the repository at the tag. This way all the necessary dependencies would be downloaded as Git submodules. You may find the directions here: https://github.com/grpc/grpc/blob/master/BUILDING.md
It should be possible to install dependencies using your package manager but it may prove challenging to find a correct version of specific dependencies for a particular gRPC release as they often times do not provide a stable API...


alpine: Reinstate a line continuation to silence dockerfilelint

I'm surprised this worked to build (I didn't test it), I just saw the dockerfilelint error:

File:   alpine/Dockerfile
Issues: 1

Line 18: 	&& HOMEBREW_NO_ANALYTICS=1 brew install -s patchelf \
Issue  Category      Title                 Description
    1  Possible Bug  Invalid Command       Only valid commands are allowed in a Dockerfile.

This only silences one of the two Dockerfilelint errors. The documented syntax for ignoring rules  doesn't appear to work. I tried making a .dockerfilelintrc with:
rules:
  latest_tag: off

to no avail. Oh well! I figured at this point if we've not fixed it then best ignore it!

Thank you, Issy!


Add tag for Homepage/portfolio in footer

Hi, could you describe your suggestion in more detail?
Do you propose there be a link in the footer to take the user to the homepage?
I can certainly see some merit in that, though what I have done instead for my own site is to have a link to take the user to the top of the page. The user can then use the top navigation links. Your suggestion (if I understand it correctly) does have advantages, however.
What do you mean about a portfolio? Are you proposing a separate link in the footer to a portfolio? Not everyone has a portfolio on their website and in fact, by default Jekyll Now does not provide a portfolio. Of course, a portfolio could be added to Jekyll Now, but would the majority of people use it?

@ldjb Yeah I mean that only, don't get confused by portfolio.


GradTTS and HiFiGAN

Look gucci.  There are two test failures but these look like just importing from uninstalled packages.


V4 dev backports and updates

@mdo: the responsive containers patch isn't merged yet. IMO we should make the next v4 release a patch version, but if we are going to merge this, be it a feature, we'll definitely need to make it a minor version bump.

I split the container-related patches so that we move forward with merging this, because it keeps growing.


WIP (not working yet) Fixes #161. Refactors runtime.

Fixes #161 and refactors the runtime a little bit, hopefully simplifying it and making it a bit more readable.
This simplifies the process of loading the graph quite a bit and disallows cyclical references in the component DAG.
Also includes some work in progress to port some of the old example agents over to the current version of AgentOS.

This has a critical bug in the new component DAG loading logic that tests/test_core.py found. I'm still fixing this bug.


bump to 0.10.1-SNAPSHOT for development

Codecov Report

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

@@            Coverage Diff            @@
##             master     #277   +/-   ##
=========================================
  Coverage     70.94%   70.94%
  Complexity      556      556
=========================================
  Files            81       81
  Lines          2750     2750
  Branches        276      276
=========================================
  Hits           1951     1951
  Misses          693      693
  Partials        106      106

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 05d4c20...674c00e. Read the comment docs.

LGTM


Try to downsize a little

When updating to Kafka 2.2 we are now over 50Mib again.
Here are the top 10 biggest single-file dependencies. Note that this doesn't imply they are the largest dep trees.
6328131 Fri May 10 15:43:50 CEST 2019 BOOT-INF/lib/armeria-0.85.0.jar
3874332 Tue Jan 08 16:44:40 CET 2019 BOOT-INF/lib/zstd-jni-1.3.8-1.jar
3113599 Sat Mar 23 20:40:48 CET 2019 BOOT-INF/lib/netty-tcnative-boringssl-static-2.0.23.Final.jar
2726299 Fri Mar 01 17:37:00 CET 2019 BOOT-INF/lib/cassandra-driver-core-3.7.1-shaded.jar
2661351 Sat Mar 09 11:44:42 CET 2019 BOOT-INF/lib/kafka-clients-2.2.0.jar
2442264 Wed May 15 15:35:36 CEST 2019 BOOT-INF/lib/zipkin-ui-2.13.1-SNAPSHOT.jar
2370102 Tue Apr 09 15:00:16 CEST 2019 BOOT-INF/lib/jooq-3.11.11.jar
2308517 Wed Dec 09 15:58:22 CET 2015 BOOT-INF/lib/guava-19.0.jar
2018686 Mon May 21 18:18:34 CEST 2018 BOOT-INF/lib/snappy-java-<IP_ADDRESS>.jar
1629585 Tue Feb 05 18:12:30 CET 2019 BOOT-INF/lib/log4j-core-2.11.2.jar

Kafka has a bunch of the largest deps. I think on gitter we discussed that likely there is nothing we can do about it as it isn't appropriate to remove one of its compression libraries. It is a shame they are so huge. cc @jeqo
[INFO] +- org.apache.zipkin.zipkin2:zipkin-collector-kafka:jar:2.13.1-SNAPSHOT:compile (optional)
[INFO] |  \- org.apache.kafka:kafka-clients:jar:2.2.0:compile (optional)
[INFO] |     +- com.github.luben:zstd-jni:jar:1.3.8-1:compile (optional)
[INFO] |     +- org.lz4:lz4-java:jar:1.5.0:compile (optional)
[INFO] |     \- org.xerial.snappy:snappy-java:jar:<IP_ADDRESS>:compile (optional)

once the UI is finally killed we will be under 50 again anyway

@anuraaga do you think it is important for us to bundle netty-tcnative-boringssl-static? What would not work if we didn't?

I looked at some suspicious once.. jsoup is 400K and deals with something that seems normal string replacement should work out. Basically, we should be able to control our index.html generation in lens and ui to always emit the base tag, eliminating this logic: https://github.com/apache/incubator-zipkin/blob/master/zipkin-server/src/main/java/zipkin2/server/internal/ui/ZipkinUiConfiguration.java#L116-L120
then, the replacement here should be normal string replacement.
Note: I just checked and here is the base tag in our two UIs
zipkin-ui: <base href="/zipkin/">
zipkin-lens: <base href=/ />

note if we update from guava 19 -> guava 27 the size grows about 1MiB not just because the increase in stuff inside guava, but also because its growing dependency tree

I'ld think excluding netty-tcnative-boringssl-static is definitely worth a try, i know grpc with the netty transport definitely works without it if you don't use TLS.

@adriancole yes, we discussed that. We could potentially remove compression libraries and offer a way to add them to the classpath if required; or we could have different distributions with/without. WDYT?

good news is that these kafka compression jars have no dependencies.. it
could be reasonable to explain how to get them (using curl for example)
except that knowing which versions might take some shell scripting..
(haven't looked to see how stable the APIs are)
On Wed, May 15, 2019, 7:09 PM Jorge Quilcate Otoya<EMAIL_ADDRESS>wrote:

@adriancole https://github.com/adriancole yes, we discussed that. We
could potentially remove compression libraries and offer a way to add them
to the classpath if required; or we could have different distributions
with/without. WDYT?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-zipkin/issues/2596?email_source=notifications&email_token=AAAPVVZ3TW6VT7UKSVFX3ELPVQ7TRA5CNFSM4HNDOHF2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVPKD2Q#issuecomment-492741098,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAPVV2GO7FBNLVKL6XKYYTPVQ7TRANCNFSM4HNDOHFQ
.

I wonder if even if you do use SSL if boring SSL is required (ex jre 11..
does it need this?)
On Wed, May 15, 2019, 4:36 PM Jorg Heymans<EMAIL_ADDRESS>wrote:

I'ld think excluding netty-tcnative-boringssl-static is definitely worth
a try, i know grpc with the netty transport definitely works without it if
you don't use TLS.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-zipkin/issues/2596?email_source=notifications&email_token=AAAPVV5ULC5ZNTE2RJQGEQTPVQNYNA5CNFSM4HNDOHF2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVO3YGI#issuecomment-492682265,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAPVV4ZQXXRBVB7IHEVAJDPVQNYNANCNFSM4HNDOHFQ
.

Java 11 (technically 9+) don't need boringssl for TLS. I've had mixed results with comparing performance of Java vs boringssl anyways, so seems fine to exclude it.

also jooq for a feature that we don't really recommend to use in production ...

thanks for the feedback folks. I think our next minor can get more slim
On Thu, May 16, 2019, 8:28 AM Jorg Heymans<EMAIL_ADDRESS>wrote:

also jooq for a feature that we don't really recommend to use in
production ...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-zipkin/issues/2596?email_source=notifications&email_token=AAAPVV6EWKV5RWZGGE7TBHTPVT5JZA5CNFSM4HNDOHF2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVQZSKQ#issuecomment-492935466,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAPVV3F4ZIM25JLZUCFYNTPVT5JZANCNFSM4HNDOHFQ
.

Jorge, in the use case of span data reporting.. if you had to pick one
compression which would it be? since this is only for the server we can
take an opinion
On Wed, May 15, 2019, 7:09 PM Jorge Quilcate Otoya<EMAIL_ADDRESS>wrote:

@adriancole https://github.com/adriancole yes, we discussed that. We
could potentially remove compression libraries and offer a way to add them
to the classpath if required; or we could have different distributions
with/without. WDYT?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-zipkin/issues/2596?email_source=notifications&email_token=AAAPVVZ3TW6VT7UKSVFX3ELPVQ7TRA5CNFSM4HNDOHF2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVPKD2Q#issuecomment-492741098,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAPVV2GO7FBNLVKL6XKYYTPVQ7TRANCNFSM4HNDOHFQ
.

Have been using snappy lately but haven't benchmark them myself.
Found this benchmark from cloudflare and seems like the best choice would be between snappy for kafka <2.1 and zstd for >=2.1.
Probably worth making a benchmark based on tracing data and ship zipkin server with recommended compression libs.

By the way, I think this is a zipkin server running on Java 8. I'm currently trying to recommend reducing the list of ciphers and using boringssl, for what it's worth.
https://github.com/line/armeria/issues/1772
Paper trail
https://github.com/line/armeria/issues/1711
https://github.com/apache/incubator-zipkin/issues/2449

Additional thought, a compromise would be to include netty-tcnative instead of netty-tcnative-boringssl-static. It's only 25K as opposed to 3MB and still allows using OpenSSL if it happens to be on the system and linkable. I've never used it though and don't know what the success chance of such linking actually happening is.

On Thu, May 16, 2019 at 10:55 AM Anuraag Agrawal<EMAIL_ADDRESS>wrote:

Additional thought, a compromise would be to include netty-tcnative
instead of netty-tcnative-boringssl-static. It's only 25K as opposed to 3MB
and still allows using OpenSSL if it happens to be on the system and
linkable. I've never used it though and don't know what the success chance
of such linking actually happening is.

Do we know anyone who would know if it were working or not? Perhaps we can
have an ad-hoc test..

It's easy to check, armeria logs at startup whether it's using openssl or not. But I was more thinking of the fact that when others use it, it will depend highly on their OS setup, etc whether openssl gets loaded or not correctly, which isn't something we can test for.

suppose an answer could be that we remove it and wait for someone to ask
about this ;) the jar is self contained so they could add to classpath.
On Sun, May 19, 2019, 9:29 AM Anuraag Agrawal<EMAIL_ADDRESS>wrote:

It's easy to check, armeria logs at startup whether it's using openssl or
not. But I was more thinking of the fact that when others use it, it will
depend highly on their OS setup, etc whether openssl gets loaded or not
correctly, which isn't something we can test for.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-zipkin/issues/2596?email_source=notifications&email_token=AAAPVV7F7OXJISQRBXCBMXTPWD6UHA5CNFSM4HNDOHF2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVW4QHI#issuecomment-493733917,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAPVVY7OZMOFRHEKXPPCUTPWD6UHANCNFSM4HNDOHFQ
.

Effort was completed to create a "slim" version which currently weighs in at about half the size of the 'classic' zipkin server , and further additions of any new dependencies are heavily scrutinized first.


chore: 0.8.1 release proposal

Release draft: https://github.com/open-telemetry/opentelemetry-js/releases/edit/untagged-f0de4c69e80bef340985

Waiting on #1059

Waiting on #1059/#1060

Would be nice if you can include #1055 (and strech #1050).

#1050 has only 2 approvals. Do we want to merge it, wait for more reviews, or just release this without it?

@dyladan I'm fine with merging it as-is, its just two new packages. There aren't yet documented elsewhere so there is no risk for me

@dyladan I'm fine with merging it as-is, its just two new packages. There aren't yet documented elsewhere so there is no risk for me

I agreed, I am fine with merging #1050.


tests: fs/nffs_fs_api: fix uninitialized reference time variable

The reftime variable used for performance numbers is not initialized
prior to being used. Initialize it to the current uptime so delta
can be calculated correctly.
Fixes #13877
Fixes CID-190936
Signed-off-by: Daniel Leung<EMAIL_ADDRESS>

Codecov Report

Merging #13996 into master will decrease coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #13996      +/-   ##
==========================================
- Coverage   52.27%   52.23%   -0.04%
==========================================
  Files         307      307
  Lines       45447    45447
  Branches    10514    10514
==========================================
- Hits        23757    23741      -16
- Misses      16900    16912      +12
- Partials     4790     4794       +4

Impacted Files
Coverage Δ

subsys/testsuite/ztest/include/ztest_assert.h
38.88% <0%> (-38.89%)
:arrow_down:

subsys/testsuite/ztest/src/ztest.c
65.28% <0%> (-7.44%)
: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 05fa9c8...8502858. Read the comment docs.


Add support for AUTH with user + password introduced in Redis 6

Feature Request
In Redis 6 it is now possible to authenticate either using a simple password (legacy) or using a user + password
AUTH secret
AUTH default secret

See ACL documentation section in Redis Doc
Is your feature request related to a problem? Please describe
No
Describe the solution you'd like
Just support new features of Redis 6
Describe alternatives you've considered
No alternative,
Teachability, Documentation, Adoption, Migration Strategy
Adding new parameter to the auth() method and URIs

While it would be hacky and awkward, can't you specify the password as a two part atom - userpassword. I haven't checked the parser to see if this is an issue.

The format user:password applies only to RedisURI. We should introduce for Lettuce a dedicated overload (auth(String username, CharSequence password)). Any kind of separator char would clash with valid Redis passwords.

I would go so far as to say considering creating an
auth(Principal principal) abstraction, with overloads for the username only and username/password is a better abstraction?

One thing I'd also like to bring up is that its not just for RESP 3 but also for RESP2 as well. Both will be supported in Redis 6.

@mp911de what the release plan for it? since Redis 6 is backward compatible with RESP2 I don't think this issue should be blocked by the RESP3 implementation.

I was a bit reluctant on releasing a first milestone as Redis 6's Sentinel with RESP3 (antirez/redis#6160) creates an impediment for RESP3 usage. Lettuce 6 attempts a RESP3 handshake by default and so the default behavior renders Sentinel arrangements unusable.


add *.blg to gitignore

Coo! Lemme know if you were able to get this template to pass inspection... it's changed significantly since the last report of success. Thanks!


Solve the problem with type in navigation

nav.navigate("Menu");
in typescript it does not work well because it needs a correct typing

link I used to solve the problem https://benjaminwoojang.medium.com/react-navigation-with-typescript-270dfa8d5cad


"Kill" button disabled for submitted jobs

In the Run->Active tab, the kill button is disabled when focusing on jobs with the status submitted

It should indeed be possible to remove job instances that have not yet begun to run.


Item quality attribute

Please consider adding an item quality attribute. I'd like for bosses to drop a maximum quality item.

Hm, looks easier than expected. Will add to todo

Wrong. Not easy at all.
Diving deep.


Azure Subscription ReconcileError

What happened?
For our product, we are creating subscriptions in Azure for our customers.
We are assigning subscriptions to the billing scope.
When we submit our composition subscription is created but we are receive ReconcileError
How can we reproduce it?
run
cat <<EOF | kubectl apply -f -
apiVersion: azure.upbound.io/v1beta1
kind: Subscription
metadata:
  name: test-sub
spec:
  forProvider:
    subscriptionName: test-sub
    billingScopeId: "<id>"
  providerConfigRef:
    name: subscription-creator
EOF

then after a while when reconciliation happens
kubectl describe subscription test-sub
check the output
Invalid combination of arguments: "subscription_id": only one of `billing_scope_id,subscription_id` can be specified, but `billing_scope_id,subscription_id` were specified.

What environment did it happen in?
Crossplane version:
upbound/crossplane:v1.12.2-up.2
provider:
package: xpkg.upbound.io/upbound/provider-family-azure:v0.35.0
Recreated from
https://github.com/crossplane/crossplane/issues/4429

@jankaacc I've opened https://github.com/upbound/provider-azure/pull/506 as the fix candidate. Could you please test the fix e2e in your environment using the tentative build?
apiVersion: pkg.crossplane.io/v1
kind: Provider
metadata:
  name: provider-family-azure
spec:
  package: index.docker.io/ytsarev/provider-family-azure:v0.17.0-522.gafb23a86

Thanks in advance!

@ytsarev I have tested and it worked. Subscription is in the synced state, it is possible now to delete the subscription.
Thank you !


Version 1.64.0 breaks remote container development

Issue Type: Bug
Version 1.64.0 breaks remote container development.
Opening a folder in the container fails as vscode server is unable to be downloaded.
See below error for terminal:
[823 ms] Start: Run in container: test -d /root/.vscode-server/bin/5554b12acf27056905806867f251c859323ff7e9
[825 ms]
[826 ms]
[826 ms] Exit code 1
[826 ms] Installing VS Code Server for commit 5554b12acf27056905806867f251c859323ff7e9
[826 ms] Start: Downloading VS Code Server
[826 ms] 5554b12acf27056905806867f251c859323ff7e9 linux-x64 stable
[1387 ms] Error: Client network socket disconnected before secure TLS connection was established
at connResetException (internal/errors.js:607:14)
at TLSSocket.onConnectEnd (_tls_wrap.js:1544:19)
at TLSSocket.emit (events.js:327:22)
at endReadableNT (internal/streams/readable.js:1327:12)
at processTicksAndRejections (internal/process/task_queues.js:80:21)
[1387 ms] Exit code ECONNRESET
VS Code version: Code 1.64.0 (5554b12acf27056905806867f251c859323ff7e9, 2022-02-03T04:20:17.224Z)
OS version: Darwin x64 19.6.0
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz (12 x 2600)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
16.00GB (0.02GB free)

Process Argv
-psn_0_475252 --crash-reporter-id 507e6318-2d7f-43d6-aa3b-dda35c936790

Screen Reader
no

VM
0%

Extensions (23)

Extension
Author (truncated)
Version

vscode-peacock
joh
4.0.0

vscode-docker
ms-
1.19.0

vscode-edge-devtools
ms-
1.4.3

jupyter-keymap
ms-
1.0.0

remote-containers
ms-
0.217.1

remote-ssh
ms-
0.70.0

remote-ssh-edit
ms-
0.70.0

remote-wsl
ms-
0.64.2

vscode-remote-extensionpack
ms-
0.21.0

vscode-boot-dev-pack
Piv
0.1.0

vscode-concourse
Piv
1.31.0

vscode-manifest-yaml
Piv
1.31.0

vscode-spring-boot
Piv
1.31.0

java
red
1.3.0

svg-preview
Sim
2.8.3

vscodeintellicode
Vis
1.2.16

vscode-java-debug
vsc
0.38.0

vscode-java-dependency
vsc
0.19.0

vscode-java-pack
vsc
0.21.0

vscode-java-test
vsc
0.34.0

vscode-maven
vsc
0.35.0

vscode-spring-boot-dashboard
vsc
0.2.0

vscode-spring-initializr
vsc
0.8.0

Issue Referenced by these :
#142201 #142324  #142207

Continuing in https://github.com/microsoft/vscode/issues/142201.


Expose the API daemon's host/port

It would be great if the resultant host and port were exposed by the resultant disposableApi object, so that other modules using ipfs-api could make use of the disposable daemon.

indeed :+1:


Fix and consider using the terminal's latency detection code

There is some code in the terminal to enable getting the latency each terminal instance, eg:
https://github.com/microsoft/vscode/blob/bd00c624a88bed30444bdae4cc6cecc7be87a50a/src/vs/platform/terminal/node/terminalProcess.ts#L414-L416
https://github.com/microsoft/vscode/blob/bd00c624a88bed30444bdae4cc6cecc7be87a50a/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.ts#L359-L370
The idea here was to measure the time it took to call getLatency which itself is a very simple function on TerminalProcess that simple returns 0, such that getLatency requests for processes local to the renderer process would simply be 0. This could then feed into type ahead and other features as necessary. So this would measure the latency between the renderer and the TerminalProcess object, not the actual pty.
@TylerLeonhardt, @connor4312 not sure if this is of use in type ahead now but it might be a useful signal.

Hm. It would be useful to log telemetry for the difference between the terminal process latency vs pty latency.

It should be a more reliable mechanism to get the latency to the remote, in order to invalidate predictions. It just doesn't work when in an ssh session for example.

Ah, right.


Fix another flaky test TimeAndDateTest.testFutureDate

it happened when

random TimeUnit was chosen NANOSECOND, but
random "atMost" (in milliseconds) was chosen lesser than 1000000 (it's less than 1 millisecond), so upperBoundMillis was equal to 1 or 0.

Sample stack trace:
java.lang.IllegalArgumentException: bound must be positive: -1

	at net.datafaker.service.RandomService.nextLong(RandomService.java:51)
	at net.datafaker.providers.base.TimeAndDate.future(TimeAndDate.java:99)
	at net.datafaker.providers.base.TimeAndDate.future(TimeAndDate.java:47)
	at net.datafaker.providers.base.TimeAndDate.future(TimeAndDate.java:35)
	at net.datafaker.providers.base.TimeAndDateTest.testFutureDate(TimeAndDateTest.java:28)

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 91.94%. Comparing base (b37c566) to head (01f7b27).
Report is 117 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff              @@
##               main    #1217      +/-   ##
============================================
- Coverage     92.35%   91.94%   -0.42%
- Complexity     2821     2980     +159
============================================
  Files           292      305      +13
  Lines          5609     5869     +260
  Branches        599      626      +27
============================================
+ Hits           5180     5396     +216
- Misses          275      312      +37
- Partials        154      161       +7

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


Fix Issue 10718: Adds iOS support for progressViewOffset

Summary
Fixes #10718, bringing progressViewOffset support to iOS.
Thanks to @Taylor123 for the initial PR upon which this fix is based.
Changelog
[iOS] [Fix] - progressViewOffset prop of RefreshControl and VirtualizedList now works on iOS
Test Plan
Tested with quick-and-dirty sample app.

Documentation
The corresponding documentation update PR can be found here.

Hi @hramos , I see in the comments of https://github.com/facebook/react-native/issues/10718 that you're willing to re-open this issue if a PR is submitted.  Here's the PR, can you re-open the issue? =)

Hi @hramos , I see in the comments of https://github.com/facebook/react-native/issues/10718 that you're willing to re-open this issue if a PR is submitted.  Here's the PR, can you re-open the issue? =)

Ping @hramos:

happy to re-open the issue if you are ready to send a PR.
https://github.com/facebook/react-native/issues/10718#issuecomment-392065488

Hi @sammy-SC , since you reviewed #30117, would you be able to take a look at this one? We've been using it in a production app and it's working great for us. I'd love to see this get merged sometime.

Hi @sammy-SC , since you reviewed #30117, would you be able to take a look at this one? We've been using it in a production app and it's working great for us. I'd love to see this get merged sometime.

Hello @davidbiedenbach,
thanks for the PR! I'll take a look on Monday :)

@sammy-SC here's the test code. Thanks again!
import React from 'react';
import {
  StyleSheet,
  FlatList,
  View,
  Text,
  Button,
} from 'react-native';

import {
  Colors,
} from 'react-native/Libraries/NewAppScreen';

const { useState, useCallback } = React;

const App: () => React$Node = () => {

  const [height, setHeight] = useState(50);
  const [refreshing, setRefreshing] = useState(false);
  const onRefresh = useCallback(()=>{
    setRefreshing(true);
    setTimeout(()=>setRefreshing(false), 3000);
  },[setRefreshing]);
  const onPressUp = useCallback(()=>{
    if (height > 0) {
      setHeight(height - 50);
    }
  },[height, setHeight]);
  const onPressDown = useCallback(()=>{
    setHeight(height + 50);
  },[height, setHeight]);
  const renderItem=useCallback(({item, index})=> {
    if (index === 0) {
      return (<View style={{height: 100, backgroundColor:'#dfdfdf'}}><Button title="^" onPress={onPressUp}>^</Button><Button title="v" onPress={onPressDown}>v</Button></View>)
    }
    return <View style={{height: 100, backgroundColor: index % 2 === 0 ? '#ffff00' : '#00FFFF'}}/>
  }, [onPressUp, onPressDown]);
  return (
    <>
      <View style={{position:'absolute', top: 100, bottom: 0, left: 0, right: 0}}>
        <FlatList
          data={[0,1,2,3,4,5,6,7,8,9]}
          renderItem={renderItem}
          style={{backgroundColor: 'green'}}
          contentContainerStyle={{paddingTop: height}}
          progressViewOffset={height}
          onRefresh={onRefresh}
          refreshing={refreshing}
        />
        {height > 0 && <View style={{position: 'absolute', height, width: '100%', backgroundColor:'#cfcfcfaf', justifyContent:'center', alignItems:'center'}}><Text>This is an Absolute Header</Text></View>}
        </View>
    </>
  );
};

const styles = StyleSheet.create({
  scrollView: {
    backgroundColor: Colors.lighter,
  },
  engine: {
    position: 'absolute',
    right: 0,
  },
  body: {
    backgroundColor: Colors.white,
  },
  sectionContainer: {
    marginTop: 32,
    paddingHorizontal: 24,
  },
  sectionTitle: {
    fontSize: 24,
    fontWeight: '600',
    color: Colors.black,
  },
  sectionDescription: {
    marginTop: 8,
    fontSize: 18,
    fontWeight: '400',
    color: Colors.dark,
  },
  highlight: {
    fontWeight: '700',
  },
  footer: {
    color: Colors.dark,
    fontSize: 12,
    fontWeight: '600',
    padding: 4,
    paddingRight: 12,
    textAlign: 'right',
  },
});

export default App;


Allow importing specific generators without requiring all dependencies

It would be great to be able to import specific generators (e.g. CNSGA) without having to install all the current Xopt dependencies (e.g. torch, botorch, etc. which can be difficult to install on some clusters and are not actually needed for CNSGA).
This would involve:

removing some of the dependencies here: https://github.com/ChristopherMayes/Xopt/blob/main/requirements.txt, in particular ipywidgets, and maybe moving torch, botorch and gpytorch into extra_requires
adding try/except statements here, so that a missing dependency does not raise a full ImporError

Fixed by #90


Zod schemas generated with undefined min and max variables

What are the steps to reproduce this issue?

I am using FastAPI (v. 0.111.0) to generate my OpenAPI Schema (v. 3.1.0).
Then I am using Orval to generate my Zod schemas.

What happens?
When I give a field a min and max length together with optional and nullable, Orval sets the min and max to undefined variables.
What were you expecting to happen?
I would rather have these be the numbers themselves instead of variables, or defined variables :)
Minimal Reproducible Example:
Example yaml:
openapi: 3.1.0
info:
  title: FastAPI
  version: 0.1.0
paths:
  /api/v1/users/:
    post:
      tags:
        - users
      summary: Create User
      operationId: create_user
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserCreate'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserRead'
components:
  schemas:
    UserCreate:
      properties:
        first_name:
          type: string
          maxLength: 50
          minLength: 1
          title: First Name
        last_name:
          type: string
          maxLength: 50
          minLength: 1
          title: Last Name
        email:
          anyOf:
            - type: string
              maxLength: 99
              minLength: 5
              format: email
            - type: 'null'
          title: Email
          nullable: true
        phone:
          anyOf:
            - type: string
              maxLength: 15
              minLength: 10
            - type: 'null'
          title: Phone
        date_of_birth:
          type: string
          format: date
          title: Date Of Birth
      type: object
      required:
        - first_name
        - last_name
        - date_of_birth
      title: UserCreate
      description: User create schema
    UserRead:
      properties:
        first_name:
          type: string
          maxLength: 50
          minLength: 1
          title: First Name
        last_name:
          type: string
          maxLength: 50
          minLength: 1
          title: Last Name
        email:
          anyOf:
            - type: string
              maxLength: 99
              minLength: 5
              format: email
            - type: 'null'
          title: Email
          nullable: true
        phone:
          anyOf:
            - type: string
              maxLength: 15
              minLength: 10
            - type: 'null'
          title: Phone
        date_of_birth:
          type: string
          format: date
          title: Date Of Birth
        user_id:
          type: integer
          title: User Id
      type: object
      required:
        - first_name
        - last_name
        - date_of_birth
        - user_id
      title: UserRead
      description: User read schema

Example config:
import { defineConfig } from "orval";

const target = 'test.yaml'

export default defineConfig({
  Zod: {
    input: {
      target: target,
    },
    output: {
      mode: "tags",
      target: './src/gen/zod',
      client: "zod",
    },
  }
});

Example Output:
/**
 * Generated by orval v6.31.0 🍺
 * Do not edit manually.
 * FastAPI
 * OpenAPI spec version: 0.1.0
 */
import {
  z as zod
} from 'zod'

/**
 * @summary Create User
 */
export const createUserBodyFirstNameMax = 50;
export const createUserBodyLastNameMax = 50;

export const createUserBody = zod.object({
  "first_name": zod.string().min(1).max(createUserBodyFirstNameMax),
  "last_name": zod.string().min(1).max(createUserBodyLastNameMax),
  "email": zod.string().email().min(createUserBodyEmailMinOne).max(createUserBodyEmailMaxOne).or(zod.null()).nullish(),
  "phone": zod.string().min(createUserBodyPhoneMinOne).max(createUserBodyPhoneMaxOne).or(zod.null()).optional(),
  "date_of_birth": zod.string().date()
})

export const createUserResponseFirstNameMax = 50;
export const createUserResponseLastNameMax = 50;

export const createUserResponse = zod.object({
  "first_name": zod.string().min(1).max(createUserResponseFirstNameMax),
  "last_name": zod.string().min(1).max(createUserResponseLastNameMax),
  "email": zod.string().email().min(createUserResponseEmailMinOne).max(createUserResponseEmailMaxOne).or(zod.null()).nullish(),
  "phone": zod.string().min(createUserResponsePhoneMinOne).max(createUserResponsePhoneMaxOne).or(zod.null()).optional(),
  "date_of_birth": zod.string().date(),
  "user_id": zod.number()
})

createUserBodyEmailMinOne and createUserResponseEmailMaxOne are not defined.

Any other comments?
Great library, thank you very much! Let me know how I can help out.
And sorry if there is something small I am missing.
What versions are you using?
Operating System: MacOS (M1)
Package Version: 6.31.0

PR is welcome if you want to look at the zod generating source.

Any ideas on where in the zod file to start?

Start here maybe: https://github.com/anymaniax/orval/blob/e038704a13176379086feb71212157f65ca35353/packages/zod/src/index.ts#L111-L112

I'm getting similar.
openapi version: "3.1.0"
openapi json:
 "/entity": {
      "get": {
        "tags": [
          "Entities"
        ],
        "summary": "List Entities",
        "description": "List entities with optional query parameter filters.",
        "operationId": "list_entities_entity_get",
        "parameters": [
...
 {
            "name": "page_size",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 100,
                  "minimum": 1
                },
                {
                  "type": "null"
                }
              ],
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 10,
              "title": "Page Size"
            }
          }
        ],
...

gives me:
** partial zod output**:
  page_size: zod
    .number()
    .min(1)
    .max(listEntitiesEntityGetQueryPageSizeMaxOne)
    .or(zod.null())
    .min(1)
    .max(listEntitiesEntityGetQueryPageSizeMax)
    .optional(),
});

I don't foresee myself having time to look into this soon, but if you find anything that may be helpful, let me know and I'll try to see.

I'm also having issues with regexes.  The following happens occurs several times in the api and the result is the same for all of them:
openapi doc
"phone_number": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^(\\+?[1|0])?( )*([ \\[\\(])?\\d{3}([\\)\\]\\. \\-])?( )*\\d{3}([\\. \\-])?( )*\\d{4}$",
                "examples": [
                  "+15555555555",
                  "(555)555-55555",
                  "555.555.5555",
                  "(555) 555-5555",
                  "15555555555",
                  "[555]555-5555"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Phone Number"
          }

Resulting zod:
  phone_number: zod
    .string()
    .regex(getUserUserSubGetResponsePhoneNumberRegExpOne)
    .or(zod.null())
    .optional(),

Let me know if I should open a separate issue for this.

@stephan-noel probably best to open a separate issue


RESTEASY-1997: Make ResteasyProviderFactory spec compliant

Jira: https://issues.jboss.org/browse/RESTEASY-1997

@ronsigal please see above

@asoldano, @NicoNes,
As for isRegistered():

@NicoNes, am I right in thinking that your change is for efficiency, rather than correctness? I mean, the original looks correct to me. Am I missing something?

As for why it was done the way it was done, I can just conjecture that the classContracts map wasn't originally intended for this purpose. It was for storing priorities. But it's easier and faster to use classContracts for this new purpose. I'm thinking that it was @NicoNes who originally noticed that, but I'm not sure.

-Ron

@ronsigal, @asoldano
About isRegistered(), you're right the change is just for efficiency and nothing else.


[C] Fix hash map remove if

aeron_int64_to_tagged_ptr_hash_map_remove_if would miss elements that were moved to the end of the array due to chain compaction.

Similar issue in aeron_int64_to_ptr_hash_map_remove_if, but it seems not to be used.

Merged.


Translate Yearn.fi Docs into Spanish - Budget Request

Scope
Hello guys, I am opening this new budget request to start contributing to the translation of all Yearn.fi docs into Spanish which has no active contributors.
Since last year I participated in the Translatathon held by the Ethereum Foundation to finish promoting the translation of all the foundation's content in several key languages, I realized how important it is for other protocols/projects to do the same in order to do so. break the linguistic barrier that may occur to users who want to consult their respective documentation.
I haven't contributed to Yearn before, but this would be the first of many contributions I would like to make.
Plan
The entire plan will be carried out in HackMD, there I will create a main page for the Yearn documentation, you can follow my latest translation so that you have an example of what this page would look like.
About my action plan:

Divide each chapter of the documentation into milestones
Translate each milestone
Review each milestone in search of possible errors and correct them.
Let it be known that the milestone was successfully translated and is now available to be attached.

Deadline
2024-06-1 to 2024-08-20
People
@socopower (as a translator and reviewer)
Money
I would like to give you 3 options on how to execute this project (if approved ofc):
Option A: Translate the Yearn documentation in full, including the chapters: Introduction, Develop, Contribute, Resources and Security.
Option A, Budget:

6.2k DAI, total.

Option B: Translate the Yearn documentation, focusing on the user, this would only be the chapters: Introduction, Contribute, and Resources
Option B, Budget:

4k DAI, total.

Option C: This option is more than anything to give "support" to the translation, whether the Yearn team has decided to move forward with Option A or Option B, let me explain:

Option C = Option A + Support
Option C = Option B + Support

Option C, Budget:
This Support service would only cost 500 DAI/Month,  with this support service, the Yearn team will not have to pay any extra amount to translate the new changes or chapters that they add to the original documentation no matter what however long these changes or chapters are.
These budgets (Option A & B) described here are not monthly, they would be a one-time payment for the translation, (except Option C, which is a monthly payment of 500 DAI.)
Obviously, it could be divided into several parts or by milestone (usually, I establish each chapter of the documentation as a milestone) so that the Yearn team feels more confident when proceeding.
P.S: I am avoiding the Smart Contracts chapter because it is very technical (but if the team wants it, I can include it)
Amount (Total)
6.2k DAI - 4k DAI in total, + 500 DAI/Montly If the Yearn team decides to choose Option C
Wallet address
0x009b6aaA8DBE9B36150bbf0cEaeD9d88Cb7710A1
Reporting
Weekly

Status: Not approved
1 in support, 9 against (I am not a voter)
After reviewing the request, it did not receive enough support to pass.
Here are some concerns that were raised:

Is there a real need for translations?
Can contributors who don't read English well still be productive in the collaboration-heavy environment of Yearn?
How will maintenance be managed over time, and are the ongoing costs justified?

Hi, about the concerns that arose to the Yearn.fi team when reading the proposal...
1- Is there a real need for translations?
Knowing with certainty the answer to that question is somewhat difficult, but... if you ask me as a Spanish speaker, I would tell you that it is necessary because I do want to know the protocol in depth but I do not have a good level of English, I could misinterpret something in the documentation.
And also from the point of view of comfort, there is nothing more comfortable than consulting a guide, a documentation in the best language that the person can use.
2- Can contributors who don't read English well still be productive in the collaboration-heavy environment of Yearn?
If Yearn opens up the opportunity for them to do it, of course I believe it.
3- How will maintenance be managed over time, and are the ongoing costs justified?

About the maintenance:  Maintenance (if I did it) could be set to be performed quarterly, or whenever there is a significant change in the documentation. Also, I believe that at the time of having a complete base of all the Yearn documentation already translated, Spanish-speaking people within the Yearn community can collaborate to maintain said documentation because most of it is already done and they will only added/remove few things over time.

About ongoing costs: Sorry for not detailing this part very well in the original proposal... The complete Yearn documentation has around 47,200 words that can be translated, I am setting a translation fee of 0.13 USD per 1000 words due to the length of the translation and its complexity (which I set as a medium).
About option C in the budget: I established it at that cost mainly because I do not have data on how much the Yearn team adds or modifies the current documentation, if you do not make significant changes so often, I can easily adjust it to a smaller amount.

Hey @socopower, feel free to jump into the discord and we can chat more about this.
I contribute to ySupport so maybe there is an avenue to join our team and start a Yearn/DeFi Spanish telegram group as a first step. This would be volunteer until you proved value add.
We've got/had telegram groups for different languages in the past.