DoB

When I look at my DoB it seems wildly off.  It says that my "total days of budgeting" is 105.  I have only been on nYNAB since 12/31/2015.    Perhaps your tool is unable to distinguish between when someone began using nYNAB/began budgeting and when the first month that nYNAB was functional.

Already got this from forums and trello. For this I need to get some info from console of user having bug.
function onlyUnique(value, index, self) {
    return self.indexOf(value) === index;
}
var transactions = ynab.YNABSharedLib.getBudgetViewModel_AllAccountTransactionsViewModel()._result.visibleTransactionDisplayItems;
Array.from(transactions, (el) => el.displayItemType).filter(onlyUnique);

It must show an array of unique transactions type like this one. Show it please.
["subTransaction", "transaction", "scheduledTransaction", "scheduledSubTransaction"]
After that type "transactions" and press Enter. It will show an array of all transactions. I think it must have more elements than your number of transactions. You should find that excess transaction and give me more info about it.

var accounts = ynab.YNABSharedLib.getBudgetViewModel_AllAccountTransactionsViewModel()._result;
[accounts.minTransactionDate._internalUTCMoment._d, accounts.maxTransactionDate._internalUTCMoment._d];
[Wed Sep 30 2015 20:00:00 GMT-0400 (EDT), Thu Jan 14 2016 19:00:00 GMT-0500 (EST)]

@humblpirate could you kindly give result for the first code block?

["subTransaction", "scheduledSubTransaction", "transaction", "scheduledTransaction"]

Also seeing this issue, it claims I have 106 total days of budgeting. I started on January 1st, 2016.
First one is giving me ["subTransaction", "transaction", "scheduledTransaction"]
I'm seeing 135 transactions from line two of that first block of code.
Second gives me [Wed Sep 30 2015 20:00:00 GMT-0400 (EDT), Thu Jan 14 2016 19:00:00 GMT-0500 (EST)]

Which is now merged and will go in the next release!

@humblpirate @TheTrendyCyborg thanks for the effort.
Need this one
var accounts = ynab.YNABSharedLib.getBudgetViewModel_AllAccountTransactionsViewModel()._result;
var entityManager = accounts.getEntityManager();
entityManager.getTransactionById(accounts.minTransactionDateEntityId)

This code returns an object of first transaction. Double click on it to get internal data. Check it if it is really your first transaction.
If it is ok, this may be the problem - incorrect last transaction,
entityManager.getTransactionById(accounts.maxTransactionDateEntityId)

Okay, I did that.  I'm a bit new to this so I'm not sure which parts of this you will want to see, but I'll do my best.  The ynabId: "YNAB:100000:2015-10-01:1" doesn't make a lot of sense.  Both the "date" and "import date" say September 31, 2015. The transaction does not seem to match anything I input, but it could relate to the direct import I have set up. The source is "raw_import" and the importedPayee is "Check eDeposit" which is a common payee for one of my connected accounts.  Could this be related to connected accounts that import data before one's start date in nYNAB?

I'm seeing something similar. It's a Sep 30th transaction, with a common payee (a grocery store) in a reasonable amount (-2890).
So I looked into it, and it's not in my YNAB register for any of my accounts. But then I looked at my bank statements. And I was able to find it. It's on the right date, but it's from before I started using nYNAB.
Notable flags on the transaction that may help you:
accepted is false, I'm guessing that's because it's an imported transaction that came from fincity but YNAB decided was not useful due to it predating the start of my budget. This is assuming the property "accepted" is true when you accept an imported transaction.
source is 'raw_import', I don't know if that's different from the normal import process, I haven't looked into it too much.
is_tombstone is false. Whatever that means.
And... that's all I could find that was interesting.
Anyways, that all might be useless but this info probably isn't: what this means is YNAB's got a bunch of transactions from before a user starts YNAB (due to the fincity import process) and hides them. I'll see if I can find the flag they use to indicate it should be hidden but my best guess is it's date based and YNAB knows when you started and has that data somewhere.

@humblpirate @TheTrendyCyborg thanks guys, as I thought YNAB makes hidden some of the transactions from direct import. But I don't understand why they minTransactionDate function supports those transactions. This maybe a bug.
One more try. The function I used before is named visibleTransactions, our problem seems to be invisible transactions. Tthere is another way to get transactions.
var entityManager = ynab.YNABSharedLib.getBudgetViewModel_AllAccountTransactionsViewModel()._result.getEntityManager();
entityManager.getAllTransactions()

Look at the counter that this shows and compare it with your transactions number from All Accounts when you check them all through header.

That's returning 755 transactions, but if I go to all accounts and click the checkbox I see "edit(142)".

@TheTrendyCyborg nice. I think it's better to have those hidden transactions into calculation.
Lets try this. It calculates DoB by means of two types of transactions getting.
var accounts = ynab.YNABSharedLib.getBudgetViewModel_AllAccountTransactionsViewModel()._result;

var firstTransactionDate = accounts.minTransactionDate._internalUTCMoment._d;
var lastTransactionDate = accounts.maxTransactionDate._internalUTCMoment._d;
var totalDays = (lastTransactionDate - firstTransactionDate)/3600/24/1000;

var entityManager = ynab.YNABSharedLib.getBudgetViewModel_AllAccountTransactionsViewModel()._result.getEntityManager();
var transactions = entityManager.getAllTransactions();
var t1 = transactions;
var a1 = Array.from(t1, (i) => i.entityId);
var outflow_transactions1 = t1.filter((el) => !el.isTombstone
													&& el.transferAccountId == null
                                                    && el.amount < 0
                                                    && el.getAccount().onBudget);
var totalOutflow1 = Array.from(outflow_transactions1, (i) => -i.amount).reduce((a, b) => a + b, 0);
var averageDailyOutflow1 = totalOutflow1 / totalDays;
var budgetAccountsTotal1 = ynab.YNABSharedLib.getBudgetViewModel_SidebarViewModel()._result.getOnBudgetAccountsBalance();
var DoB1 =  Math.floor(budgetAccountsTotal1/averageDailyOutflow1);

[totalOutflow1, averageDailyOutflow1, budgetAccountsTotal1, DoB1]

var accounts = ynab.YNABSharedLib.getBudgetViewModel_AllAccountTransactionsViewModel()._result;
var transactions = accounts.visibleTransactionDisplayItems;
var t2 = transactions;
var a2 = Array.from(t2, (i) => i.entityId);
var outflow_transactions2 = t2.filter((el) => el.displayItemType == "transaction"
                                                    && el.transferAccountId == null
                                                    && el.outflow > 0
                                                    && el.getAccount().onBudget);
var totalOutflow2 = Array.from(outflow_transactions2, (i) => i.outflow).reduce((a, b) => a + b, 0);
var averageDailyOutflow2 = totalOutflow2 / totalDays;
var budgetAccountsTotal2 = ynab.YNABSharedLib.getBudgetViewModel_SidebarViewModel()._result.getOnBudgetAccountsBalance();
var DoB2 =  Math.floor(budgetAccountsTotal2/averageDailyOutflow2);

[[totalOutflow1, averageDailyOutflow1, budgetAccountsTotal1, DoB1], [totalOutflow2, averageDailyOutflow2, budgetAccountsTotal2, DoB2]]

Two arrays in the result. You may share or just say is first calculation better than second.

The first calculation is better than the second.

Neither of them seems quite right for me, but that might be the lack of history on my account (not a full month yet) and the fact that I tend to load transactions in the beginning of the month in terms of bill payments. The first one's a bit low, but again my excuses for my poor buffering might cover that. Second one is way high for me, though. First one is definitely better.

I was actually about to comment that the first seems better than the second, but it a bit low.
Is the DoB calculation: total outflow/days of budgeting = average daily outflow, then total money in accounts/average daily outflow=DoB?  If so, then mine should be about 60, rather than 32.

@TheTrendyCyborg look at you average daily outflow, it might be too high. I think this definitely is because of the lack of history. It will be more precise the more transactions you have.
@humblpirate average daily outflow contains only outflows from Budget accounts. And total money in accounts is on-budget accounts total.

The first calculation above from the two arrays returned the number 32.  I can replicate that number by doing: total outflow divided by days of budgeting = average daily.  Then I did total inflows (not including starting balances) divided by the average daily and I get 32.  However, that number does not reflect the starting balances.  Is that intentional?  If total money in accounts is supposed to be on-budget accounts total, then the calculation in the array above is not correct.   Isn't it? 7495460

@egens,  it is.  Between the two arrays, both the 0 row and the 1 row changed.  Should that have happened?

@humblpirate yeah, that should.
0: total outflow
1: average daily outflow
The first array is new calculation that counts all transactions, hidden as well.
The second array is old calculation with error - days of budgeting counts hidden transactions, but total ouflows doesnt't.

Okay. I apologize for all of the questions.  I'm just wondering why the DoB number is so low. It doesn't seem to match up with total outflows/days=average then total accounts/average.  So, the total accounts number is right.  And, you think you fixed the number of days. Is there a way to double check what it now thinks the number of days budgeted is? What about the outflows?  Is it counting (a) credit card purchases, and/or (b) transfers to pay off CCs or otherwise, and/or (c) the credit card starting balance which YNAB considers an outflow, and/or (d) outflows before first day of budgeting (i.e. the outflow version of the hidden inflows we were trying to find earlier)?  The reason I ask about the credit card outflows, is that it seems like double-counting to count both (a) credit card purchases and (b) transfers to pay off credit card purchases.

@humblpirate this is where filtering to get nice outflow transactions goes in the new version
var outflow_transactions1 = t1.filter((el) => !el.isTombstone [1.]
                                                    && el.transferAccountId == null [2.]
                                                    && el.amount < 0 [3.]
                                                    && el.getAccount().onBudget); [4.]

Tombstone is smth I don't really understand 100%. I think this filters subtransactions and starting balances.
Is not transfer.
Is outflow.
Came from budget account.

(a) credit card purchases - yes
(b) transfers to pay off CCs or otherwise - no
(c) the credit card starting balance which YNAB considers an outflow - 99% no
(d) outflows before first day of budgeting (i.e. the outflow version of the hidden inflows we were trying to find earlier) - yes, I want to add this
I've tried to eliminate all double counting.

I think the DoB is too low because when I manually calculate DoB it is almost 2x as high as your new calculation.  The current mouseover text states my total outflow (since December 31, 2015) as $2121.  That seems accurate.  I added up total outflows from the "all accounts" register and got $2008.  So $2121 is close enough.  I've been budgeting since December 31, so that is 17 days.  $2121/17 days = $124/day. $2008/17=$118/day.  My on-budget accounts total is (now) $7415.  $7415/$124=59 days.  $7415/118=62 days.  Your new calculation that I ran above gave me 32.  So, we have determined that the on-budget account total is correct, that leaves the total outflows or the number of days still, right?  Can we isolate each of those calculations and see if they are accurate?  I see from the array that the total outflow is $2466.  I haven't been able to replicate that.  Also, it looks like the average daily outflow is calculated at $232.  If I do $2466/$232, which should get me the number of days budgeted, I get 10.6 days.  It seems like the days calculation is still off. My starting balances date 12/31/2015 and it is 1/17/2016.

@humblpirate current tooltip is wrong, don't look at it. Left array count all transactions with hidden and gives ADO $232.  New extension version will have my changes for it. You will be able to set 1 month history lookup.

Ah, I'll wait for the updates :-)

@humblpirate they are merged to master, so you can try it out from this repo.
https://github.com/blargity/toolkit-for-ynab#building-the-code

@egens This is working brilliantly!  Thank you!

I had trouble getting all the steps completed to open the files to try these changes before the latest update.  (Again, n00b, sorry :$ )  So, in looking at the latest official update, the new tooltip seems to be wrong in multiple ways. I'm not sure if this includes any changes you made based on our above conversation or not. I think the new total outflow must be either (a) off by one decimal or (b) including all outflows imported by direct import by YNAB before my first budgeting date.  As for the total days of budgeting, it doesn't seem to have been fixed, still reading as 109 days.

I have only been budgeting in this file for 22 days, and so I chose to use 1 month old transactions. My DoB is huge at 392 days. When I increase the length of history lookup, the DoB decreases. I apparently have 111 days of budgeting due to my accounts being connected to Direct Import. I have attached what happens to my DoB when I try different history lookups. After 6 months, the numbers don't change.
Considerations and questions:

All of my starting balances are on 12/31/2015. Could we make DoB history start at the earliest date of starting balance across all accounts?
I have a lot of tracking accounts, including a big negative mortgage account. However, I thought tracking accounts were taken off the calculations?
My average number of daily transactions for the one month period seems way too high.

@humblpirate it goes with (b) now. Total days show what data YNAB has with those hidden transactions. There indeed are some 109 days history of your transactions in YNAB and some of it is hidden.
@caseytsui

Why don't you like "All" option?
Tracking accs shouldn't count. I use this code for total on budget. Can you check it out in F12?
budgetAccountsTotal = ynab.YNABSharedLib.getBudgetViewModel_SidebarViewModel()._result.getOnBudgetAccountsBalance();
Thanks, that was a bug. #125

Ok, v0.3.5 released containing the #125 fix!

Does this work for everyone now? Can I close this issue?

Looks good to me now.

Awesome, thanks! If anyone else has trouble feel free to re-open or open a new issue.


Update broken

It seems like the update process does not work at all.

./src/build/utils/update.php --init-updates is missing in the documentation (see #44)
./src/build/utils/update.php --import-osmosis-all is failing with RuntimeError: Open failed for '/app/src/build/osmosischange.osc': Permission denied
If I work around that I get the next error: ImportError: No module named osmium

So far my wokraround is to create a new container in regular intervals instead of updating the existing one.

It's in the docs for 3.5 (see https://github.com/mediagis/nominatim-docker/blob/master/3.5/README.md#update)
What version of Nominatim are you using? Works for me from 3.2 to 3.5

What version of Nominatim are you using? Works for me from 3.2 to 3.5

I have not specified a version so I latest I guess

Just to be clear: you did not build the image yourself like described in the readme but pulled it from docker hub, right? This is not an official comment since I am also just a user but I would advise you to build the image on your own.
a) the image on Ducker Hub seems outdated (I don't know what triggers the updates there)
b) while building the image the local.php is copied into your docker image - in the local.php you set what regions you want to update and in the base file it is set to Monaco. If you use the prebuilt images your update region is set to Monaco.

you did not build the image yourself like described in the readme but pulled it from docker hub, right?

Yes. Sorry, should have said that in the first place:
The update as described on docker hub using the default image does not work. I will try if it works with a different image. But I still think that issues should be fixed.

@winsento how can we update the images on docker hub?

I tried this with 3.4 and everything worked fine. Would still be nice if latest actually pointed to the latest image.

latest does point to 3.5 now.


Update createCliFlags.js

Fix import reference to process.js file
This addresses an exception I was receiving, when running setVersion:
internal/modules/cjs/loader.js:883
  throw err;
  ^

Error: Cannot find module '../lib/process'

Thanks! Have merged this. Looks like there are a couple of other issues with this package to resolve before the next release.

@tj-mc Any specific issues to address before the next release? I'd be willing to help out, where I can. It would be nice to get the next version out, so I can move away from specifying the specific commit.

All good, thanks for the offer. Just mostly blocked by other things going on in my life. It's super motivating that people are using and contributing to this package though, so thank you. I promise it'll be out before November 14.

So sorry for the delay here, but a new version has been released. I'm marked it as 3.x, as It's now reccomended to use the script through npx.


Tag should be added as the new trigger rule type

What kind of request is this (question/bug/enhancement/feature request):
enhancement
Steps to reproduce (least amount of steps as possible):
Like branching, tag is often used as a trigger for a build. According to the user's habit, when the selected type needs to fill in the parameter manually, they prefer to fill in the parameter directly after selecting the type.
Now if I want to configure tag to trigger the build, I will be confused, because I have not found the choice of tag type and do not know how to set the tag.
If you didn't look at the documentation, you wouldn't know that you needed to set a combination condition like branch is test and event is tag.
Although tag is somewhat related to branching, in practice users prefer to think of it as two types.
Therefore, when it is necessary to use tag as the filter condition, users are more used to looking for the type of tag.

@gitlawr


Difference in decomposition between SigProfilerExtractor and SigProfilerAssignment

Hi,
I am trying to extract CN signatures from my dataset, I first used SigProfilerExtractor to get de-novo signatures and as part of the tool it does provide a folder in which in decomposes the de-novo signatures to the reference signatures. However, I noticed a difference in the decomposed signatures from the SigProfilerExtractor and when just using SigProfilerAssignment decompose_fit. Which result is more reliable?
Warmest regards,
Hannan
SPA_De_Novo_map_to_COSMIC_CNV48.csv
SPE_De_Novo_map_to_COSMIC_CNV48.csv

I think I figured out, the older version of SPE uses a difference reference matrix so the result is also different my bad


Enhancement of Ludo Game Completed [GSSoC'23]

PR Description 📜

Adding sound of dice rolling
Adding game over sound
Adding a new game sound on clicked
Adding a demo video in the read me file
Improving a the folder layout

Fixes #938

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[x] I have added working video of the game in README.md (optional)
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @Avdhesh-Varshney ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

@kunjgit @Arun9739 @raju-kumar21 please review my pull request and merge this enhancement into the main branch for successful contribution under GSSoC'23.

@kunjgit @Arun9739 @raju-kumar21 please review my enhancement of ludo game and merge it into the main branch for successful contribution under GSSoC'23.

we already have this game on GameZone !!!

Thank you  @Avdhesh-Varshney , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀

@kunjgit I am not removing the game or adding the new game
But this is an enhancement of Ludo Game.
I am adding more features in it by adding background music, rolling sounds, winning sound to give a congratulation, more attractive interface, add more responsiveness, etc.
So, please again review the pull request and i requested to merge it into the main branch. Thanks !


data-size for select tag

How can i restrict the number of visible options for a select tag?
i tried with the data-size attribute but that didn't work.
SO how can i make a select tag scrollable when the number of options exceed 5

For multiple select, use size={5}. That or css may come into play. Reactstrap isn't doing anything to set or restrict the number of visible options.


Remove autogenerated files and rely on autoreconf only

Unfortunately, this requires GNU Autoconf 2.70: https://lists.gnu.org/archive/html/autotools-announce/2020-12/msg00001.html

2020-10-20  Zack Weinberg<EMAIL_ADDRESS>Improve handling of missing aux scripts (autoreconf)
Make ‘autoreconf --install’ add config.sub, config.guess, and
install-sh to the source tree when necessary.  This is only relevant
for packages that don’t use Automake, because ‘automake --add-missing’
already adds these scripts to the source tree, but apparently there
are plenty of packages out there that don’t use Automake, didn’t need
config.{sub,guess} with autoconf 2.69, and do need them with 2.70.
Such packages will need to have their equivalent of ‘make dist’
manually updated to ship the new files, of course.

This will only affect those who are developing, those who use a source tarball will use the src distro which expects autoreconf -fi to be run beforehand.
Note: Autoconf 2.70 has been around for 3,5 years...

If I don't here any objections I will merge this by end of week.


Run "pip install -r requirements.txt"

Eager to install and run on Conda environment. But unable to find ==>   "pip install -r requirements.txt".

I am also having this issue

@neo-seeker @AnkMister
Added requirements.txt file now. Please check

Yea, that works, issue can be closed. Following the instruction " Set OPENAI_API_KEY environment variable with your openai key " . Where does the API key need to be inserted.

you need to create a .env file then paste this in it with your actual key OPENAI_API_KEY={your key here}

I am having the same issue as above

@itsthemoon What issue are you facing ?

Hi  Anil, here is the log below. I wanted to know where the
"OPENAI_API_KEY" would be inserted. I would be great to have a video or
else some working instructions, docker or something like that. Thanks Anil.
@.***:/home/po/Chat-Youtube# python chat_youtube.py
Command 'python' not found, did you mean:
command 'python3' from deb python3
command 'python' from deb python-is-python3
@.***:/home/po/Chat-Youtube# python3 chat_youtube.py
Traceback (most recent call last):
File "/home/po/Chat-Youtube/chat_youtube.py", line 4, in
index = VectorstoreIndexCreator().from_loaders([loader])

File "pydantic/main.py", line 339, in pydantic.main.BaseModel.init
File "pydantic/main.py", line 1066, in pydantic.main.validate_model
File "pydantic/fields.py", line 439, in
pydantic.fields.ModelField.get_default
File "pydantic/main.py", line 341, in pydantic.main.BaseModel.init
pydantic.error_wrappers.ValidationError: 1 validation error for
OpenAIEmbeddings
root
Did not find openai_api_key, please add an environment variable
OPENAI_API_KEY which contains it, or pass  openai_api_key as a named
parameter. (type=value_error)
@.***:/home/po/Chat-Youtube#
https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
Virus-free.www.avast.com
https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
On Sun, May 21, 2023 at 3:36 PM Anil Chandra Naidu Matcha <
@.***> wrote:

@itsthemoon https://github.com/itsthemoon What issue are you facing ?
—
Reply to this email directly, view it on GitHub
https://github.com/Anil-matcha/Chat-Youtube/issues/1#issuecomment-1556137715,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2JM4UFZSKNQLMM7TTECMEDXHHSI5ANCNFSM6AAAAAAYF2YGYE
.
You are receiving this because you were mentioned.Message ID:
@.***>

@neo-seeker You need to set it as an environment variable


Revision page item timestamp needs to show the year

When I look at revisions I see this:

Okay, but on which year was this edit done? Given raulbc777's long existence it could be anything from 2015 to 2020, and I wouldn't be able to tell.

Done. I also cleaned up a little bit to make it easier to tell what changed.


Add snappy compression details

Motivation
The current block size increases over time; blocks get bigger and bigger. Since EIP 4844 is coming, we want to track more block size and propagation details.
Related links:
Description
This PR aims to extend the current info about the block size, including the snappy compression metrics.
Tasks

[x] Add separate columns at block_metrics  for ssz_size, snappy_size, compression_time, decompresion_time, payload_size
[x] Add migrations files
[x] Test it

Proof of Success
it works:

seems that we are having our first numbers:


Add explicit web support

This is a breaking change.

ok, so now it complains about lack of wasm-bindgen in dev-dependencies or such...

ok, so now it complains about lack of wasm-bindgen in dev-dependencies or such...

I needed to use wasm-bindgen-test instead of regular test, fixed!


Console freeze after upload-remix-plugin

Once the profile is generated the console is frozen and I cannot kill the process.
Windows10 with Bash.

the tool has been updated with a process.exit(), should be fine now.


Specify OS_ARCH to able to specify arm images

Description
Ability to specify linux_arm64 cli builds
Checklist

[x] I have added one of the patch, minor, major or no-release labels
[ ] I have linked an issue from this repository using the Development option
[ ] I have performed a self-review of my own code
[ ] I have checked for redundant or commented out code
[ ] I have commented my code where I can't make it self-documenting
[ ] I have made corresponding changes to the documentation
[ ] I have added any appropriate tests

@andsnw I think our action should detect the architecture download the correct binary.


Roll Engine from 6a3b04632b57 to 2bed4292ac06 (12 revisions)

https://github.com/flutter/engine/compare/6a3b04632b57...2bed4292ac06
2021-09-08<EMAIL_ADDRESS>Revert "Add benchmarks to measure dart -> native time (#28492)" (flutter/engine#28513)
2021-09-08<EMAIL_ADDRESS>[fuchsia] Add CML files for dart_runner on CFv2. (flutter/engine#28491)
2021-09-08<EMAIL_ADDRESS>Reland "Add benchmarks to measure dart -> native time (#28492)" (flutter/engine#28510)
2021-09-08<EMAIL_ADDRESS>Roll Skia from 30f8611655b4 to a0d61eb56199 (8 revisions) (flutter/engine#28507)
2021-09-08<EMAIL_ADDRESS>Factor out a task synchronization help function for unit tests (flutter/engine#28467)
2021-09-08<EMAIL_ADDRESS>Revert "Add benchmarks to measure dart -> native time (#28492)" (flutter/engine#28509)
2021-09-08<EMAIL_ADDRESS>[canvaskit] Optimize CanvasKit platform views in special cases (flutter/engine#28087)
2021-09-08<EMAIL_ADDRESS>Roll Skia from 5ccad8aa4ee5 to 30f8611655b4 (1 revision) (flutter/engine#28505)
2021-09-08<EMAIL_ADDRESS>Add benchmarks to measure dart -> native time (flutter/engine#28492)
2021-09-08<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from rP-YL86e_... to cDn94pEla... (flutter/engine#28504)
2021-09-08<EMAIL_ADDRESS>Roll Skia from 72fe2e5e5d8e to 5ccad8aa4ee5 (3 revisions) (flutter/engine#28503)
2021-09-08<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from F3B5fctvV... to j7aYNNbVt... (flutter/engine#28502)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from F3B5fctvVejR to j7aYNNbVtC3d
fuchsia/sdk/core/mac-amd64 from rP-YL86e_5gz to cDn94pElaaI2
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Get various hostnames with smf-upf-pfcp values config

Hello!
I had success in launch an additional UPF usign OpenVerso charts, and changing config values from outside. This is a great job and allow me to use different configuration from base chart.
But actually , I have the following problem, when I update with 'helm upgrade...' as follows:
helm upgrade open5gs open5gs --values new-config-2dnn.yaml
The part of SMF config gets only the last Hostname define (in the case below 'internet2'
...
smf:
config:
pcrf:
enabled: false
subnetList:
  - addr: <IP_ADDRESS>/16
    dnn: internet
  - addr: <IP_ADDRESS>/16
    dnn: internet2
upf:
  pfcp:
    hostname: "open5gs-upf-pfcp"
    dnn: internet
    hostname: "open5gs-upf2-pfcp"
    dnn: internet2

...
Maybe it is needed to change something in the values config map to allow to get both hostnames?? I hope you can check if there is any issue to get both upf-pfcp--> 2xhostnames
Thanks in advance!

5gconfig-upd-2upf-2dnn.txt
Please, find attached the complete config file, with txt extension.

Any help is welcome :)
Take into account that if the order of upf-pfcp is interchanged, the upf selection considered is only the last one.
Regards

Thanks Carlos!, Yes, this was the issue, I will make some test, but issue is clear.
I will make some make around at the moment but if I have some time to prepara a PR I will let you know. Thanks!

Hi Rodrigo,
Sorry for the delay. You can see the configmap of the SMF using kubectl get cm <configmap-name> -o yaml and, there, you can check if the subnetList is working.
I cannot check yet if its working or not, but the behavior is the same as the slice list, and that's working.
If you solved it, feel free to PR if it's needed.
Thanks again for using both charts and images projects!


restart_osd_daemon.sh.j2 - RETRIES never reset to original value

Bug Report
Despite fixing this script to accept all active+clean states (cf #3137 ), we were still having problems with our production servers not managing to restart all their OSDs correctly.
The problem is that RETRIES is initialised once (l3), and then only ever decremented (l17); our production boxes have 60 OSDs, and handler_health_osd_check_retries is 40 by default, so while the script will wait up to 40x30s after the restart of the first OSD, you only have to need to wait once per OSD-restart to run out of RETRIES before you get to the last OSD.
The fix is fairly straightforward - set RETRIES before each time check_pgs is called:
diff --git a/roles/ceph-defaults/templates/restart_osd_daemon.sh.j2 b/roles/ceph
index 0781c34..1d9db15 100644
--- a/roles/ceph-defaults/templates/restart_osd_daemon.sh.j2
+++ b/roles/ceph-defaults/templates/restart_osd_daemon.sh.j2
@@ -1,6 +1,5 @@
 #!/bin/bash

-RETRIES="{{ handler_health_osd_check_retries }}"
 DELAY="{{ handler_health_osd_check_delay }}"
 CEPH_CLI="--name client.bootstrap-osd --keyring /var/lib/ceph/bootstrap-osd/{{

@@ -78,6 +77,7 @@ for unit in $(systemctl list-units | grep -E "loaded * active"
   {% endif %}
   SOCKET=/var/run/ceph/{{ cluster }}-osd.${osd_id}.asok
   while [ $COUNT -ne 0 ]; do
+    RETRIES="{{ handler_health_osd_check_retries }}"
     $docker_exec test -S "$SOCKET" && check_pgs && continue 2
     sleep $DELAY
     let COUNT=COUNT-1

Would you take a PR to fix this? I'd rather produce one once #3137 is merged, for obvious reasons :)
Environment:

OS (e.g. from /etc/os-release): Ubuntu Xenial
ceph-ansible version (e.g. git head or tag or stable branch): stable-3.0
Ceph version (e.g. ceph -v): Jewel

[as an aside, the fact that the script waits one more $DELAY before failing and calling ceph -s made this much harder to track down - often the final $DELAY would be enough for all the pgs to be active+clean again]


Update km languages

[x] Changes have been thoroughly tested to not break existing functionality.

This PR also fix the below error by providing direction => 'ltr' in layouts file
Before

After

Why my company github account involved in this PR.... :disappointed:

Why my company github account involved in this PR.... 😞

Because you didn't change global email and name... :rofl:


⚠ Bofrost.at has degraded performance

In 5eafe8b, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1775 ms

Resolved: Bofrost.at performance has improved in 2c4b9a3 after 34 minutes.


docs:add instructions to run locally

For future reference, you can link a PR to an issue just by saying the words "closes #issuenumber"

closes #2

For future reference, you can link a PR to an issue just by saying the words "closes #issuenumber"

one of my fave features 😄

Oh gotcha thanks for letting me know!


Allow Optional GCM Parameters to be Defined

The GCM adapter has five optional parameters that can be sent with the message (https://github.com/Ph3nol/NotificationPusher/blob/master/src/Sly/NotificationPusher/Adapter/Gcm.php#L117-L121):

collapse_key
delay_while_idle
time_to_live
restricted_package_name
dry_run

Because these options aren't in the getDefaultParamaters() or getRequiredParameters() arrays they can't be set. A Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException with message The option "dry_run" does not exist is thrown if you try to use them.
These parameters are optional so adding them to the getDefaultParamaters() or getRequiredParameters() doesn't really make sense.
I have added a new getDefinedParameters() method that allows you to set optional parameters using the setDefined() method.

Thanks for this PR and sorry about being so late to merge.


Trust: paths table is not multi-select aware

In SCM for example, I can multi-select and then pick one action for one item to apply it to all. I think for trust path editor, the remove-action should apply to all selected items if there are multiple selected.

I got a second issue about this and decided to just remove multi-select capabilities from the table


Python examples compile fails when using code from git

Hi,
I cloned the current git version and when I try to compile the python examples, it fails with the following error:
[ 94%] Building CXX object CMakeFiles/dlib_.dir/src/rectangles.cpp.o
[ 95%] Building CXX object CMakeFiles/dlib_.dir/src/object_detection.cpp.o
In file included from /tmp/dlib/dlib/../dlib/image_processing/../image_processing.h:12:0,
from /tmp/dlib/dlib/../dlib/image_processing/scan_image_pyramid.h:9,
from /tmp/dlib/dlib/../dlib/image_processing/remove_unobtainable_rectangles.h:7,
from /tmp/dlib/tools/python/src/simple_object_detector.h:12,
from /tmp/dlib/tools/python/src/object_detection.cpp:9:
/tmp/dlib/dlib/../dlib/image_processing/../image_processing/setup_hashed_features.h:70:9: error: variable or field ‘setup_hashed_features’ declared void
scan_image_pyramid<pyramid, feature_image<feature_extractor, projection_hash> >& scanner,
^
/tmp/dlib/dlib/../dlib/image_processing/../image_processing/setup_hashed_features.h:70:9: error: ‘scan_image_pyramid’ was not declared in this scope
/tmp/dlib/dlib/../dlib/image_processing/../image_processing/setup_hashed_features.h:70:35: error: expected primary-expression before ‘,’ token
scan_image_pyramid<pyramid, feature_image<feature_extractor, projection_hash> >& scanner,
^
/tmp/dlib/dlib/../dlib/image_processing/../image_processing/setup_hashed_features.h:70:87: error: expected primary-expression before ‘>’ token
scan_image_pyramid<pyramid, feature_image<feature_extractor, projection_hash> >& scanner,
^
/tmp/dlib/dlib/../dlib/image_processing/../image_processing/setup_hashed_features.h:70:90: error: ‘scanner’ was not declared in this scope
scan_image_pyramid<pyramid, feature_image<feature_extractor, projection_hash> >& scanner,
^
/tmp/dlib/dlib/../dlib/image_processing/../image_processing/setup_hashed_features.h:71:9: error: expected primary-expression before ‘const’
const image_array& images,
^
/tmp/dlib/dlib/../dlib/image_processing/../image_processing/setup_hashed_features.h:72:9: error: expected primary-expression before ‘const’
const feature_extractor& fe,
^
/tmp/dlib/dlib/../dlib/image_processing/../image_processing/setup_hashed_features.h:73:9: error: expected primary-expression before ‘int’
int bits,
^
/tmp/dlib/dlib/../dlib/image_processing/../image_processing/setup_hashed_features.h:74:9: error: expected primary-expression before ‘unsigned’
unsigned long num_samples = 200000
^
/tmp/dlib/dlib/../dlib/image_processing/../image_processing/setup_hashed_features.h:114:9: error: variable or field ‘setup_hashed_features’ declared void
scan_image_pyramid<pyramid, feature_image<feature_extractor, projection_hash> >& scanner,
^
/tmp/dlib/dlib/../dlib/image_processing/../image_processing/setup_hashed_features.h:114:9: error: ‘scan_image_pyramid’ was not declared in this scope
/tmp/dlib/dlib/../dlib/image_processing/../image_processing/setup_hashed_features.h:114:35: error: expected primary-expression before ‘,’ token
scan_image_pyramid<pyramid, feature_image<feature_extractor, projection_hash> >& scanner,
^
/tmp/dlib/dlib/../dlib/image_processing/../image_processing/setup_hashed_features.h:114:87: error: expected primary-expression before ‘>’ token
scan_image_pyramid<pyramid, feature_image<feature_extractor, projection_hash> >& scanner,
^
/tmp/dlib/dlib/../dlib/image_processing/../image_processing/setup_hashed_features.h:114:90: error: ‘scanner’ was not declared in this scope
scan_image_pyramid<pyramid, feature_image<feature_extractor, projection_hash> >& scanner,
^
/tmp/dlib/dlib/../dlib/image_processing/../image_processing/setup_hashed_features.h:115:9: error: expected primary-expression before ‘const’
const image_array& images,
^
/tmp/dlib/dlib/../dlib/image_processing/../image_processing/setup_hashed_features.h:116:9: error: expected primary-expression before ‘int’
int bits,
^
/tmp/dlib/dlib/../dlib/image_processing/../image_processing/setup_hashed_features.h:117:9: error: expected primary-expression before ‘unsigned’
unsigned long num_samples = 200000
^
make[2]: *** [CMakeFiles/dlib_.dir/src/object_detection.cpp.o] Error 1
make[1]: *** [CMakeFiles/dlib_.dir/all] Error 2
make: *** [all] Error 2

K

Oops.  This should be fixed now.  Thanks for pointing this out.


#160 Include Pause button animation and light icon hover effect + css

#160 Feature Enhancement
Description👨💻
Include Pause button animation and light icon hover effect + css
Type of change📄

pause button animation
light icon hover effect and color

https://github.com/Rakesh9100/Click-The-Edible-Game/assets/65588552/1a20cd43-5bd2-4629-a1fb-25e3c4f4ff52
https://github.com/Rakesh9100/Click-The-Edible-Game/assets/65588552/a1f9115b-c4f4-4d1b-b75f-99e66169a1ea

When we are clicking on the sun icon to navigate to light theme, the hover effect and the icon both becomes white and icon is invisible @sagarbee Pls fix this

Thanks for pointing that out, @Rakesh9100 ! I'll be addressing this issue and submitting a new pull request shortly. Your patience is appreciated, and feel free to let me know if there's anything specific you'd like to see in the fix. 👍

Don't submit a new pull request. Make the new changes and commit in this PR only @sagarbee

Made some new changes and commit in this PR.
https://github.com/Rakesh9100/Click-The-Edible-Game/assets/65588552/401bf881-e2c6-4080-97b8-143aa6d4658b

Good, Congrats on getting your PR merged to this repo uner SWOC S4 @sagarbee

Good, Congrats on getting your PR merged to this repo uner SWOC S4 🎉 @sagarbee


Add support sites with 'Content-Security-Policy'

'Content-Security-Policy' header allows to restrict resouce loading (scripts, styles).
After proxing a same sites we can have a 'Refused to load the script ' errors.
Example - https://www.dropbox.com/
Details:
http://www.w3.org/TR/CSP1/
https://en.wikipedia.org/wiki/Content_Security_Policy
http://content-security-policy.com/
http://www.html5rocks.com/en/tutorials/security/content-security-policy/

@miherlosev we already remove those headers: https://github.com/superroma/testcafe-hammerhead/blob/master/src/request-pipeline/header-transforms.js#L49 So, AFAIK it should work already

On client side it will be added via meta tag:
<meta http-equiv="Content-Security-Policy" content="script-src https: 'unsafe-eval';">

Oh, I see. So we just need to remove this metas.

We can do it for now, to prevent errors. And create separate issue for the full-featured CSP emualtion

So at least we will behave as original browser. But this is quite complex feature. Since we will need feature detection and other stuff

I am working on this


gRPC converting 400 BadRequest error to 503 Unavailable error

What version of gRPC and what language are you using?
Python v1.27.2
What operating system (Linux, Windows,...) and version?
Linux
What runtime / compiler are you using (e.g. python version or version of gcc)
Python3.8
What did you do?
Try to use the Cloud Spanner client library using a credentials file with an invalid email or id.
What did you expect to see?
An error to be raised alerting me to the invalid email or id.
What did you see instead?
The client appears to hang. Using logging, it can be determined it is entering a retry loop.
DEBUG:google.auth.transport.requests:Making request: POST https://oauth2.googleapis.com/token
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): oauth2.googleapis.com:443
DEBUG:urllib3.connectionpool:https://oauth2.googleapis.com:443 "POST /token HTTP/1.1" 400 None
ERROR:grpc._plugin_wrapping:AuthMetadataPluginCallback "<google.auth.transport.grpc.AuthMetadataPlugin object at 0x7f8fa88b08b0>" raised exception!
Traceback (most recent call last):
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/grpc/_plugin_wrapping.py", line 77, in __call__
    self._metadata_plugin(
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/google/auth/transport/grpc.py", line 84, in __call__
    callback(self._get_authorization_headers(context), None)
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/google/auth/transport/grpc.py", line 70, in _get_authorization_headers
    self._credentials.before_request(
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/google/auth/credentials.py", line 124, in before_request
    self.refresh(request)
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/google/oauth2/service_account.py", line 334, in refresh
    access_token, expiry, _ = _client.jwt_grant(request, self._token_uri, assertion)
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/google/oauth2/_client.py", line 153, in jwt_grant
    response_data = _token_endpoint_request(request, token_uri, body)
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/google/oauth2/_client.py", line 124, in _token_endpoint_request
    _handle_error_response(response_body)
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/google/oauth2/_client.py", line 60, in _handle_error_response
    raise exceptions.RefreshError(error_details, response_body)
google.auth.exceptions.RefreshError: ('invalid_grant: Invalid grant: account not found', '{"error":"invalid_grant","error_description":"Invalid grant: account not found"}')
DEBUG:google.api_core.retry:Retrying due to 503 Getting metadata from plugin failed with error: ('invalid_grant: Invalid grant: account not found', '{"error":"invalid_grant","error_description":"Invalid grant: account not found"}'), sleeping 1.7s ...
DEBUG:google.auth.transport.requests:Making request: POST https://oauth2.googleapis.com/token
DEBUG:urllib3.connectionpool:https://oauth2.googleapis.com:443 "POST /token HTTP/1.1" 400 None
ERROR:grpc._plugin_wrapping:AuthMetadataPluginCallback "<google.auth.transport.grpc.AuthMetadataPlugin object at 0x7f8fa88b08b0>" raised exception!
Traceback (most recent call last):
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/grpc/_plugin_wrapping.py", line 77, in __call__
    self._metadata_plugin(
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/google/auth/transport/grpc.py", line 84, in __call__
    callback(self._get_authorization_headers(context), None)
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/google/auth/transport/grpc.py", line 70, in _get_authorization_headers
    self._credentials.before_request(
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/google/auth/credentials.py", line 124, in before_request
    self.refresh(request)
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/google/oauth2/service_account.py", line 334, in refresh
    access_token, expiry, _ = _client.jwt_grant(request, self._token_uri, assertion)
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/google/oauth2/_client.py", line 153, in jwt_grant
    response_data = _token_endpoint_request(request, token_uri, body)
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/google/oauth2/_client.py", line 124, in _token_endpoint_request
    _handle_error_response(response_body)
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/google/oauth2/_client.py", line 60, in _handle_error_response
    raise exceptions.RefreshError(error_details, response_body)
google.auth.exceptions.RefreshError: ('invalid_grant: Invalid grant: account not found', '{"error":"invalid_grant","error_description":"Invalid grant: account not found"}')
DEBUG:google.api_core.retry:Retrying due to 503 Getting metadata from plugin failed with error: ('invalid_grant: Invalid grant: account not found', '{"error":"invalid_grant","error_description":"Invalid grant: account not found"}'), sleeping 1.8s ...
DEBUG:google.auth.transport.requests:Making request: POST https://oauth2.googleapis.com/token
DEBUG:urllib3.connectionpool:https://oauth2.googleapis.com:443 "POST /token HTTP/1.1" 400 None
ERROR:grpc._plugin_wrapping:AuthMetadataPluginCallback "<google.auth.transport.grpc.AuthMetadataPlugin object at 0x7f8fa88b08b0>" raised exception!
Traceback (most recent call last):
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/grpc/_plugin_wrapping.py", line 77, in __call__
    self._metadata_plugin(
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/google/auth/transport/grpc.py", line 84, in __call__
    callback(self._get_authorization_headers(context), None)
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/google/auth/transport/grpc.py", line 70, in _get_authorization_headers
    self._credentials.before_request(
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/google/auth/credentials.py", line 124, in before_request
    self.refresh(request)
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/google/oauth2/service_account.py", line 334, in refresh
    access_token, expiry, _ = _client.jwt_grant(request, self._token_uri, assertion)
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/google/oauth2/_client.py", line 153, in jwt_grant
    response_data = _token_endpoint_request(request, token_uri, body)
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/google/oauth2/_client.py", line 124, in _token_endpoint_request
    _handle_error_response(response_body)
  File "/home/larkee/.pyenv/versions/3.8-dev/lib/python3.8/site-packages/google/oauth2/_client.py", line 60, in _handle_error_response
    raise exceptions.RefreshError(error_details, response_body)
google.auth.exceptions.RefreshError: ('invalid_grant: Invalid grant: account not found', '{"error":"invalid_grant","error_description":"Invalid grant: account not found"}')
DEBUG:google.api_core.retry:Retrying due to 503 Getting metadata from plugin failed with error: ('invalid_grant: Invalid grant: account not found', '{"error":"invalid_grant","error_description":"Invalid grant: account not found"}'), sleeping 1.5s ...

From these logs, the original error code was 400 Bad Request but the error being returned to the client is 503 Unavailable which Cloud Spanner retries on.
See googleapis/python-spanner#4 for further details

I am not sure I understand the issue here.
gRPC converts the http status code to a grpc status according to https://github.com/grpc/grpc/blob/master/doc/http-grpc-status-mapping.md and you would probably find the underlying details in the error string or the error details.
So when you say gRPC "converts" 400 to 503, I'm not sure what you are referring to. Also, if gRPC receives 400 as the http status code, it would be converted to INTERNAL and not UNAVAILABLE. Enabling gRPC logs would probably be useful here.
https://github.com/grpc/grpc/blob/master/doc/environment_variables.md
Trace flags like http,http1,channel,api would be useful here in addition to providing more information on the error string and details.

As the original reported said, the error surfaces as 503, not 500. I've enabled gRPC tracing (as well as the python logs, to see the 400 going to 503). You can find them here: https://gist.github.com/gcbirzan/df0570bae865e7979e6584225c8dcf11. Based on some poking around, I added to the GRPC_TRACE also plugin_credentials,call_error,executor.
In particular, this seems to be the source of the unavailable:
D1203 12:35:17.567223131 2150740 call.cc:740]                {"created":"@1606991717.567166613","description":"Getting metadata from plugin failed with error: ('invalid_grant: Token has been expired or revoked.', '{\n  "error": "invalid_grant",\n  "error_description": "Token has been expired or revoked."\n}')","file":"src/core/lib/security/credentials/plugin/plugin_credentials.cc","file_line":90,"grpc_status":14}
gRPC status 14 is unavailable, it should be 13 for internal. I tried to step through the gRPC code, the 400 comes from https://github.com/grpc/grpc/blob/5ab59b2bf7df73bd59c46c5d5d10dbc31d4d7ca9/src/python/grpcio/grpc/_plugin_wrapping.py#L87-L88
But, since this is in a thread, I cannot trivially figure out where it surfaces on the other side.
I have 3 easy steps to reproduce (this probably happens with all python clients, but I hit it with firestore):

Use  gcloud auth application-default login to login.
Go to https://myaccount.google.com/permissions and revoke permissions for Google Auth Library.
Attempt to use the client. Anything that requires authentication will hit this.

Because the auth error is not transient, it shouldn't be retried, but because it gets as 503 to the api core, it is, leading to 2 minutes of furious retries.


ci: fix spell format

This should let the branch pass all upstream format check.
Signed-off-by: Lizan Zhou<EMAIL_ADDRESS>

I have very similar changes in the upstream PR, so we could wait for that.  @lizan what do you think the chances are to get that in in the not too distant future?  The main issues now seem to be ARM and Windows.

@jplevyak I think it will take a while so let's merge this to avoid future break (modified CI check)

Agreed. Let's merge this and I"ll merge it into the upstream PR.


Memory=>String doesnt have inputs

in gates/string
String=>Memory takes a string and outputs memory
but
Memory=>String takes no values and outputs memory and string

That's because you're meant to use wirelinks to talk to it

iirc, the "memory" output is so you can wire it up to a Wire CPU, which doesn't support wirelink but rather hacks itself through the wirelib to obtain a handle on the target's memory

Yeah memory outputs are sort of CPU's wirelinks

yha but what if I want to take a string, convert it to memory, store it in a ram gate, take it out of the ram gate and then convert it to a string again?

I believe the ram gate is for cpu, so then you'd use cpu to do it. There are other ways of storing data if you don't want to use cpu, like the dhdd for example.

ok thanks for the info

Now the issue is just closing the issue.

gesundheit


(PUP-3863) Ensure correct handling when undef is hiera default value

The Puppet function hiera() was not able to diffrentiate between the
lack of a default argument and a default argument passed as undef.
Instead, it would always treat undef as "no default" and consequently
raise an error when no value was found for a given key.
This commit changes this so that the hieara function (and it's
specializations) have different dispatchers for the cases when a
default parameter is provided or not. For the case when the default
is provied it will pass a special default value down to Hiera in its
place. On return of this special default means that the original
default should be used.

CLA signed by all contributors.


Updates to flesh, ashib, and mtc.

Updates to flesh, ashib, and mtc.

already had mtc fetcher in there without realizing.


expatiatingly, calliphoridae

This pull request was generated by the 'mq' tool
[test]
flake rate: 0.4
logical conflict every: 100
sleep for: 300s
[pullrequest]
requests per hour: 30
deps=[c,e]

/trunk merge


Add link to log indicating failure on rejection

If check fails (such as Feature API Check), then insert a link in the closing message to the failing check.
E.g.
The following checks failed: [check1](check1), [check2](check2).

Store job ids of failed jobs (See https://developer.travis-ci.com/resource/job)
Get repo owner and slug
Construct url to user-facing log
Add a link in index.js shouldCloseRejectedFeature line 182 (reason = '<n/a>')

See also https://probot.github.io/apps/ci-reporter/


Allow configuration of use of contentHash for development

Per https://github.com/shakacode/shakapacker/issues/88
An experiment with adding a configuration to specify whether a contentHash is used.
Note, per webpack docs

Don't use contentHash except for production for performance.

So rather than turning contentHash back on for everybody, let's allow an easy override.
PR checklist:

[x] Add test to check the addition of contentHash in dev env based on the config
[x] Update documentation
[x] Update changelog

Closes #88

@justin808 we now have reasonable tests for this feature. So if there is no other concern, this PR should be ready for merge (or maybe we freeze the features on what we have in RC1 and add this feature later in 7.1. No rush.


Layout breaking under Safari

With Safari, the layout of project pages is not organized as expected. See:

We've redesigned the website since, so this issue doesn't apply anymore.


setup ginkgo linter

See: ginkgolinte

Very easy to do, just do the following

add "- ginkgolinter" to golangci.yml

To apply fix just run:
ginkgolinter -fix ./...

If you ever see linter failures in CI that don't occur locally, then this is because there is a difference of the version of golang-cilint that is being run. Always make sure that they are the same.


ByteArrayModelBinder should return null only when type is not matched

#2456
visible behaviours now match MVC 5
prevent CollectionModelBinder from converting no value to byte[0]
prevent TypeConverterModelBinder from converting empty value to byte[] { '\0' }

/cc @harshgMSFT @rynowak

:watch:

open an issue and then :shipit:

Closing since this PR can be based on dev since we aren't doing the ModelBindingTestHelper.UpdateOptionsToEnsureNothingFollows<TModelBinder>() thing. Will open a new PR in a bit...


isAuthenticated is not used?

I look for the code when isAuthenticated (connectors.js) is called  but i've not found.
If I run on graphiql the query to list user and don't send a token:
query {
  users  {
        id
    email
    lastName
    firstName

      }

have no errors, so authentication is not working, am I right?

Hi @webmobiles.
You are right. isAuthenticated() is not being use on server-side at the moment. You can implement it in your project wherever you want in order to protect some data from server.
PRs are accepted in case you would like to send some improvements. 😄

Hi @webmobiles.
You are right. isAuthenticated() is not being used on server-side at the moment. You can implement it in your project wherever you want in order to protect some data from server.
PRs are accepted in case you would like to send some improvements. 😄

Hi @webmobiles.
You are right. isAuthenticated() is not being used on server-side at the moment. You can implement it wherever you want in order to protect some data from server.
PRs are accepted in case you would like to send some improvements. 😄

nice, you did a good job, how i can open a PR?

Thanks, @webmobiles. I will try to improve it more in the future.
Here you are! https://help.github.com/articles/creating-a-pull-request/


Ctrl-R only shows the last item in my history

[ ] I have read through the manual page (man fzf)
[x] I have the latest version of fzf
[x] I have searched through the existing issues

Info

OS

[ ] Linux
[x] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[ ] bash
[x] zsh
[ ] fish

Problem / Steps to reproduce
I just realized with Ctrl-R, fzf only shows the last item in my history.
I have similar setup in another machine and it seems to work fine. The one with the issue is a M1 Mac, so I'm not sure it might be the reason or what.

While in .zsh_history, I have many more items.

I first noticed this within a (local) tmux session, using Alacritty (also latest version), but I have also tried:

Not in tmux
iTerm2 and macOS Terminal
Unset all fzf exports and settings in my .zshrc
Restarted my mac

What could be the reason for fzf not showing the entire history?

I figured it out. Not because of fzf. It's Prezto module history that I use https://github.com/sorin-ionescu/prezto/.


User profile edit

Enable a user to edit their name, email, Twitter username and change their password.
Note that this PR depends on API PRs: 169 & 165 which have been merged.
This will close: JOINDIN-482 and JOINDIN-554

When a site admin edits a user, they can't change the user's password so those fields shouldn't be visible.
Also it isn't possible to remove a twitter account, this is valid as an empty string but it doesn't save when the field is empty - the API will tolerate an empty string but this is a null value.

To fix the null issue on twitter_username, I have created API PR 176.
Looking at the code, the conversion of an empty string to null is hardcoded into the Symfony2 Form component's viewToNorm method. The 'correct' solution is to write a "view transformer" class that would allow us to bypass the hardcoded conversion. If we don't go for the API change, then I'll create one.


Meta: address all current content: correction issues

this meta issue address all current content: correction issues
planned commits (on https://github.com/crate/crate/pull/10861):

[x] Correction: Clarify single-node admonition and copy to shared-nothing concepts document (fixes #10058)
[x] Correction: Add note about doc only being available after the first table is created (fixes https://github.com/crate/tech-writing-domain/issues/206)
[x] Correction: Add clarification and cross-reference for object literals syntax (fixes https://github.com/crate/tech-writing-domain/issues/201)
[x] Correction: Add missing link to the Enterprise Features document (fixes https://github.com/crate/crate/issues/10253)
[x] Correction: Update "stock host Java VM JIT compilers" link (fixes https://github.com/crate/tech-writing-domain/issues/323)

fixed in https://github.com/crate/crate/commit/f71ed405d961501326ef48d88b705f55a9c8b964

[x] Correction: Cross-reference blocks.read_only_allow_delete (fixes https://github.com/crate/crate/issues/10394)
[x] Correction: Fix link to text data type (fixes https://github.com/crate/crate/issues/10445)

fixed by https://github.com/crate/crate/pull/10729

[x] Correction: Fix default authentication config documentation intro (fixes #10119)
[x] Correction: Clarify object array access syntax (fixes https://github.com/crate/crate/issues/10110)

spun out to a separate issue: https://github.com/crate/crate/pull/10866

[x] Correction: Fix geospatial doc tests to catch reported errors and update corresponding example SQL (fixes https://github.com/crate/tech-writing-domain/issues/208)
[x] Correction: Minor copyedit and some link fixes for release notes (fixes https://github.com/crate/tech-writing-domain/issues/155)
[x] Correction: Correction: Add a note about the availability of the KILL statement  (fixes https://github.com/crate/crate/issues/10209)
[x] Correction: Use HTTPS instead of HTTP for links (fixes https://github.com/crate/tech-writing-domain/issues/316)

fixed in https://github.com/crate/crate/pull/10861/commits/a3d7b19b3123d24c10388b44f80fd5af5918d0b1 for crate/crate
fixed in https://github.com/crate/crate-howtos/pull/263
fixed in https://github.com/crate/crate-tutorials/pull/36
fixed in https://github.com/crate/crash/pull/348

this is done


Add multi-bot support

[ ] Add support for optional manual port selection
[ ] Add support for config selection
[ ] Move "live" files into their own section/folder, based on port

[x] units/ (done in 5d55f5a27e687bf852ad5b3a98508edfc5b1e1e0)
[x] OCR_inputs/ (done in 55f3c164b2a1bbc718c139efb273a1bd16f67d3a)
[x] bot_feed_*.png (done in 906b20098bb80abb459b1d46c21579071ff5d1de)

Closing this in lieu of #9


Implicitly link processes with "public" variables

TL;DR
Add a variable type xsimlab.public that allows for implicit process linking.

I am a relatively new user of this package. When I first started learning about it, I noticed that there was one aspect of xsimlab design that was unexpected:
from another_class import AnotherClass

xsimlab.foreign(AnotherClass, 'my_var')

In other words, the user must explicitly link two processes. This approach has many benefits as explained in the docs. A major detriment to this approach, however, is significantly reduced modularity and reusability of the user-defined processes. For example, let's consider the minimal use case:
@xs.process
class DefaultInput:
    some_input = xs.foreign(UseInput, 'some_input', intent='out')

    def initialize(self):
        self.some_input = 'foo'

@xs.process
class UseInput:
    some_input = xs.variable(intent='in')

Replacing the DefaultInput process with a InputFromFile process requires updates to every other linked process. In this simple case, we only need to do this for UseInput, but for larger connected networks of processes this is non-trivial.
My proposal (a mere point of discussion at this stage) is addition of a new public variable type:
@xs.process
class DefaultInput:
    # Very similar to xs.foreign!
    some_input = xs.public('unique_name', intent='out')

    def initialize(self):
        self.some_input = 'foo'

@xs.process
class UseInput:
    some_input = xs.variable(name='unique_name', public=True, intent='in')

Replacing DefaultInput with InputFromFile is now trivial, even for large scale use cases. A public variable is processed at the model scope, so it can be read or provided by any other process in the model. The group variable type already behaves this way (if I'm reading the package code right), except that intent='in' is required for group variables only. A group variable would be a special case of public variable.

Usage Constraints

The name of a public variable must be unique in the model scope. This implies that only one process in the model can define a public variable with a given name.
Multiple (or zero) processes can ingest the variable using xs.public, just like xs.foreign.
Other obvious violations during DAG construction are disallowed, such as:

Some process calls xs.public(name), but no process defines a public variable with name
Cycle containing a public edge is detected in the DAG

Alternatives & Workarounds

group variables already exhibit similar behavior. One could make a separate group for each public variable, or preferably...
...define all public variables in a single group, then access them using group_dict (#140). This is a viable alternative that does not deviate significantly from status quo.

One downside of this approach is that a process that only requires one public variable ingests every public variable.

Subclassing - User can define a set of static, lightweight base classes that are often subclassed but never replaced. One could implement InputFromFile this way, thanks to v0.3.0:

@xs.process
class DefaultInput:
    some_input = xs.foreign(UseInput, 'some_input', intent='out')

    def initialize(self):
        self.some_input = 'foo'

@xs.process
class InputFromFile(DefaultInput):

    def initialize(self):
        self.some_input = self.read_from_file()

@xs.process
class UseInput:
    some_input = xs.variable(intent='in')

The major downside, of course, is that subclassing is bad for you. It seems antithetical to the declarative, functional programming that xsimlab and attr encourage. It also requires the user to categorize their processes into two categories: "static and inheritable" or "modular and mutable."

A number of unspeakable workarounds that I have not and do not want to test. Calling xs.foreign inside a function method, paired with importlib, for instance.

Thanks for your detailed feedback @eho-tacc.
I admit that hard-linked process classes with xs.foreign limits the overall flexibility of the framework.
I've also been thinking about using variable names, which is an approach used in other frameworks, but it has it's limits too:

Users who want to build compatible models/processes in separate code repositories need to agree on some standard names. My experience with standard names is that it can be very rigid/hard too.

Especially with this framework, using variable names to link processes would require a lot of logic to ensure that the DAG of processes is consistent (like you mentioned here above). Those automatically generated DAGs is a key feature of xarray-simlab, so I'd prefer explicit over implicit links.

The major downside, of course, is that subclassing is bad for you. It seems antithetical to the declarative, functional programming that xsimlab and attr encourage.

I wouldn't say that subclassing is bad. I find it very useful here. I often use it to define base processes + different specializations and I'm quite happy with it (note: I'm not trying to use complex things like multiple inheritance, mixins, etc... just simple subclasses).
While Xarray-simlab's model setup/runs interface based on xarray Datasets encourage some functional style, the modeling framework (small process classes) is still heavily object-oriented. I like to leverage the advantages of those different paradigms, which is possible with a language like Python.

To be clear, I'm not against adding some mechanism like proposed here to circumvent hard-coded links between process classes. I need to think a bit more on that.
Regarding the API:

I would rather use xs.global() instead of xs.public().
We could use only one argument in the original variable declaration, e.g., xs.variable(global_name='foo').

The proposal here looks very similar to Python's global variables, with the additional intent constraint. Like for Python's global variables, I would recommend using such feature with care, though.
Other questions arising:

Which name to use for model I/O: <process>__<variable> or <global_name>?

Thanks again for letting me pick your brain on this.

Users who want to build compatible models/processes in separate code repositories need to agree on some standard names.

I agree that this (and the corresponding naming issue) is a cost of implementing xs.public. A follow-up question: is "building compatible models/processes across separate repos" even possible using xs.foreign alone? If one must explicitly link processes within a repo, it stands to reason that Variables passed between repos must also have explicit links, no?

The major downside, of course, is that subclassing is bad for you

This was a hasty conflation of personal preference and best practice 😆 . A less provocative version of the above statement:

Yes, users should be able to choose inheritance if they want to. We have you to thank for that. I'm currently using "basic" subclassing and it works as expected!
A nontrivial (growing?) fraction of the Python community would prefer a more functional paradigm. One example is my use case, in which subclassing got a bit messy, but that's another story...

Regarding the API:

xs.global and xs.variable(global_name="foo") (not necessarily mutually exclusive!) have a nice ring. One benefit of exposing as a kwarg is that users are nudged towards the default global=False behavior, because I agree that a bunch of xs.global calls could land users in trouble.

Which name to use for model I/O: <process>__<variable> or <global_name>?

I feel like I'm venturing into the realm of over-engineering with this idea, but it's worth putting on paper: <namespace>__<global_name>. A namespace could be a simple mapping to global vars: xs.variable(name="foo", namespace="parameters"), where the default is namespace='global' (or similar). As a user, I already think about groups this way. I admit that I don't know if this would be breaking or non-trivial lift.
Thanks for listening, and let me know how I can help!

"building compatible models/processes across separate repos" even possible using xs.foreign alone?

It's certainly not easier than using "global" xarray-simlab variables with some standardized names, but I'd say it's not really harder either.

One benefit of exposing as a kwarg is that users are nudged towards the default global=False behavior

I think global_name=None by default would have a clear meaning too.

A namespace could be a simple mapping to global vars: xs.variable(name="foo", namespace="parameters")

The keys of the dictionary given in xs.Model already provide some namespace, so I would keep it "simple" and not provide another namespace mechanism. Users can use the global name of that, e.g., xs.variable(global_name='parameters_foo'). We could also allow any hashable type, e.g., a tuple:  xs.variable(global_name=('parameters', 'foo'))
For some reasons I have in mind, I would be in favor of sticking with  <process>__<variable> for model I/O. For example, in #52 it would be nice to allow user-defined process order with a variable value that is passed and updated in chain from one process to another (i.e., multiple intent 'inout'): <process>__<variable> would allow saving multiple snapshots unambiguously in this chain.

let me know how I can help!

PRs are welcome! The hardest part of the work here is to implement in the _ModelBuilder class all the logic needed to reconstruct explicit links from global names and ensure that those links don't break the DAG of processes.
Unfortunately, I only have limited time to spend on this project for the moment. I'll do my best to help but I might be slow to respond.


Update files to reflect proposed field naming convention change

Summary
Detailed explanation in Issue #22822
Issue: Fields should not be named camelCase because it overlaps with local variable names
Solution: To either prefix with a _fieldName or _PropertyName so that it matches the property name.
Fixes #22822

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: BenjaminMichaelis sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for starting this work @BenjaminMichaelis
As others have noted, these changes don't conform to our coding guidelines. In our docs, we intend to follow the coding standards adopted by the .NET runtime team. It's true that some of our older samples don't conform today, including this one. If you update this PR to match those guidelines, we'll review it again.

Switching to PR #22822


Allow NavList to paginate multiple groups

Authors: Please fill out this form carefully and completely.
Reviewers: By approving this Pull Request you are approving the code change, as well as its deployment and mitigation plans.
Please read this description carefully. If you feel there is anything unclear or missing, please ask for updates.
What are you trying to accomplish?
This PR moves the "show more" pagination to the NavList group level, allowing each group to receive pagination within a NavList. Previously, only the first group would receive pagination.
Demo
https://github.com/primer/view_components/assets/431533/c29042e1-b338-4a63-959e-1b53aa6cee8c
Integration
This change shouldn't break existing usage of "show more", and when this change is integrated into GitHub dotcom we can remove the local workaround to allow pagination in the left-hand global side panel groups.
List the issues that this change affects.

Closes #1885
Risk Assessment

[x] Low risk the change is small, highly observable, and easily rolled back.
[ ] Medium risk changes that are isolated, reduced in scope or could impact few users. The change will not impact library availability.
[ ] High risk changes are those that could impact customers and SLOs, low or no test coverage, low observability, or slow to rollback.

What approach did you choose and why?
I largely implemented the same workaround that I did when we added pagination to the NavList in dotcom's global side panel, which is pulling all "show more" related code out of the nav-list element and into a new nav-list-group element. With that change, each group can now manage its own pagination state.
Anything you want to highlight for special attention from reviewers?

I added some more sample "foods" to differentiate the two NavList groups in the Lookbook preview, with the second group fetching up to four pages of items and the first group only fetching two. I stuck with the Futurama theme 😄
Does the focusMarkers behavior still work as expected with this change? It seems like it to me but it's worth double-checking.

Accessibility

No new axe scan violation - This change does not introduce any new axe scan violations.

Merge checklist

[ ] Added/updated tests
[ ] Added/updated documentation
[x] Added/updated previews (Lookbook)
[x] Tested in Chrome
[x] Tested in Firefox
[x] Tested in Safari
[x] Tested in Edge

Take a look at the What we look for in reviews section of the contributing guidelines for more information on how we review PRs.

Looks like there's a failing system test

This is looking great! Just that one system test issue, but I'm a soft 🚢

Thanks @jonrohan & @camertron - that system test that I missed has been updated!


Add Lo-Dash / Underscore style chaining.

Hi all,
I wonder if there's a specific reason Ramda does not have the Lo-Dash style chaining? If not I would suggest the following feature. If you're fine with it I would implement it and send a pull request.
E.g. I would like sometimes to use:
R()   // starts a Ramda chaining (not to be confused with the R.chain() thing) and returns a special Ramda chaining wrapper
.pluck('a')
.pluck('b')
.filter(R.propEq('c','foo'))
.map(doSomething)
.end()   // is ending the chain, similar like value() in Lo-Dash and returns a function which executes the specified Ramda operations in order.

In addition one could provide a value right at the beginning, so that end() would not return a function but instead the result of all the operations performed on the supplied value.
E.g.
var data = [{a:{b:{c:"foo"}}},{a:{b:{c:"bar"}}}

R(data)
.pluck('a')
.pluck('b')
.filter(R.propEq('c','foo'))
.end()  // --> returns [{c:"foo"}]

I know that there's R.pipe which performs a similar thing, but I often feel for longer chains the proposed style is more elegant and easier to read (might be a personal preference though). Also it's more convenient for users familiar with Underscore and Lo-Dash.
The equivalent R.pipe example would look the following:
var data = [{a:{b:{c:"foo"}}},{a:{b:{c:"bar"}}}

R.pipe(
R.pluck('a'),
R.pluck('b'),
R.filter(R.propEq('c','foo'))
)(data)   //  --> returns [{c:"foo"}]

What do you think?

https://www.youtube.com/watch?v=m3svKOdZijA

https://www.youtube.com/watch?v=m3svKOdZijA

Hi @fyyyyy . Thx for the video.
I get the point of flipping the arguments and autocurrying but for I don't think a compose or pipe necessarily reads better or composes better then a chain.

He says wrapping the value with _.chain and unwrapping it with value() is clutter, but effectively _.compose is also 1 line of clutter.
For compose a you have to repeatetly prefix all ramda operations with the Ramda identifier R. which is clutter too.
One has to surround all the operations into a set of braces, e.g. R.compose(op1,op2) and for a long set of operations the opening and closing braces would be at very different lines which makes it sometimes hard to track / write the right number of closing braces.
What I understand is that compose / pipe is more flexible, in that you can easily plug in non-ramda functions, but I tend to use >90 % ramda functions for my pipelines. Plugging in non ramda functions could still be done by using R.tap or something new like R.intercept. Eg.

R()
.filter(R.propEq('c','foo'))
.intercept(nonRamdaFunc)
.end()

advantage to underscore / lo -dash is that one can avoid tying operations to data, by using R() instead of R(data) which matches Ramda's currying behaviour.
Commenting out the last operation in a R.compose or R.pipe potentially raises a syntax error, because of the comma, while with chaining it does not.
E.g.

R()
.filter(R.propEq('c','foo'))
//.intercept(nonRamdaFunc)   // no syntax error
.end()

R.pipe(
R.filter(R.propEq('c','foo')),   //syntax error because of comma
//nonRamdaFunc
);

Hi @fyyyyy . Thx for the video.
I get the point of flipping the arguments and autocurrying but for I don't think a compose or pipe necessarily reads better or composes better then a chain.

He says wrapping the value with _.chain and unwrapping it with value() is clutter, but effectively _.compose is also 1 line of clutter.
For compose a you have to repeatetly prefix all ramda operations with the Ramda identifier R. which is clutter too.
One has to surround all the operations into a set of braces, e.g. R.compose(op1,op2) and for a long set of operations the opening and closing braces would be at very different lines which makes it sometimes hard to track / write the right number of closing braces.
What I understand is that compose / pipe is more flexible, in that you can easily plug in non-ramda functions, but I tend to use >90 % ramda functions for my pipelines. Plugging in non ramda functions could still be done by using R.tap or something new like R.intercept. Eg.

R()
.filter(R.propEq('c','foo'))
.intercept(nonRamdaFunc)
.end()

advantage to underscore / lo -dash is that one can avoid tying operations to data, by using R() instead of R(data) which matches Ramda's currying behaviour.
Commenting out the last operation in a R.compose or R.pipe potentially raises a syntax error, because of the comma, while with chaining it does not.
E.g.

R()
.filter(R.propEq('c','foo'))
//.intercept(nonRamdaFunc)   // no syntax error
.end()

R.pipe(
R.filter(R.propEq('c','foo')),   //syntax error because of comma
//nonRamdaFunc
);

I can think of two major objections to this style for Ramda.  Both have to do with the underlying philosophy of Ramda.
First, Ramda is designed to help you work with little or no mutable state; that is one of the fundamental features of functional programming.  The output of Ramda functions is determined solely by the values of their parameters; no global state, no external configuration, no hidden closures are used to vary how your function behaves.  If we were to start down this road, Ramda itself is introducing state into the mix.  The output of the .filter method of a chained object would now depend upon the state of that object.
R([1, 2, 3, 4, 5]).filter(isEven).end(); //=> [2, 4]
R([1, 2, 3, 4, 6]).filter(isEven).end(); //=> [2, 4, 6]

Second, Ramda is predicated on the idea of building up functions out of smaller ones.  The currying and the parameter order is designed to support this workflow.  Chaining is the antithesis of this.  The expected general usage would be to create named functions for any useful groupings of functions:
var myFunc = R.pipe(
    R.pluck('a'),
    R.pluck('b'),
    R.filter(R.propEq('c','foo'))
);

var data = [{a:{b:{c:"foo"}}},{a:{b:{c:"bar"}}}

 myFunc(data); //=> [{c:"foo"}]

That wouldn't make much sense with a chained version.  Perhaps we could get it to work, but even if we did, it would still limit usage to internal Ramda functions, which again is very much against the spirit of the library.

Also it's more convenient for users familiar with Underscore and Lo-Dash.

That's never going to be a primary focus of Ramda.  Javascript has always had its functional side, but for many years, few people took advantage of it.  jQuery, for all its warts, offered some slight steps toward functional programming.  Underscore and Lo-Dash offer some more.  But none of these are really designed around the idea of promoting functional programming the way Ramda is.  Ramda is more than willing to break with how these libraries do things when they don't mesh well with Ramda's underlying philosophy.  This is definitely one of those times.

I can think of two major objections to this style for Ramda.  Both have to do with the underlying philosophy of Ramda.
First, Ramda is designed to help you work with little or no mutable state; that is one of the fundamental features of functional programming.  The output of Ramda functions is determined solely by the values of their parameters; no global state, no external configuration, no hidden closures are used to vary how your function behaves.  If we were to start down this road, Ramda itself is introducing state into the mix.  The output of the .filter method of a chained object would now depend upon the state of that object.
R([1, 2, 3, 4, 5]).filter(isEven).end(); //=> [2, 4]
R([1, 2, 3, 4, 6]).filter(isEven).end(); //=> [2, 4, 6]

Second, Ramda is predicated on the idea of building up functions out of smaller ones.  The currying and the parameter order is designed to support this workflow.  Chaining is the antithesis of this.  The expected general usage would be to create named functions for any useful groupings of functions:
var myFunc = R.pipe(
    R.pluck('a'),
    R.pluck('b'),
    R.filter(R.propEq('c','foo'))
);

var data = [{a:{b:{c:"foo"}}},{a:{b:{c:"bar"}}}

 myFunc(data); //=> [{c:"foo"}]

That wouldn't make much sense with a chained version.  Perhaps we could get it to work, but even if we did, it would still limit usage to internal Ramda functions, which again is very much against the spirit of the library.

Also it's more convenient for users familiar with Underscore and Lo-Dash.

That's never going to be a primary focus of Ramda.  Javascript has always had its functional side, but for many years, few people took advantage of it.  jQuery, for all its warts, offered some slight steps toward functional programming.  Underscore and Lo-Dash offer some more.  But none of these are really designed around the idea of promoting functional programming the way Ramda is.  Ramda is more than willing to break with how these libraries do things when they don't mesh well with Ramda's underlying philosophy.  This is definitely one of those times.

@geekflyer
Hmm agreed :+1:  chaining is not necessarily more clutter than composing. However you could avoid comma comment errors with a comma first policy. So this only comes down to syntax preference, possibly saving some R. with chain at the expense of ramda code size and also performance/memory due to wrapping/unwrapping.
R.pipe(
R.filter(R.propEq('c','foo'))   //no syntax error because of comma first
//,nonRamdaFunc
);

@geekflyer
Hmm agreed :+1:  chaining is not necessarily more clutter than composing. However you could avoid comma comment errors with a comma first policy. So this only comes down to syntax preference, possibly saving some R. with chain at the expense of ramda code size and also performance/memory due to wrapping/unwrapping.
R.pipe(
R.filter(R.propEq('c','foo'))   //no syntax error because of comma first
//,nonRamdaFunc
);

@fyyyyy
How about this one :smiley:
R.pipe(
//R.filter(R.propEq('c','foo'))   //syntax error with comma first :-)
,nonRamdaFunc
,R.pluck('prop')
);

Comma first just moves the syntax error problem to the first function in your pipe, instead of the last one.
But yes, you're right - at the end it boils down to some syntax preference and comes at a certain expense. @CrossEye kind of convinved me that introducing R(data) is not worth the trouble because of the mutable state / data passed through, but I still kind of like the R() end() variant which returns a function. The chaining syntax with dots as seperator is just soo much more familiar - many js libraries use it (e.g. gulp / node streams, Highland.js) and also I know it from Apache Spark (Scala) and Apache Flink. Which syntax is better simply depends on the use case (ratio of ramda native to normal functions) imho.
I'm having a look at lo-dashs code at the moment, to figure out how they implemented the chaining and how much code that would impose for ramda, but I think runtime / memory overhead for wrapping is neglible. It's basically just some minor overhead of storing the metadata of a chain.

@fyyyyy
How about this one :smiley:
R.pipe(
//R.filter(R.propEq('c','foo'))   //syntax error with comma first :-)
,nonRamdaFunc
,R.pluck('prop')
);

Comma first just moves the syntax error problem to the first function in your pipe, instead of the last one.
But yes, you're right - at the end it boils down to some syntax preference and comes at a certain expense. @CrossEye kind of convinved me that introducing R(data) is not worth the trouble because of the mutable state / data passed through, but I still kind of like the R() end() variant which returns a function. The chaining syntax with dots as seperator is just soo much more familiar - many js libraries use it (e.g. gulp / node streams, Highland.js) and also I know it from Apache Spark (Scala) and Apache Flink. Which syntax is better simply depends on the use case (ratio of ramda native to normal functions) imho.
I'm having a look at lo-dashs code at the moment, to figure out how they implemented the chaining and how much code that would impose for ramda, but I think runtime / memory overhead for wrapping is neglible. It's basically just some minor overhead of storing the metadata of a chain.

well, true! But the first function in a pipe is more unlikely to be commented out. For compose that's reversed however and as such comma first is revealed as a silly policy :smile:

well, true! But the first function in a pipe is more unlikely to be commented out. For compose that's reversed however and as such comma first is revealed as a silly policy :smile:

While
R()
    .ramdaFunction1(..params)
    .ramdaFunction2(..params)
    // ...
    .end()

could be made to work, or maybe more clearly something like R.chain()... ...end(), the trouble is that I don't think it should.
As already discussed, this makes non-Ramda functions second-class citizens.
But perhaps more importantly this simply adds a second way of working with Ramda without adding any functionality.  And since it doesn't work with non-Ramda functions (without some sort of wrapper, in any case), it couldn't serve as a replacement for the current syntax.  As such, it adds unnecessary complexity to the library.
I have no issue with some syntactic sugar, but reworking of the library to support a style of programming that is not central to the mission of Ramda, one that is unrelated to most functional programming environments, and to do this chiefly to make Ramda more familiar to those working in libraries that are not particularly close to the heart of FP, makes no sense to me.
Once again, I think it's time to mention Rich Hickey's talk, Simple Made Easy, the essense of which we try to incorporate in Ramda as best we can, keeping everything we can simple, even when that's not always the easiest option.

i'm with @CrossEye on this


Remove non-functional react frontend with CVEs

Codecov Report
Base: 66.08% // Head: 66.08% // No change to project coverage :thumbsup:

Coverage data is based on head (8f43643) compared to base (29225a6).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #124   +/-   ##
=========================================
  Coverage     66.08%   66.08%
  Complexity       70       70
=========================================
  Files            28       28
  Lines           286      286
  Branches         14       14
=========================================
  Hits            189      189
  Misses           90       90
  Partials          7        7

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


adding token chihuahuawifhat from chain chihuahua | liquidity soon | to osmosis.zone_assets.json

Description

Checklist

Adding Chains

If adding a new chain, please ensure the following:

[x] Chain is registered to the Cosmos Chain Registry.

Chain's registration must have staking defined, with at least one staking_token denom specified.
Chain's registration must have fees defined; at least one fee token has low, average, and high gas prices defined.

[x] Add chain to bottom of zone_chains.json

RPC and REST must not have any CORS blocking of the Osmosis domain.
RCP node must have WSS enabled.

Adding Assets

If adding a new asset, please ensure the following:

[x] Asset is registered to the Cosmos Chain Registry.
[x] Add asset to bottom of zone_assets.json.

The IBC channel referenced in path must be registered to the Chain Registry.
osmosis_unlisted defaults to true (until the respesentation and transferring of the new asset has been validated)

On-chain liquidity
For each new asset, please provide the plan for on-chain liquidity of the asset: (choose one)

[x] Ready -- A liquidity pool has been created. The pool ID is: _1356/1357
[ ] Soon -- A pool will be created. (See: Pool Setup Guilde.)

[ ] (optional) A preview of the Osmosis Zone app with the new asset added is requested for creating the pool. (Supercharged Liquidity pools cannot be created via Osmosis Zone app)

[ ] StreamSwap -- The token is, or will be, going through a StreamSwap stream; thus, the token should be listed without requiring on-chain liquidity. A Pool ID will be provided in this PR following the stream's completion once the team has had a chance to create a pool using the earned funds.

Sorry, @SmolFatality your GitHub account doesn't have enough of a history to be able to enlist tokens. Is there a longer used account that can comment on this PR to vouch for this token?

Let me ask worker bee or pupmos or atmon to vouch. One second

Hi @JeremyParish69. I'm not affiliated with the token but I've been helping Smol jump through the hoops of listing for the past few days.
They are trying to do a newt-style fair launch. I think this is the first huahua token factory listing on osmo. Seems cool.
AFAIK the Github account is new because they started coding this week. Smol passes my captcha. 👍


pinecone fails when I try to run

Hi! I'm trying to run the pinecone but it returns an error when I pass an argument

I need to do any configuration before running it?

Thank you for reporting 😌
I just released v1.3.1 https://github.com/mvllow/pinecone/commit/e53609361552ed62ddc01996e0713c7abd8e60e4 which should fix this issue. Let me know if that helps. If not, please reply with your node version (eg. node --version)

Thank you for reporting 😌
I just released v1.3.1 https://github.com/mvllow/pinecone/commit/e53609361552ed62ddc01996e0713c7abd8e60e4 which should fix this issue. Let me know if that helps. If not, please reply with your node version (eg. node --version)

I updated and it looks like this release fixed the problem
Thanks

I updated and it looks like this release fixed the problem
Thanks


Added some tests for EdgeCases of validAVL()

Added specific EdgeCase Tests for validAVL(), also slightly modified the helper method and the test on an empty AVLTree.

Great work, thanks for your contribution 🐧


Release/3.0.0

@kyle-ssg I've bumped to 3.0.0 before releasing with edge api as the default. Otherwise, we could end up breaking things for people that upgrade to 2.1.0 since they may not have had their project(s) migrated to edge.


Remove waynr from MAINTAINERS

Unfortunately, I don't think I am a good candidate for maintainers on this repo. I originally joined because I was tech lead on a cloud product built around distribution and wanted to help get some of our fork's changes upstream. I have since been laid off and don't intend to work on container registries in the future.
Thanks for having me and good luck with everything!

Codecov Report
Patch and project coverage have no change.

Comparison is base (6ccc551) 55.85% compared to head (f48e0ec) 55.85%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3995   +/-   ##
=======================================
  Coverage   55.85%   55.85%
=======================================
  Files         110      110
  Lines       11069    11069
=======================================
  Hits         6183     6183
  Misses       4193     4193
  Partials      693      693

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

Was great having you 🤝


MLIR tutorial

The project documentation should include a short tutorial on how to use MLIR and the bindings, with selected references for further reading, without involving Sierra, to ease onboarding. The focus should be on what information is necessary to understand cairo_native's use of MLIR.
Once someone has a general notion of how MLIR works, they can then move on to understanding cairo_native's internals.

Can I be assigned this issue please.

Can you kindly assign this to me, please. I can do this.

Hi @igaray
I would like to pick up this issue and create a documentation on MLIR, it's bindings, and then gradually move to write about cairo native's internals.


added news letter api

issue #357
subscribe newsletter:

receive email:

please review this pr @Anuj3553

Please review this pr @Anuj3553

Well done @AyushSharma72


HOSTEDCP-1791: dont render cloud-credentials secret

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes #
Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/retest required

/retest-required

/test e2e-aks

/test e2e-azure

/lgtm

Please default to not rendering sensitive info once the relevant jobs have been updated.
fwiw this won't be an issue when moving to msi
/approve

/lgtm

/lgtm

/test all

/test all

/test all

/retest
for konflux

/retest-required

/retest

/lgtm

Please default to not rendering sensitive info ...

@enxebre wouldn't this break every consumer of --render that uses the output as a self-contained mechanism to install HostedClusters on a management plane?


Add Emoji svg to Embed icon bundle

Jira Ticket
This is needed to support adding the EmojiPicker to Beacon Embed

Pull Request Test Coverage Report for Build 2801

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

Totals

Change from base Build 2798:
0.0%

Covered Lines:
21

Relevant Lines:
21

💛  - Coveralls


Prevent detect-secrets from reordering the dicts in baseline

This prevents unnecessary baseline modifications.
So we json.dumps a dictionary, not an ordered dictionary, so doing sort_keys=True in the json.dumps here should fix it.

Fixed in https://github.com/Yelp/detect-secrets/pull/25


Reenable NexusLowRes API 29

Reenable the NexusLowRes API version 29 tests.
List which issues are fixed by this PR. You must list at least one issue.
fixes https://buganizer.corp.google.com/issues/302753598
fixes flutter/flutter#135784
If you had to change anything in the flutter/tests repo, include a link to the migration guide as per the breaking change policy.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

So apparently the .ci.yaml will not parse with the trailing commas for some reason.

So apparently the .ci.yaml will not parse with the trailing commas for some reason.

Thats weird, looks like trailing commas are in yaml spec?