enabling scrollEnabled causes app to crash

Hey all!
After enabling scrollEnabled={true} within my Calendar component, my app now crashes with the following error

null is not an object (evaluating 'this._calendar.scrollTo')

This is currently my Calendar implementation.
<Calendar
 ref="calendar"
 eventDates={this.props.eventDates}
 showControls={true}
 showEventIndicators={true}
 customStyle={customCalandarStyle}
 scrollEnabled/>

Am I missing something here?
Thank you.

Figured it out, I had an if statement which determines if the Calendar is rendered or not - the switch was happening so fast the Calendar child components we're not catching up so the reference was gone.

@Treybro Thank you for clueing me in on the problem! I was also conditionally showing the calendar and if I switched to a view quick enough that doesn't have the calendar, I got this error.
So I just committed (https://github.com/christopherdro/react-native-calendar/commit/af3d38e08a0e16f7a1b4217c7948cf837916c58b) a simple check to make sure this._calendar is defined before calling scrollTo.


Create Post “2022-07-23-next-post”

Automatically generated by Netlify CMS

👷 Deploy Preview for deluxe-rabanadas-4cbd1b processing.

Name
Link

🔨 Latest commit
fa4cd22b67fb8936d978ab592fd312ed65275e42

🔍 Latest deploy log
https://app.netlify.com/sites/deluxe-rabanadas-4cbd1b/deploys/62dbea8cb61fab00094dc03f


Out of gas stuck escrow fee

If transactions are included in the block but goes out of gas, escrowed fees become stuck in the feemarket-fee-collector. This PR attempts to fix this by distributing the fees (based on the param.DistributeFees) through subsequent transactions in the posthandler.

Hey @freeelancer thanks for opening this PR!
I see a few issues with the current implementation of this:

The query is calling GetAllBalances() for the fee market module account.  This works in the isolated scenario shown, but I think this will have issues as is.  For example, if params.DistributeFees == false for 10 blocks and some transactions run, the module account will accumulate fees.  All of these fees will be distributed upon our failed transaction, when it should only be the amount that was escrowed.
I'm not sure if the provided test is reproducing an actual issue here.  This test is causing out of gas to be called in the ante handler, in which case this transaction should never be included into a block and the state commitment is to the CheckTx commitment tree.
Transactions that are included in the block, but run of out gas will be guaranteed to at least pass the anteHandler.  If they run out of gas during message processing, the post handler will always be run for them.

Is this an issue you ran into during some testing or with integration into a chain?


feat: Allow alignment for ui.text #1370

Closes #1370
The PR fulfills these requirements: (check all that apply)

[x] It's submitted to the main branch.
[x] When resolving a specific issue, it's referenced in the PR's title (e.g. feat: Add a button #xxx, where "xxx" is the issue number).
[x] When resolving a specific issue, the PR description includes Closes #xxx, where "xxx" is the issue number.
[x] If changes were made to ui folder, unit tests (make test) still pass.
[x] New/updated tests are included

As requested in the ticket, I have added a new align prop in text.tsx. The possible values are start, end, center, and justify, with a default of start. This new prop is then passed down through the style prop for Fluent.Text. The code change in ui/src/text.tsx looks like this:
  /** The alignment of the text content. Defaults to 'start'. */
  align?: 'start' | 'end' | 'center' | 'justify'

    <Fluent.Text data-test={name} variant={toTextVariant(size || 'm')} style={{ textAlign: align || 'start'}} block className='w-text'>

I then ran the make generate target to update the generated python and R code to reflect this new attribute in files, such as py/h2o_wave/h2o_wave/ui.py.
I have updated the documentation in website/widgets/form/text.md with a new section called Alignment. I ran the make targets to regenerate the documentation artifacts and you can see a screen shot of that here:

I tested this with a new custom python example that uses the new align attribute available for ui.text. You can find this at py/examples/text_alignment.py. And here is a screen shot of the new example:

I created a new unit test in text.test.tsx, where it tests each of the possible values for the new prop, along with confirming it defaults to start. Here is a snipit from the test:
const textAlignPropValues: Text['align'][] = ['start', 'end', 'center', 'justify']

  it('Renders Text with the align prop', () => {
    const { queryByTestId, rerender } = render(<XText {...textProps} />)
    expect(queryByTestId(name)).toBeInTheDocument()
    expect(queryByTestId(name)).toHaveAttribute('style','text-align: start;')
    textAlignPropValues.forEach(textAlignPropValue => {
      rerender(<XText {...textProps} align={textAlignPropValue} />)
      expect(queryByTestId(name)).toBeInTheDocument()
      expect(queryByTestId(name)).toHaveAttribute('style','text-align: '+textAlignPropValue+';')
    })
  })

I ran all the ui tests and confirmed they passed. Here is a screen shot for that:

@mturoci Thanks for all the great feedback! I think I've take care of all the points, but please let me know if I missed something or you notice something else. Thanks!


add support for GMock

Builds on top of #896 and addresses some issues.
@v-lopez FYI

@dirk-thomas Thanks for the changes, lgtm.

@mikepurvis Would it be possible for you to use this branch for your testing for a little while? That would give us more confidence that it doesn't introduce any regressions...

I've switched our distribution to this branch. FYI @tspicer01

We're not actively using the new gmock support, but I believe none of our unittests have gone up in flames as a result of this change.

@v-lopez Thank you for providing this. I will go ahead and merge this so it will be part of the next release of this package.


Can't train LSTM weights on GPU

This is the implementation of my model.
from keras.models import Sequential
from keras.layers import Dense, Dropout
from keras.layers import Embedding
from keras.layers import LSTM

model = Sequential()
model.add(Embedding(max_features, output_dim=256))
model.add(LSTM(128))
model.add(Dropout(0.5))
model.add(Dense(1, activation='sigmoid'))

This model can be successfully trained on CPUs, although it's slow. But if I install tensorflow-gpu to train the model on GPUs, Segmentation fault (core dumped) occurs while executing the line model.add(LSTM(128)).
python 3.6.4 is installed. I have tried keras 2.0.8 and keras 2.1.2, and both of them cause Segmentation fault (core dumped).
I wonder why it occurs and if it's possible to fix it.
Thanks!

Hi!
It's highly possible that the bug comes from Tensorflow. Keras can't produce segmentation faults because it's entirely written in python. And Tensorflow should throw an exception if you're doing something illegal. Can you close this issue here and open the same one in the tensorflow repository?
Thank you.

i have the same problem, wonder how do you solve the problem?

@PathricLee I changed backend from tensorflow to theano. I suppose it's a bug in running tensorflow with GPU.


Improve instructions for using protobuf-elixir

Instructions on generating elixir code from .proto has changed.
Can you document the new method?

\fire\.mix\escripts\protoc-gen-elixir.bat priv\proto\helloworld.proto
** (MatchError) no match of right hand side value: <<10, 27, 112, 114, 105, 118, 47, 112, 114, 111, 116, 111, 47, 104, 101, 108, 108, 111, 119, 111, 114, 108, 100, 46, 112, 114, 111, 116, 111, 18, 10, 104, 101, 108, 108, 111, 119, 111, 114, 108, 100, 34, 34, 10, 12, 72, 101, 108, 108, 111, ...>>
    lib/protobuf/decoder.ex:159: Protobuf.Decoder.decode_type/3
    lib/protobuf/decoder.ex:36: Protobuf.Decoder.do_decode/4
    lib/protobuf/protoc/cli.ex:6: Protobuf.Protoc.CLI.main/1
    (elixir) lib/kernel/cli.ex:90: anonymous fn/3 in Kernel.CLI.exec_fun/2
--elixir_out: protoc-gen-elixir: Plugin failed with status code 1.```

Trying to generate grpc code but it doesn't work.

A little weird. I tried that on my Macbook, it works. I'll look into this later.

@fire Could you provide some further information? like Erlang/Elixir version, grpc and protobuf version

@fire Could you paste your protobuf file? So that we can know what's the problem.

iex.bat --version
IEx 1.5.1
erl --version
Eshell V9.0  (abort with ^G)

option java_multiple_files = true;
option java_package = "io.grpc.examples.helloworld";
option java_outer_classname = "HelloWorldProto";
option objc_class_prefix = "HLW";

package helloworld;

// The greeting service definition.
service Greeter {
  // Sends a greeting
  rpc SayHello (HelloRequest) returns (HelloReply) {}
}

// The request message containing the user's name.
message HelloRequest {
  string name = 1;
}

// The response message containing the greetings
message HelloReply {
  string message = 1;
}```

From mix.lock
"protobuf": {:hex, :protobuf, "0.3.1", "0bedf46d33c37145c3d4c46edba43d3e70d9438dda6d03e5856d65fd776c1411", [], [], "hexpm"},
"grpc": {:git, "https://github.com/tony612/grpc-elixir.git", "a54d49b9f50790b9614f0aebc4fda759e01aad6e", []},

@fire btw, what's the version of protoc?

protoc --version
libprotoc 3.3.0

It seems to be a windows (tested using windows 10) specific problem. In Fedora 25, the problem isn't there.


[$250] Send invoice - Visibility settings always reverts to "Private"

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.68-0
Reproducible in staging?: Y
Reproducible in production?: N
**If this was caught during regression testing, add the test name, ID and link from TestRail:**N/A
Issue reported by: Applause - Internal Team
Issue found when executing PR https://github.com/Expensify/App/pull/40015
Action Performed:

Go to staging.new.expensify.com
Go to FAB > Send invoice
Enter amount and select a participant
Create the invoice
Click on the workspace chat header
Go to Settings > Visibility
Change to a different visibility

Expected Result:
Invoice workspace chat should not show visibility settings if it cannot be changed
Actual Result:
Invoice workspace chat shows visibility settings and it always reverts to "Private"
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[x] Android: mWeb Chrome
[ ] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/568b8b7b-86d3-411e-9fe0-a6e537df8caa
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01a3de929b3f13fc60
Upwork Job ID:<PHONE_NUMBER>614149632
Last Price Increase: 2024-04-30

@robertjchen  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

Does not appear to be a serious deploy blocker to me and should be addressable by external contributors 👍

Hey, Im Artem from Callstack and would like to take this issue
cc @cristipaval

isn’t this issue external? @waterim ?

Yes, this one can be taken by someone External, will jump to the other issues

this is #vip-billpay related. @danielrvidal could you please help prioritze?

This is a solid clean up item, but given it's not breaking the room I'm assigning it a Medium.

@GandalfGwaihir go ahead and hide both the visibility and the room name fields on the Settings page

Also, this is critical, @GandalfGwaihir, so please give it the highest urgency 🙏

@cristipaval isn't this feature under a beta? should we do nothing if the visibility would be allowed to change in future?

No beta for this feature. For now, we want the invoice rooms to behave like workspace chats. We'll revisit it if we decide to allow visibility change. We'll hide the setting for now.

Yes, I think we want to hide them please!

yes, thanks!

Awesome, looks like this should be good to go and on staging tomorrow. Thank you!

@cristipaval could you please attach payment summary for this issue 🙇

Payment summary:
@rushatgabhane for the C+ review
@GandalfGwaihir for the fix
Note: I don't think this is a regression as it was not clear in the initial design that we were going to hide these for the invoice rooms

@miljakljajic Could you please help with this when it gets due?

Thank you, I will!

tomorrow is the payment day, Melv

Issuing these payments!

@rushatgabhane owed 250 for their work
@GandalfGwaihir paid in upwork.
closing!

$250 approved for @rushatgabhane

@miljakljajic this should be $500 right? Because critical issue

Sorry @rushatgabhane
Updated payment summary:
@rushatgabhane owed 250 for their work
@GandalfGwaihir I will issue a bonus to cover the outstanding amount

Paid the outstanding 250 USD via an upwork bonus to @GandalfGwaihir

@miljakljajic  could you please confirm that im owed 500 for this issue?

Agreed, we still need a payment summary with the $500 amounts.

@rushatgabhane is owed 500 USD for their work on this issue
I'm so sorry - I didn't mean to type 250, total mistake on my part

$500 approved for @rushatgabhane


Users public folders re-appear after delete (Windows)

Keybase GUI Version: 1.0.17-20160822153555+692af12
When deleting another user's folder from /public in KBFS on Windows 10 it is simply downloaded again after a few moments. It does not seem to matter if I delete via cmd.exe or Explorer.

That is because another program has it cached and pings the folder making it reappear. I would recommend closing Keybase GUI and try to rmdir it. If after that it doesn't work try doing this: https://github.com/keybase/client/issues/3958#issuecomment-241266058
One cause can be RuntimeBroker (used for Windows App like Time, Photos, etc...), killing the process (harmless), then rmdir the public folder should make it disappear, that is if RuntimeBroker is the cause.
As a last resort doing the same but with a reboot after removing could help it.

The issue is that accessing a folder adds it back.
The most common issue is some application (such as explorer or a browser) having a file in "recent files" and trying to access it.

Killing Keybase GUI, RuntimeBroker and Explorer and doing rmdir via Commandline did the trick! Thanks!

This happened to me too. Is there a way to avoid this in the future? Or am I going to go through this every time I want to get rid of some public folder?


Compatiblility with ESP32 and the PN7150 NFC tag reader + "FPC BM-Lite" fingerprint reader used in "Chhavi" (crowdfunding campaign product on on Crowd Supply)

Do you think that the NXP PN7150 module based NFC tag reader (instead of the PN532 sensor which esp-rfid already supports) as well as an "FPC BM-Lite" fingerprint sensor used in this ESP32-based "Chhavi" product can be supported by the ESP RFID project?
https://www.crowdsupply.com/vicharak/chhavi
@akshar001 from Vicharak has launched "Chhavi" ESP32 based fingerprint and NFC reader product as a crowdfunding campaign on Crowd Supply.
"Chhavi is a compact, wireless, touch-capacitive fingerprint sensor based on ESP32 WiFi and Bluetooth SoC that is offered with optional NFC connectivity and a battery."
It says that it can also optionally be powered by a battery by using smarter sensors and a battery management system.
Not cheap but it have to say that its very compact size makes it looks very nice. BTW, I first read about it on CNX-Software blog:
https://www.cnx-software.com/2021/10/08/chhavi-esp32-fingerprint-sensor-nfc-battery/
"FPC BM-Lite" fingerprint sensor module by Fingerprints
https://www.fingerprints.com/technology/hardware/modules/fpc-bm-lite/
https://www.fingerprints.com/solutions/access/bm-lite-development-kit/
NXP "PN7150 NFC controller"
https://www.nxp.com/products/rfid-nfc/nfc-hf/nfc-readers/high-performance-nfc-controller-with-integrated-firmware-for-smart-devices:PN7150
https://www.nxp.com/docs/en/data-sheet/PN7150.pdf
NFC Specifications & RF Protocols

PN7150 NFC controller
NFCIP-1 ¹ & NFCIP-2 ²
ISO/IEC 14443A, ISO/IEC 14443B PICC, and NFC Forum T4T modes via host interface ³
NFC Forum T3T via host interface
ISO/IEC 14443A, ISO/IEC 14443B PCD designed according to NFC Forum digital protocol T4T platform and ISO-DEP ⁴
FeliCa PCD mode
MIFARE Classic PCD encryption mechanism (MIFARE Classic 1K/4K)
NFC Forum tag 1 to 5 (MIFARE Ultralight, Jewel, Open FeliCa tag, MIFARE DESFire) ¹
ISO/IEC 15693/ICODE VCD mode ⁵
Supports card emulation as well as reader mode

¹ ISO/IEC 18092 (NFCIP-1) edition, 2013-03-15. This is similar to Ecma 340
² ISO/IEC 15693 part 2: 2nd edition (2006-12-15), part 3: 1st edition (2001-04-01)
³ ISO/IEC 14443 parts 2: 2001 COR 1 2007 (2007-11-01), part 3: 2001 COR 1 2006 (2006-09-01) and part 4: 2nd edition 2008 (2008-07-15)
⁴ NFC Forum Device Requirements V1.3
⁵ ISO/IEC 15693 part 2: 2nd edition (2006-12-15), part 3: 1st edition (2001-04-01)
For those that want to know, the PN 7150 offloads NFC library code onto the controller so it does not have to run on the ESP. Also, it has about 150th the power usage of the PN 532, so if you can run it on a properly designed ESP32 board with a slow polling interval then should be able to operate on battery alone, though as a battery-operated wireless IoT sensor there would be some latency to get on Wi-Fi unless your WiFi has been designed to handle such devices.
PS: I'm just a home automation enthusiast and have no affiliations or connections with Chhavi and Crowd Supply or any others.

FYI, @akshar001 posted to ESPHome discussion that they also have plans to make a less expensive NFC-only model as well:
https://github.com/esphome/esphome/discussions/2464

@Hedda I'm closing this as we don't have the hardware, but we are very open to a PR whenever someone wants to do it. Thank you for the suggestion though!

@Hedda I'm closing this as we don't have the hardware, but we are very open to a PR whenever someone wants to do it. Thank you for the suggestion though!

@akshar001 (Akshar Vastarpara) from Vicharak would probably send you a prototype or sample if you ask him directly, see:
https://www.crowdsupply.com/vicharak/chhavi/ask-question

By the way, also check out his esphome custom component repo for chhavi:
https://github.com/akshar001/chhavi_esphome
I believe it makes use of the NFC_LIB library/driver for pn7150 from his chhavi repo:
https://github.com/akshar001/chhavi
https://github.com/akshar001/chhavi/tree/main/Firmware/Arduino/NFC_LIB/


under/oversized stories counters

Straightforward

"status=oversized_http_xxx"

Hmm.  I thought the only HTTP status that returned valid data was 200!
The rss-fetcher doesn't accept anything other than 200:
https://github.com/mediacloud/rss-fetcher/blob/main/fetcher/tasks.py#L830
(304 happens if we've set conditions on when NOT to send an unchanged document)
Is there a way to tell an HTTP server we won't accept bodies above a
certain size that scrapy uses??
Even if so, I'd say http_xxx and oversized are fine as is; there will
always be different causes for rejection for similar reasons, and
trying to interpret and align data at the collection level will be, at
best incomplete, and possibly confusing.
I try to keep counter names short, so they don't get truncated when
viewed.

@pgulley is this ready for merge?


default "Proxy" tag is auto removed by AWS ?!

Hello,
Expected Behavior
EC2 instances should stay up.
Actual Behavior
When using AWS and since really soon, All instances with the tag "Proxy" is automatically terminated by AWS. I'm a AWS newbee and i didn't touched anything since a while. Is there a settings/security that can make this happen ?
It happen even if i try to create or rename an aws instance outside of scraproxy.
Steps to Reproduce the Problem

Just run an instance like t1.micro with default config (and credential)

Specifications

Version of Scrapoxy: 3.1.1

Thanks, Fabien

I'm having the same behavior :/

@skwidy, A temporary solution is to change the instance tag in your config file.
But anyway, AWS will block this new tag again and again.
As a fix it would be great to randomize the tag for AWS (eg: Proxy_${timestamp})

soooo.. even if you use a new tag, based on "But anyway, AWS will block this new tag again and again." ... it sounds like scrapoxy won't work on AWS any more, since AWS is going to just terminate the proxies?

I didn't work anymore on my side project that use scraproxy, so i can't tell if somethings moved.
As i remember, AWS auto-kills appends after that an amount of instance with the same name was created.
Simply find a way to randomize the tag name and it should be good enough.

I am fairly certain AWS does not remove anything. Most likely you've (inadvertently) had a second instance of Scrapoxy running with different scaling settings, and they killed each other's instances.

should be easier with easy install feature in Scrapoxy 4.0.0

Hey there! 🌟 Exciting news! Scrapoxy 4 is ready to rock 🚀. Check it out at Scrapoxy.io (explore the "get started" guide, deployment documentation, and more 📚).
I can't wait to hear your feedback on this new version! Send me your coolest screenshots with as many proxies as possible! 📸💻
Join the Discord community if you have any questions or just want to chat. You can also open a GitHub issue for any bug or feature request 🐞✨.
See you soon!  😎
Fabien


SymbolSolver is unable to find inheritanced interface type

Hello,
i am trying to find the fully qualified name of interface main.MyInterface<E> that is being implemented in class main.MyClass<E>.
package main;
public class MyClass<E> implements MyInterface<E> { }

package main;

public class MyInterface<E> { }

for (ClassOrInterfaceType type : classDeclaration.getImplementedTypes()) {
	ResolvedReferenceType rrt = type.resolve();
	if (rrt != null) {
		String interfaceName = rrt.getQualifiedName();
		if (interfaceName != null) {
			implementedInterfaces.add(new ClassNameInfo(interfaceName));
		}
	}
}

Sadly, this yields me an exception:
Symbol resolution not configured: to configure consider setting a SymbolResolver in the ParserConfiguration
	at com.github.javaparser.ast.Node.lambda$getSymbolResolver$5(Node.java:682)
	at java.base/java.util.Optional.map(Optional.java:254)
	at com.github.javaparser.ast.Node.getSymbolResolver(Node.java:679)
	at com.github.javaparser.ast.type.ClassOrInterfaceType.resolve(ClassOrInterfaceType.java:292)

I just updated to the 3.7.1  (from 3.6.23) and now the exception is:
java.lang.IllegalStateException: No data of this type found. Use containsData to check for this first.
	at com.github.javaparser.ast.Node.getData(Node.java:457)
	at com.github.javaparser.ast.Node.lambda$getSymbolResolver$5(Node.java:699)
	at java.base/java.util.Optional.map(Optional.java:254)
	at com.github.javaparser.ast.Node.getSymbolResolver(Node.java:698)
	at com.github.javaparser.ast.type.ClassOrInterfaceType.resolve(ClassOrInterfaceType.java:292)

I am setting a SymbolSolver before I start running .resolve():
JavaSymbolSolver symbolSolver = new JavaSymbolSolver(finalTypeSolver);
JavaParser.getStaticConfiguration().setSymbolResolver(symbolSolver);

I also double checked without the generic types and it always yields the same exception.
Am I doing something wrong or why does this not work as intended?

Wrong repo... wops

Would you like me to move this issue? There's a new option in github and I'd like to try it :-D

Oh, thanks, no its fine, I already posted a similar issue in the JavaParser repo. It would exist twice then.


Add gas buffer

Description
This PR makes a few changes to the market page. These include:

Use gas normalization function to prevent gas limit issues.
Moving the position buttons above the order sizing inputs.
Adding a disclaimer regarding minimum order amounts to the deposit modal.
Replacing dollar sign with sUSD prefix for margin values.

Related issue
N/A
Motivation and Context
This PR fixes issues raised in the soft launch of Kwenta v2.
How Has This Been Tested?
N/A
Screenshots (if appropriate):

Relevant issues:

#456
#458
#415


Created Responsive website

I've Created a fully responsive website please check
closes : #137
https://github.com/mdazfar2/HelpOps-Hub/assets/118350936/53bed0db-6837-46f5-9aaa-197495d76b6c

Ok Sure thanks for merging

@sanjay-kv  Sir this in this pr i created the responsiveness of whole website except contributors page  as told by mdafzar you can check all my code and i can send you all conversations  page and in other pr i did contruibutors page responsive sir this is not fair with me please do something .

As mentioned earlier, i appreciate the effort, but as you can see above, its basically multiple PR for addressing same issue, I understand the bugs and you may have to raise multiple PR.
But as this a competition where leaderboard points are counted. cant give multiple PR labels.
I initially want to give level3 to this one and remove the other responsive PR levels, I made a mistake, I can correct it by giving level 2

@sanjay-kv  Thank you so much sir for understanding  but #136 is faq's page i wrote whole new html and css with proper designing if possible please revert back it too  otherwise no issues .
And i will keep in mind sir i will not raise these issues again i just raised because 2 weeks ago we were working on old website and last week ago project owner discloses his new website ( Completely Different Website ) so i also did too .

Its okay to raise issue and multiple PR, but giving levels to individual PR is the problem, we understand admin cant keep track on these levels, so that why we came to help them.
Im trying to understand one thing. Did admin created a new website or modified the themes?
as you can see below, many complains on this repo, I was bit ruthless when came to review for that. apologies.

Its okay to raise issue and multiple PR, but giving levels to individual PR is the problem, we understand admin cant keep track on these levels, so that why we came to help them.
Im trying to understand one thing. Did admin created a new website or modified the themes? as you can see below, many complains on this repo, I was bit ruthless when came to review for that. apologies.

@sanjay-kv  sir actually he created a completely new website as in folder directory you can check website_1 and website 2.0 folders are their this is completely new website if you run index.html in website 1.0 this will route to you on the old website  that's why maybe many peoples are thinking that he is changing his theme just for giving points but that's not true the other website is completely new one and we all are working currently  on only  new website and  trying to make it more attractive with more features website i also have all my previous chats regarding old and new websites . And sir the reason for assigning multiple people is that because many people just raise the issues and doesn't complete it for many days but like me but some peoples including me will complete it within a day like i completed all my tasks within a day  because the website is in starting phase . And sir i am not actually the maintainer of that website he has put my name just because i did too many valuable contributions .

thanks for clarification


Updated s3 bucket output attribute from name, to bucket

Looks like the name output attribute of an S3 bucket has changed from name, to bucket.

No longer necessary. Is set to id which is canonical


Make TimeSync a builtin feature

Why: Sub of #763
What: Move TimeSync so it is a builtin feature like aggregate rather than a plug in in builtins
Blocked by:

#809
#822

Scope of work:

[ ] TBC

Closing as duplicate of #822


Support array type field

I hope to convert an input field to an output array field. For example:
<record>
  tags ["${tag}"]
</record>

However, this conversion seems unavailable for now.
BTW, I also hope to add new extra element to existing array-type field like:
<record>
  tags tags + ["new-extra-tag"]
</record>

I'm very sorry, I misunderstood.  Array type field is already available.


qcow: add an optional qcow-stats-config= argument

The qcow library gathers a set of metrics in prometheus format including

read, write, discard rate
bytes used, file size
bytes erased, deallocated and in various GC states

It's useful to be able to expose these for monitoring, see for example the Grafana dashboard here:
https://github.com/mirage/ocaml-qcow/issues/99
This patch adds an optional qcow-stats-config= argument which supports values

unix:/path/to/socket -- listen on a Unix domain socket
tcp:port -- listen on <IP_ADDRESS>:port

(unfortunately the Mirage conduit library doesn't allow the bind address to be customised, so care must be taken with the tcp: option)
By default nothing is exposed.
Signed-off-by: David Scott<EMAIL_ADDRESS>

C bits seem good to me. Would be nice to have an ocaml person's ack, @samoht perhaps?

I force-pushed a small change: I added prometheus-app to the package list in README.md and circle.yml.

@samoht good idea, I've force pushed a new version.

LGTM

Thanks!


Code Clarity in Generic Browser

https://github.com/MemberJunction/MJ/blob/fd3cac71b98894c76e2872ca1c299aea2fb58e03/packages/Angular/explorer-core/src/lib/generic-browser-list/generic-browser-list.component.html#L9
@JS-BC  I was checking out this commit and noticed the "unshift" in the new code to reorder the information in the browser to handle showing "View" ahead of "Folder".
While I appreciate that this solves the request, it isn't the right way to handle this. We should be able to explicitly control the order of the options. If "data" contains those options, the container of the component would control this?
Also, the variable name "data" is not sufficiently descriptive in a complex component like this and should be given a name like "createButtonData" or something more clear to make the code easier to read.
Please come up with a more robust solution for handling a list of possible options and clear ordering mechanism.

Following up, update the data dropdown array to have elements holding FieldName and EventHandler properties. When an option is selected invoke the associated event handler.

@JS-BC did you already do this? If not please knock out this week


Run htmltest on links in the sidebar

htmltest doesn't understand JavaScript, so it can't proof the links in
the sidebar. Work around the issue by generating stub pages with all the
links in each version's sidebar.
Fix #2809.

This change is

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/d39c299b6f14768732167eb488dc091c3463feef/

Wow. Thank you, @benesch. LGTM.
cc @rmloveland, who reported this.

Just, wow.  Thank you @benesch!


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/52018

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/79058

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/80543

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/83431

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/92299


No effect after applying fixer script/HDDs not hibernating

First of all I would like to thank you for creating this script and sharing it here.
I'm sure it has helped a lot of people to making their hardware quieter and less power consuming :)
However, I encountered a major problem with it - applying it has no effect on the connected HDDs.
I'm using DSM 7.2-64570 Update 1 and two 500GB HDDs combined into single SHR plus single SSD as another volume.
I have no Virtual Machine Manager, I have Container Manager but all docker-mounted volumes are located on the SSD.
What I've tried so far:

Applied the Script with all default answers
Several reboots
Moved all data out of the volume (migrated shared folders)
Excluded it completely from SHR (deactivated)
Disabled Active Insight

I noticed (by sound and diode activtiy) that drives are constantly accessed. In the Resource Monitor I can see that there's constant write (several kB/s) but no reads.
Then I enabled "system hibernation debugging mode" with "unable to hibernate" option.
In these logs I can find a repeating pattern:
8 sectors write to md0, followed by the write to sda (SSD), sdb (first HDD), sdc (second HDD).
[18133.792200] ppid:2(kthreadd), pid:5679(md0_raid1), WRITE block 16777088 on sda1 (8 sectors)
[18133.792234] ppid:2(kthreadd), pid:5679(md0_raid1), WRITE block 16777088 on sdc1 (8 sectors)
[18133.792250] ppid:2(kthreadd), pid:5679(md0_raid1), WRITE block 16777088 on sdb1 (8 sectors)
[18133.821345] ppid:2(kthreadd), pid:6322(jbd2/md0-8), WRITE block 4477864 on md0 (8 sectors)
[18133.821712] ppid:2(kthreadd), pid:6322(jbd2/md0-8), WRITE block 4477872 on md0 (8 sectors)
[18134.053064] ppid:2(kthreadd), pid:5679(md0_raid1), WRITE block 16777088 on sda1 (8 sectors)
[18134.053083] ppid:2(kthreadd), pid:5679(md0_raid1), WRITE block 16777088 on sdc1 (8 sectors)
[18134.053093] ppid:2(kthreadd), pid:5679(md0_raid1), WRITE block 16777088 on sdb1 (8 sectors)

As far as I understand, the md0 is a RAID1 which DSM automatically creates by attaching every newly connected drive to it.
I'm not sure if to allow HDDs to hibernate they should not be attached to md0, or maybe the system should avoid writes to the md0 to allow the hardware to hibernate?
Is there something I missed that prevents the NAS from hibernating the drives properly?

Can Someone confirm that it works on Version: 7.2.1-69057 Update 2 or 3
I've Just installed 2 nvme drives and moved docker on them but hibern never happened. If i switch off the container It works (with some random wake up everybday) thanks

hi @AlexFromChaos
i tried script but with 7.2.1-69057 update 3 and home assistant running on docker the HDD don' hibernate

On my system the disk sleeps and never wakes up on its own only after I set a sleep time manually via terminal command with root user:
hdparm -S 60 /dev/sd{X}
I've tested different time values and came to the conclusion that disk only can sleep when time is no more than 5 minutes. If its greater than 5 minutes - the disk never would enter hibernation.
You can also force it to hibernate immediately using command:
hdparm -y /dev/sd{X}


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


iPad Simulators missing

When I launch XCode, I only see iPhone Simulators. Is there a config I'm missing? Or do I need to run something to download one?

I had to run this command
xcrun simctl create "iPad 2" "iPad 2" "com.apple.CoreSimulator.SimRuntime.iOS-8-1"

I think its missing because i've deleted it to save memory (anyone who needs it can add it manually). If its critical for you - tell me, I will add it in future versions

Current approach sounds good. Thanks!


Validate created resources

We should perform (optional?) validation when creating resources, because we can for example create invalid Turtle files, which can cause problems later on, when for example doing an UPDATE.

Following up in #1000.


feat: Pedersen in typescript.

As title.

@kevaundray You're welcome.

Benchmark results
No metrics with a significant change found.

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit 524cecf4 and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,444
179,588
716,132

l1_rollup_calldata_gas
222,996
868,256
3,449,588

l1_rollup_execution_gas
842,083
3,595,364
22,204,957

l2_block_processing_time_in_ms
1,998 (-1%)
7,541
29,671

note_successful_decrypting_time_in_ms
295 (-1%)
862 (-1%)
3,195 (+2%)

note_trial_decrypting_time_in_ms
97.0 (-1%)
70.0 (-12%)
134 (-1%)

l2_block_building_time_in_ms
13,197 (-1%)
52,015 (-1%)
208,152 (-1%)

l2_block_rollup_simulation_time_in_ms
11,876 (-1%)
46,780 (-1%)
187,125 (-1%)

l2_block_public_tx_process_time_in_ms
1,279
5,099
20,425

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
21,555 (+1%)
42,594 (+2%)

note_history_successful_decrypting_time_in_ms
2,000
3,911

note_history_trial_decrypting_time_in_ms
120 (-1%)
143 (-1%)

node_database_size_in_bytes
1,631,522
1,100,679

pxe_database_size_in_bytes
27,188
54,187

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
72.1
61,697
18,841

private-kernel-ordering
43.5
24,233
8,089

base-rollup
1,769
656,309
811

root-rollup
75.9 (-7%)
4,072
1,097

private-kernel-inner
53.0
81,504
18,841

public-kernel-private-input
41.4
41,455
18,841

public-kernel-non-first-iteration
26.4
41,497
18,841

merge-rollup
0.971 (+7%)
2,592
873

Miscellaneous
Transaction sizes based on how many contracts are deployed in the tx.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
8,723
27,240


Update scala-library to 2.12.15

Updates org.scala-lang:scala-library from 2.12.10 to 2.12.15.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-lang", artifactId = "scala-library" } ]

labels: library-update, semver-patch

Superseded by #117.


MEPC goes to zero when waking from clock gating on FPGA

With the firmware changes WFI in #1193 after the CPU wakes back up MEPC is zero instead of the interrupted instruction.

interrupt_valid causes mepc to sample npc_r.
The most relevant seeming driver for npc_r is tlu_flush_path_r_d1 (delayed one clock from the version captured above) when tlu_flush_lower_r_d1 is high.
At this point tlu_flush_path_r_d1 has zero, which was loaded from the interrupt_valid_r assertion at clock 513. This wipes out the value of 0x20003161, which had previously captured the PC value.

tlu_flush_path_r_d1 does not reflect the value of 0x20003161 one clock after dec_tlu_flush_path_r.
tlu_flush_lower_r is the "enable" to ungate the clock to a DFF. Just drawing out the waveform I suspect that the DFF would latch the data a cycle late with the current implementation. There is a good reason RV_FPGA_OPTIMIZE cuts out that logic but I don't know if re-enabling RV_FPGA_OPTIMIZE will prevent us from hitting the conditions we wanted to test.

@kgugala would you be able to help debug this isse we're seeing with on VeeR (on FPGA) when existing sleep states?

The CG module of the FPGA only captures en_ff on the negedge of the clock. In the case where the input clock to the cg module is itself gated and the enable goes high first, I think that explains why using the FPGA implementation doesn't capture tlu_flush_path_r like I expected. Below is not a capture, but a diagram I created to plot out the transitions.
I'll check if the TEC_RV_ICG implementation from beh_lib.sv is able to work in Vivado.

Changing the FPGA back to TEC_RV_ICG massively increases the FPGA utilization to the point where it has no chance of fitting on the ZCU104.

By changing flush_lower_ff to use free_l2_clk instead of the gated clock the scenario from Arthur passes.

rvdffpcie #(31)  flush_lower_ff (.*, .en(tlu_flush_lower_r),

rvdffpcie #(31)  flush_lower_ff (.*, .clk(free_l2clk), .en(tlu_flush_lower_r),

There are a number of other rvdff's instantiated in el2_dec_tlu_ctl that also use free_l2clk instead of clk.
In the case of flush_lower_ff using free_l2clk removes the dependency of en_ff on the gated clock and allows Q to toggle at the expected cycles.

Captured a waveform with the W/A:

tlu_flush_path_r_d1 (not shown) captures the value of npc_r_d1 (0x20003161) instead of zero, which then is used to set npc_r. npc_r is what gets captured in mepc_ns when interrupt_valid goes high.

Similar behavior noted in a VEER issue: https://github.com/chipsalliance/Cores-VeeR-EL2/issues/88

Once we address this we should enable clock gating in the CI FPGA bitstreams

It appears that the VeeR issue with verilator is related to how the TEC_RV_ICG file attempts to convert the clock gate latch to a negedge flip flop for verilator runs. This causes the delayed sampling.
Are you running on FPGA without RV_FPGA_OPTIMIZE? What's the reasoning for turning this off? If so, I suspect that your issue is similar. Probably something to do with the clock gate latch not playing nicely on FPGA?

@jhand2 I haven't wanted to enable it by default, but we could enable it in an additional FPGA run. I'll talk to Kor about it, I worry about adding too many FPGA builds in CI.
@Nitsirks You might be missing some of the context. I am disabling RV_FPGA_OPTIMIZE when trying to allow clock gating since since that flag disables it, but I am normally using that flag.
I have to replace the latch with a FF because Vivado cannot synthesize reasonable logic (either fails synthesis or blows up the resource utilization). The FF logic, not being logically identical to the latch is the root cause of the issue.


Performance issue with Keras 2.13.1 / Tensorflow 2.13.0

I noticed performance degradation since last release (Keras 2.13.1 / Tensorflow 2.13.0).
I managed to find a very simple example involving only a sum of inputs. The computation time is much worse (4x slower) with last release.
Here is my minimal example:
import time

from tensorflow.keras import Input

number_of_executions = 3000

x = Input((1,))
y = Input((1,))

start = time.time()
for i in range(number_of_executions):
    x + y
duration = time.time() - start
print(f"Duration: {duration:.1f}")

I am using the CPU version of tensorflow installed with pip, on a linux machine, python 3.9.
And the code run more than 4 times longer with tensorflow==2.13.0/keras==2.13.1 compared to tensorflow==2.12.1/keras==2.12.0 !

tensorflow==2.13.0/keras==2.13.1: around 24 s
tensorflow==2.12.1/keras==2.12.0: around 6 s

Do you think this is related to Keras or to Tensorflow?

As suggested by @grasskin on corersponding tensorflow issue, I testes with keras-core which will supersed keras in the near future. And the bug disappear. (Actually, the test is 20x faster even than with keras 2.12). So the "bug" seems really to be with keras 2.13 and not with tensorflow 2.13.
My timings:

keras 2.12.0 + tensorflow 2.12.1: 7.8 s
keras 2.13.1 + tensorflow 2.13.0: 24.1 s
keras-core 0.1.3 + tensorflow 2.12.1: 0.4 s
keras-core 0.1.3 + tensorflow 2.13.0: 0.3 s

(and even increasing the number of iteration, there is not noticeable differences between keras-core + tf2.12 or keras-cre + tf2.13)

Hi,
Thanks for confirming the improved performance behavior in keras-core.
Since keras-core will be part of keras in the keras 3.0 release, which is planned for the fall of 2023.
Feel free to close this issue since keras-core will become the source of truth.


Add Permissions Support

Add ability for user and group permissions with CanCanCan
Add ability for adding/editing/deleting permissions
Modify views to support CanCanCan (current_user.can?, etc)

This is currently partially completed and tested in the 'roles-feature' branch.

Now reviewing #5 for this feature merge.

Solved with #5


chore(deps): bump faas-js-runtime version

🧹  There were a couple of bug fixes in the latest release. This commit picks those up for functions projects in JavaScript and TypeScript.

Signed-off-by: Lance Ball<EMAIL_ADDRESS>/kind chore
Uses faas-js-runtime 0.9.x with support for binary data in CloudEvents

@lance the template test for node seems to fail now
npm ERR! `npm ci` can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. Please update your lock file with `npm install` before continuing.

and I don't think this is a flake.

You probably need to also update package-lock.json files.

/lgtm


migrate to rename mapping for appplatform

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.ResourceManager.AppPlatform


Allow pubkeys as seeds

This PR allows setting pubkeys as seeds. It enables code like:
class XAccount(Account):
    x: u8

@instruction
def instr(acc: Empty[XAccount], payer: Signer, key: Pubkey):
    acc = acc.init(payer, seeds=[key])

Note that I haven't been able to repro the other data types mentioned in the issue (integers, array of u8). See my comment on the issue
Closes #35

lgtm!


Change error message colours (Login and Signup)

Is it possible to make the blue and red alerts show up in Hub colours instead?
Here is the spec sheet for the colours https://docs.google.com/spreadsheets/d/1g77mKcqGFGNdpY7MFN7TA2rcVE_YIR6ob_sohb_o-0U/edit#gid=0 Hopefully lowering opacity on these colours would produce the same effect?

Done


Layout the sidebar in the same vertical position regardless of the viewer width (issue 4052, bug 850591)

If we want to (eventually) make it possible to resize the sidebar, then having its width indirectly affect the toolbar is going to wreck havoc on the media queries used to show/hide buttons in the main toolbar (since many of them depend on the toolbar state, and thus its width).
Updating all of the media queries dynamically with JavaScript seems like a non-starter, given that it'd cause very messy code. It thus seem to me that we'd need to fix the position of the sidebar, to have any hope of (in the short term) addressing issue #2072.
Hence, I'm suggesting that the we always layout the sidebar in a consistent vertical position, and only animate the viewerContainer rather than the entire mainContainer.
Fixes #4052.
Fixes bug 850591.

/botio-linux preview

Based on this patch, I've attempted to implement sidebar resizing that's limited to modern browsers with support for CSS variables. A, rough proof-of-concept, patch is available at https://github.com/mozilla/pdf.js/compare/master...Snuffleupagus:sidebar-resize.
Based on the simplicity of the solution, I really think that we ought to consider if/why we need to go through the trouble of implementing a truly cross-browser compatible solution!?

Indeed that looks really good to me. Personally I don't think we really need a completely backwards compatible solution. All modern browsers should support this just fine and if some really old IE version doesn't, I personally don't care since we're going to drop support for those old versions anyway. If @yurydelendik or @brendandahl are fine with this, we can proceed with this (and the other open patch).

Is this patch still works (somehow) with old browsers? In this case maintains some accetable viewer appearance without breaking a layout too much.

Comment https://github.com/mozilla/pdf.js/pull/8993#issuecomment-335511670 is somewhat orthogonal to the current PR; my apologies for causing unnecessary confusion here!
The purpose of this PR is to address a number of things that, as I see it, makes it much more difficult implement a (maintainable) solution for the long-standing issue #2072.
Please note that there should be no compatibility breaking changes in this PR.

The major change here is simply that the sidebar is now placed in the same vertical position regardless of the viewer width, please see the comparison below.

The reason for this change is based on a number things:

To avoid overflow in the (main) toolbar, a number of media queries are currently used to show/hide buttons as necessary.
However, given the way that the sidebar currently works, we need specialized media queries for the "sidebar open" case. This is already increasing the maintenance burden of our CSS, but if sidebar resizing is implemented that becomes a nightmare to update dynamically.
By only moving the viewerContainer, and not the entire mainContainer, the width of the toolbar no longer changes when the sidebar opens. Thus we can remove, and simplify, a lot of CSS.
The vertical position of the sidebar in the current master is different depending on the viewer width (note what happens when the viewer is narrow), which also seems strange.
The width of many of the elements in the sidebar is currently hard coded, which also makes solving issue #2072 much harder. By using calc, many widths can be both simplified and better suited to arbitrary sidebar widths.
Prevent the sidebar toggle button from moving around, which has always seemed a bit strange to me (and others as well, see https://bugzilla.mozilla.org/show_bug.cgi?id=850591).

/botio-linux preview

Nice work! Sorry for the delay in review by the way; I didn't have too much spare time lately and I wanted to test this well.


Enable api domain config for decision api client

Ticket: https://mlc.atlassian.net/browse/MCS-1148?focusedCommentId=253751&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-253751

Close since we have baseURL to allow customized API domain


Mixed positional + kwargs NON-BREAKING

PR checklist:

[ ] Added changelog entry.
[ ] Mixed method calls

Is this (intentionally or otherwise) only mixed pos+kw args for constructors? Or should it also work for methods? I couldn't see any changes in the register_call side of things for python for example.

Is this (intentionally or otherwise) only mixed pos+kw args for constructors? Or should it also work for methods? I couldn't see any changes in the register_call side of things for python for example.

Yeah, currently it's only implemented for constructors. It would be easy to implement on methods as well, but I didn't think of it earlier. I think we should probably implement it for methods.

Yeah, currently it's only implemented for constructors. It would be easy to implement on methods as well, but I didn't think of it earlier. I think we should probably implement it for methods.

Agree

Somewhat on-topic: do you remember why we added support for custom constructors to the Python lib? I copied that over to the Ruby lib and justified it before we added positional args support since it allowed users to pass a custom constructor that converted kwargs to positional args, but I'm not sure it makes sense to keep it now.

Somewhat on-topic: do you remember why we added support for custom constructors to the Python lib? I copied that over to the Ruby lib and justified it before we added positional args support since it allowed users to pass a custom constructor that converted kwargs to positional args, but I'm not sure it makes sense to keep it now.

I think it was probably from before we had class methods. I kinda agree custom constructors don't make a whole lot of sense now.


New version breaks localScroll

I use this in conjunction with your localScroll plugin. However version 2.x seems to break it. Can you confirm?

Hi,
It's possible, if so I'll work on a fix asap.
Can you provide more details on the problem? any error on console?

Ok just detected the problem myself, will fix asap.

Done, update to localScroll 1.4.0. Let me know if you find any issue
Thanks for reporting

Thanks!


[FEAT]: oobabooga Text Gen API support

What would you like to see?
https://github.com/oobabooga/text-generation-webui

That would be great, I've already tried to do this myself but haven't succeeded yet.


pull request for e2e test at 12/12/2016 06:56:04

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


dashboard breaks all nodes using an editor

When installed, any nodes using the RED.editor breaks
https://github.com/flowforge/flowforge-nr-dashboard/assets/44235289/a722b691-a36f-4bfe-8e38-2da632b94f68

Dashboard2 v0.0.4
Node-RED 3.1.0-beta.4
Chrome latest
Node 16

Any idea why this might be occurring Steve?

My guess is prototype pollution. It's why I want to wrap all the code in the html scripts in IIFEs (encapsulate all the globals)


Adding Brazilian Portuguese translation.

PR title says it all. :smiley:

Thanks @fmoliveira.

You're welcome. :smiley:

You're welcome @yaru22 . :smiley:


Implement distance(from:to:) for Chain

This PR implements the distance(from:to:) method that was missing from Chain.
Checklist

[x] I've added at least one test that validates that my change is working, if appropriate
[x] I've followed the code style of the rest of the project
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary

Looks great, @timvermeulen — thanks!


add support for custom gitBinary path

This commit allows users to specify the path to their git binary in a new "Git Binary" package setting.
The use case that inspired this small addition is working on a machine that has git installed, but does not have it in its PATH. There are often cases where a user might not have the permissions to edit their PATH (or they may not want to for some other reason). This PR allows those users to still use the git-blame package by specifying where git lives.
The newly added setting:

love this. merging. thank you. Sorry it took me so long to get to this.


Small refactor of Parameter Parsing

This PR does several things:

Moves old style parameter parsing to be done by signature parser.
Defaults some parameters to newer style syntax
Fixes #123
Improves the code. :smile:

@w-vi @klokane Please review & merge.

No other comments from me

Updated.


[OutputStream] Rename outputStreamToMemory() to toMemory() to match the Darwin version

@swift-ci please test and merge


Add/Del multiple Bad Channels

let user add/del multiple bad channels in one go

@jrliu95 is it working the way you asked, now?

Can you also make it possible to select multiple channels like "3-8"? So, ideally, you would be able to do "1, 2, 4-9" to select a total of 8 bad channels.


Use the feedback component

This replaces the "Is there anything wrong?" link with the new feedback component. This component asks the user if the page is useful and reports the results to Google Analytics.
See https://github.com/alphagov/govuk_publishing_components/pull/163 for the component.
https://trello.com/c/eKtXGtBD

We're merging this with the Gemfile pointing to GitHub because we'd like to test this feature on production this afternoon. This app is good for testing because it serves only 3 pages, but they're relatively high traffic. We'll be able to observe the interactions for a bit before rolling it out wide next week.


fighter class

fighter comes equipped with barbarian helmet

Starting gear wasn't implemented yet, it should be now tho

@Snaacky This issue can be closed


ollama and requests: support proper streaming

Supports proper streaming of inputs via curl and incremental building of autocomplete suggestions for Ollama. This is necessary on lower-end or non-GPU machines. Additionally, kills previous curl calls to ensure that multiple curls will not be fired in a row during autocomplete, which kills the ollama server.
Needs testing on non-ollama services (I have no access).
Thanks!
Maxwell

Update, this also has a back-end issue since Ollama's http server is stateful and does not handle canceling curl very well. Potentially the ollama backend should be reworked to use a pipe to ollama run directly.
https://github.com/ollama/ollama/issues/3225

@maxwell-bland
waiting for you to address my comments.
10x

@tzachar not sure they went through, the merge pull request above should highlight review changes?
I need to fix ollama's http server setup to add appropriate request cancellation so it doesn't get flooded, but do not have an abundance of time just yet, hopefully this weekend

@maxwell-bland
You did not push any more changes to your branch.

@tzachar sorry if it was not clear: your comments did not get posted, as far as I can see. What is your opinion on the change? Were there some comments in the code that I missed?
I think it is fine to use curl in the short term, but it would probably be better to switch it to a subprocess that works via pipes since it would reduce latency and difficulties in managing requests. Any reason you chose curl for this in particular instead?
I looked at adding timeout/session management to ollama yesterday but it will be a bit of a slog. I needed to get other work out of the way before fixing this.

@maxwell-bland you can see my comments above in this thread, with a pending badge.

All my comments are included inside gitlab's review process.
you can access it from the top of the pull request (https://github.com/tzachar/cmp-ai/pull/14/files/f4877c51e2c4354dea5eb3ffa95530b481b7c8d3).
search for "view reviewed changes"

Thanks @alexandradeas
My bad.


Interested in CYK and Earley chart parsers?

I implemented CYK and Earley chart parsers in Node. Interested in including it in the natural package? Please let me know.
Regards,
Hugo

This looks amazing. We are still missing a CCG or minimalist grammar. But that is a great list.

Thanks! Plan is to integrate this into the natural module.
Regards,
Hugo

I published the chart parsers on npm:
npm install chart-parsers
Regards,
Hugo


View/visualize data for specific county

From Jake Walsh's email:

The first idea has to do with adding a county snapshot button to each county. We already have county snapshots that include information about some cancer incidence and mortality, but the issue is these snapshots have old data and need to be updated by hand. I want to see if it's possible to add a snapshot button directly to ECCO so that users can make their own county snapshots. The goal would be for the user to select which measures they want to look at for a specific county and then ECCO would automatically collect the data and visualize it. If that's too much, then I think just automatically visualizing some data about cancer incidence and mortality in the counties would be a good basepoint.

I think we'd realize this as a different page than the map, e.g. a page for a specific county that would show data from either all the measures or some user-selected subset. Since we currently just have the latest data for each measure, the data would likely be presented as a table. Perhaps once we start accumulating data over time (see #74, specifically the historical data question) we can explore other visualization options.

Thanks, @falquaddoomi. I agree that this is a different product than the current site.

Adding this file I received via email from Jake Walsh for visibility.
County Snapshot Data.xlsx

This will be (mostly) closed by #92, but let's leave open to track the following:
@cydneyj303 Will give us a list of salient charts and measures to show on the county pages, e.g.:
chart1:
Some Category -> Some Measure
Some Category -> Some Measure
Some Category -> Some Measure

chart2:
Some Category -> Some Measure
Some Category -> Some Measure
Some Category -> Some Measure

etc

Hey all -
Adams County Sample Snapshot.pdf
Please refer to the graphs made by Jake to know which measure categories and measures we're thinking can be graphed for the "Basic" tab. Let's remove demographics as graphs for now and focus on cancer incidence, mortality, prevalence of risk factors, and screening recommendations (the last 4 graphs in Jake's example).
Don't think they have to look exactly like these - up to you on how to best visualize. However, all of the options and measures he included to display on the graphs is what we're looking for. I think all of these should have the same format.
Let me know if you have questions/concerns. Thanks.

We just want it written out in a sentence near the top, no visualization required.
"For all cancer sites, the age-adjusted incidence/mortality for X county is... compared to CO's incidence/mortality of..."
Does this help??


Fix Android build error on macOS.

This error seems to have been related to dependencies in jcenter().
FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all files for configuration ':app:debugCompileClasspath'.
> Could not find support-vector-drawable.aar (com.android.support:support-vector-drawable:27.1.1).
  Searched in the following locations:
      https://jcenter.bintray.com/com/android/support/support-vector-drawable/27.1.1/support-vector-drawable-27.1.1.aar
> Could not find livedata-core.aar (android.arch.lifecycle:livedata-core:1.1.0).
  Searched in the following locations:
      https://jcenter.bintray.com/android/arch/lifecycle/livedata-core/1.1.0/livedata-core-1.1.0.aar
> Could not find runtime.aar (android.arch.core:runtime:1.1.0).
  Searched in the following locations:
      https://jcenter.bintray.com/android/arch/core/runtime/1.1.0/runtime-1.1.0.aar
> Could not find viewmodel.aar (android.arch.lifecycle:viewmodel:1.1.0).
  Searched in the following locations:
      https://jcenter.bintray.com/android/arch/lifecycle/viewmodel/1.1.0/viewmodel-1.1.0.aar

See https://github.com/facebook/react-native/issues/21916.
@gnprice

yarn reinstall ? :)

Hm, I didn't try yarn reinstall, though - yeah, I think that would have worked here 😄

@borisyankov I tried running yarn reinstall and then react-native run-android, and this reproduced on master on my machine.
I updated Android Studio to 3.2.1 today; maybe this is related to the macOS version? I'm using High Sierra 10.13.6; I'm going to upgrade to Mojave later and see if this still reproduces then.
@jainkuniya What macOS version did you build successfully on?

@jackrzhang My first suggestion is to update to the latest JDK.

They are saying JDK 8 or newer and I remember having to update mine recently. There was some issue, I updated, the issue disappeared, so I forgot any other details about it. 😂

I installed JDK 11.0.1; the Gradle project sync is failing.

Android Studio is offering me 2.72 GB of updates across many components - I'll download those.

Closing this; see #3096.

Don't upgrade to JDK 11 yet; Gradle doesn't work with it even in its latest release. See https://github.com/gradle/gradle/issues/5120 , just finished recently in Gradle master; should work in Gradle 5.0, not yet out.
That's what this confusing error is saying:

Could not determine java version from '11.0.1'.

The error message for this should be better starting with Gradle 4.7 (gradle/gradle#4759), but it still won't actually work :wink:

For the original issue, on the other hand, upgrading Gradle seems like a good shot at fixing it.
This PR's change is a pretty innocuous workaround anyway, though -- I'm going to go ahead and merge it.

Merged -- thanks @jackrzhang !

@jainkuniya What macOS version did you build successfully on?

High Sierra
10.13.6


Buttons should dynamically appear based on visualization choice.

Only the "Download Data" should appear if the user has selected "PSUT matrices" for their visualization.

Download data button now only appears in the matrix menu.


Fix doc links

Description of change
This also needs to be merged into support/0.6.
Links to any relevant issues
Be sure to reference any related issues by adding fixes issue #.
Type of change
Add an x to the boxes that are relevant to your changes.

[ ] Bug fix (a non-breaking change which fixes an issue)
[ ] Enhancement (a non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[X] Documentation Fix

Change checklist
Add an x to the boxes that are relevant to your changes.

[ ] I have followed the contribution guidelines for this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

There is an issue with Clippy and Coverage.
What I understand is there is an issue with stronghold 0.5.1 and rand. @HenriqueNogara do you know what is going on?

There is an issue with Clippy and Coverage. What I understand is there is an issue with stronghold 0.5.1 and rand. @HenriqueNogara do you know what is going on?

As we discussed, this was caused by stronghold releasing stronghold-utils = 0.4.1.  On our side, we can update to the newest strongohold: #928


A few minor bugs in _preload.odin

In both pop procedures, if array do return res; should be if array == nil do return res;.
In the clear procedure for maps, raw_map := ^raw.DynamicMap(array); should be raw_map := ^raw.DynamicMap(&m);.
types.odin needs to be imported because it is used in __get_map_header.

These bugs have been fixed.


[5.3] Added space in the login remember blade operator

Pretty self explanatory, a space was missing.

Please send to 5.4.


Support Compose Multiplatform?

Would you support Compose Multiplatform?
I just have a quick look on the source code. It seems the core does not depend on Android-specific stuffs, so it might not be difficult. If you have no time, would you accept a PR?

Hey @sunny-chung, Thank you for your interest in Composable Graphs library. Yes the library doesn't depend on Android-specific things. Adding support for Compose Multiplatform sounds like a valuable addition, and I appreciate your willingness to contribute.
I'm open to accepting a pull request (PR) for this feature if you're willing to work on it. Feel free to go ahead and submit a PR whenever you're ready. If you have any questions or need guidance along the way, don't hesitate to ask. Your contribution to the project is greatly appreciated!

I can do that, but there will be a breaking change for you. Jitpack does not build Apple OS artifacts. To support multiplatform, perhaps you would have to move to Maven Central, which requires you to changing the library group ID to "io.github.jaikeerthick".

I understand the requirements and challenges to migrate to KMM. The library still need to mature a lot and therefore I'm planning to not to support KMM as of now and I promise that the library will continue to have pure kotlin code and no Android-specific dependencies so that in future It'll be easy to support KMM.
Thanks.


Karpenter is not aware of the Custom Networking VPC CNI pod limit per node

Version

Karpenter: public.ecr.aws/karpenter/controller:v0.13.2@sha256:af463b2ab0a9b7b1fdf0991ee733dd8bcf5eabf80907f69ceddda28556aead31

Kubernetes: Server Version: v1.21.14-eks-18ef993
Expected Behavior
Karpenter is expected to not exceed the maximum amount of pods that can be scheduled on the node.
Actual Behavior
More pods get scheduled unto a node then is supported by the: https://github.com/aws/amazon-vpc-resource-controller-k8s/blob/master/pkg/aws/vpc/limits.go#L509

It's possible that this is due to the fact that we run two CIDRs for EKS. Separate CIDR for nodes and another one for workload/pods.
Steps to Reproduce the Problem

Setup dual cidr range in your eks cluster: https://aws.amazon.com/premiumsupport/knowledge-center/eks-multiple-cidr-ranges/
deploy karpenter
deploy and scale a sample service which should bring up a node which will have over-provisioned pods.

Resource Specs and Logs
No relevant logs are observed in Karpenter.
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: reviews-v1
  labels:
    app: reviews
    version: v1
spec:
  replicas: 100
  selector:
    matchLabels:
      app: reviews
      version: v1
  template:
    metadata:
      labels:
        app: reviews
        version: v1
    spec:
      serviceAccountName: bookinfo-reviews
      containers:
      - name: reviews
        image: docker.io/istio/examples-bookinfo-reviews-v1:1.16.4
        imagePullPolicy: IfNotPresent
        env:
        - name: LOG_DIR
          value: "/tmp/logs"
        ports:
        - containerPort: 9080
        volumeMounts:
        - name: tmp
          mountPath: /tmp
        - name: wlp-output
          mountPath: /opt/ibm/wlp/output
        securityContext:
          runAsUser: 1000
      volumes:
      - name: wlp-output
        emptyDir: {}
      - name: tmp
        emptyDir: {}
        ```

Warning  FailedCreatePodSandBox  3m53s (x1089 over 23m)  kubelet            (combined from similar events): Failed to create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "a2a5a5df3f2010b2e03c0f45ae2129fcfa5b3965d2f5107558a4c7dcefb450b9" network for pod "reviews-v3-7886dd86b9-kk46x": networkPlugin cni failed to set up pod "reviews-v3-7886dd86b9-kk46x_default" network: add cmd: failed to assign an IP address to container

spec:
kubeletConfiguration:
containerRuntime: dockerd
labels:
billing: blah
limits: {}
providerRef:
name: al2
requirements:

key: karpenter.sh/capacity-type
operator: In
values:

on-demand

key: kubernetes.io/arch
operator: In
values:

amd64
ttlSecondsAfterEmpty: 30
ttlSecondsUntilExpired: 2592000
status:
resources:
attachable-volumes-aws-ebs: "64"
cpu: "10"
ephemeral-storage: 484417496Ki
memory: 32820628Ki
pods: "126"

Node Information:

labels:
beta.kubernetes.io/arch: amd64
beta.kubernetes.io/instance-type: t3a.small
beta.kubernetes.io/os: linux
failure-domain.beta.kubernetes.io/region: us-east-1
failure-domain.beta.kubernetes.io/zone: us-east-1c
karpenter.k8s.aws/instance-cpu: "2"
karpenter.k8s.aws/instance-family: t3a
karpenter.k8s.aws/instance-hypervisor: nitro
karpenter.k8s.aws/instance-memory: "2048"
karpenter.k8s.aws/instance-pods: "8"

There seems to be a solution for this in: https://aws.amazon.com/premiumsupport/knowledge-center/eks-multiple-cidr-ranges/ but Karpenter is not aware of the max-pods value: https://karpenter.sh/v0.13.2/tasks/pod-density/

related https://github.com/aws/karpenter/issues/2029

Karpenter computes the maxPods the same way that the EKS Optimized AMI does here, if Karpenter is configured with the env var AWS_ENI_LIMITED_POD_DENSITY set to true (default).  For the instance type you posted, it should be 8 https://karpenter.sh/v0.14.0/aws/instance-types/#t3asmall  which appears to be correct based on your paste.
It seems like the issue is more that the VPC CNI is unable to allocate an IP for the network namespace setup, but it looks like Karpenter is doing the right thing here. I might be missing the particular issue here.

@bwagner5 this situation presents itself in the scenario of using multiple CIDRs for EKS. In our particular scenario we have our nodes on a separate CIDR range from what the pods get assigned, same scenario as the issue presented in: https://github.com/aws/karpenter/issues/2029
Based on this https://github.com/aws/karpenter/blob/main/pkg/cloudprovider/aws/instancetype.go#L275 it seems that the calculation for max pods available to be scheduled is: # of ENI * (# of IPv4 per ENI - 1) + 2. In scenarios where the workloads are expect to run in a separate CIDR the calculation should be something like this: max_ips := ((number_of_interfaces - 1) * (number_of_ips_per_interface - 1) + 2)

ah gotcha! We're working on a way to override max-pods per instance type where you can set your own strategy to formulate max-pods.  I don't think there's a clean way to detect this so that Karpenter could do the proper calc for a CIDR split-up.

I might be assuming too much but I'm curious if something like this wouldn't work?
	if secondary_cidr_enabled {
	    return (*i.NetworkInfo.MaximumNetworkInterfaces - 1) *(*i.NetworkInfo.Ipv4AddressesPerInterface-1) + 2
	} else {
	    return *i.NetworkInfo.MaximumNetworkInterfaces*(*i.NetworkInfo.Ipv4AddressesPerInterface-1) + 2
	}
}

There are other valid use-cases for a secondary CIDR that may not limit the maxPods calculation. For example, if you just need more IP addresses for you VPC, you could add a secondary CIDR and some more subnets.
I'm curious if you would be able to use IP prefix allocation since that would give you more IP addresses than the current max-pods calc allows.

Expanding CIDRs for extra IPs is definitely a valid use case but it seems that the current logic would be able to calculate the available IPs properly in that scenario. The specific use case we have is a dedicated CIDR for nodes and a dedicated one for pods.
I'm not sure IP prefix allocation setup is a workaround for us since the limiting factor here is how Karpenter calculates available IPs rather than how many IPs we have allocated total per node.

I just meant that if someone was using two CIDRs to expand IPs, then we can't easily detect the case where you want the calculation for splitting between pods and nodes.
We are working on a mechanism to override max-pods per Instance Type which should solve your case. We've been hesitant to add different calculations for max-pods based on network interfaces since that gets confusing quickly and there's quite a few different ways to calc max-pods.

My team is hitting this issue as well.  Custom CNI networking is fairly common and a recommended practice in EKS (https://aws.github.io/aws-eks-best-practices/reliability/docs/networkmanagement/#run-worker-nodes-and-pods-in-different-subnets).  This is blocking Karpenter adoption for us.
We've also looked into using ip prefixes but have some substantial obstacles to implementing this.
Would it be viable to do something simple here such as adding a toggle or setting that lets you set the number of enis reserved for the node subnet (i.e. something like https://github.com/aws/karpenter/issues/2273#issuecomment-1211292190)?  The value could default to zero and be overridden by those that need this adjusted to (significantly) unblock Karpenter adoption.  We'd be happy to submit an MR for this.  This seems preferable to having to provide complete custom mappings for max-pods by instance if that's what's on the roadmap.

@bwagner5 I'm facing this as a huge blocker as well.
The most simple way for us as users would be to set a hard limit per each instance type, and then we'll be able to handle our limitations internally without you having to formulate something for each use case. Is this what you are aiming for? and if so, can I kindly ask if this is going to happen anytime soon?
Thanks!

@jasonaliyetti How would you configure the max-pods at the kubelet?  Would you insert custom user-data to calculate the max pods?  It looks like the EKS Bootstrap script doesn't have an option to calculate based on a separate IP space for the Node vs. Pods.
@shay-ul We are considering adding some sort of max-pods override per instance type but likely not in the near term. We've also considered adding pod-per-vcpu to the Provisioner which may help with this a bit. No definitive plans on that yet though, still need to explore the implications.

I just meant that if someone was using two CIDRs to expand IPs, then we can't easily detect the case where you want the calculation for splitting between pods and nodes.

Would it be possible to detect the usage based upon retrieving ENIConfig CRDs?

@blakepettersson that may be possible. It seems there's some things that Karpenter would need to do in-order to support ENIConfig such as node annotation of the ENIConfig name for the multiple subnets case too.

@bwagner5 I'm curious why a simple parameter/toggle is not being considered to allow for a proper dynamic calculation of usable IPs for pods. https://github.com/aws/karpenter/issues/2273#issuecomment-1211349745
For a lot of us, as evident by this conversation, the need is straightforward, imho. Do not use the first eni for IP calculation.

The hesitance is that there's some other ways of calculating max pods as well, so adding a toggle for all the different ways of computing max-pods isn't very desirable. That is why we're looking into more generic ways of overriding our defaults or dynamically discovering the right thing to do. The ENIConfig custom resource approach sounds promising.  If Karpenter discovered ENIConfigs in the cluster and switched our calculation, would that solve your use-case?  I'm not super familiar with the ENIConfig so I may be missing something wrt how common these resources are.

If Karpenter discovered ENIConfigs in the cluster and switched our calculation, would that solve your use-case? I'm not super familiar with the ENIConfig so I may be missing something wrt how common these resources are.

Absolutely! Having ENIConfigs in the cluster is a requirement for the secondary CIDR thing to work in the first place with the VPC CNI. In theory those resources could be applied and not be in use, since the VPC CNI controller also needs to have the AWS_VPC_K8S_CNI_CUSTOM_NETWORK_CFG environment variable set to true, but in practice that's probably something that doesn't happen too often. I guess if Karpenter also has a "please calculate max-pods based upon ENIConfig" flag, then that would be ideal. 🙏

Our use case wouldn't work with the ENIConfig approach because we run Cilium and not the vpc-cni.  Wouldn't you end up keeping the default path available though?  Fall back to computing pod capacity based upon the eni limits?  And if this is the case I'm not quite understanding why having a knob to turn for that very basic use case would be unreasonable.

I've gone ahead and provided a PR for what this change I've proposed might look like.  FWIW, other tools like Cilium provide for this kind of configuration (Cilium lets you configure the first ENI index to use for pod ips to accommodate this).
I opted to use a simple boolean here but am happy to rework it to provide a numeric for the reserved ENI count.  I am also happy to contribute to an alternative solution to this.  We are eager to adopt Karpenter but are getting held up by this.

I think I understand the issue now.  In my case with Cilium, there are two Cilium internal services (i.e. not pods) that the agent seems to allocate IP's for on each node (router and health).  In order to accommodate this my proposed change would need another option to provide another modifier to the formula (i.e. it'd need to know to subtract two here).  Every CNI could do something like this and do it differently.  I can see where this configuration could get to be to be less friendly and you could argue that it's just simpler to move to IP prefixes on the ENI to effectively remove IPs as a realistic constraint.

I'm not familiar with Cilium but if I understand it correctly we could also infer the usage via CRDs?
Perhaps if we extend AWS Node Template to allow for different strategies of calculating max pods? Something like
enimode: "default" # or "eniconfig", "cilium" or whatever may come

I do realise this could lead to quite a few permutations, but perhaps if we only allow distinct modes where this is "trivially" detectable, whether this is through CRDs or some other means...

I think the only clue for this would be a ConfigMap to parse from the Cilium deployment.  There's only one field we would care about to detect custom networking, so I don't think the mapping would be too terrible to maintain.  The thing that stinks here is the security story -- Cilium docs recommend installing in the kube-system namespace so I would imagine most who install it have it there.  You'd need to give Karpenter permissions to read ConfigMaps in the kube-system namespace which isn't great in my opinion.
I am really questioning if there is a great generic solution here -- neither the InstanceType CRD nor the toggles to configure the formula are very attractive here to me.  That said, short of just saying IP Prefixes are the recommended standard here, I think the toggles may be the best path because they would  be portable and unblock things quickly and controllably, ungainly as they may be.  No matter what nice integration layers are added on there'd always be the low level config you could drop down to if it's needed.   I guess the same could be said for the InstanceType CRD, but I REALLY don't want to have to maintain a CR for each and every instance type that codifies the same equation repetitively (and I really am hoping to not wait that long to get Karpenter into my clusters as a replacement for cluster-autoscaler).

I'm facing the same with one CIDR subnetted over 3 availability zones. The problem we face is the following.
We have a couple of deployments which have in their manifest very low resource requests. Due to this these pods are trying to be scheduled on the same node.
The thing we are trying to deploy is kube-prometheus-stack helm chart. For the web admission jobs we took very small resource requests, which causes those deployments to target karpenter provisioned nodes that still have resources available, but did run out of ENIs.
Is there a way to force those deployments in such way that karpenter provisions new nodes?

You can set max-pods on the Provisioner spec or if you want the pod count to scale based on cores, you can supply podsPerCore: docs.
If you're not already using prefix delegation, that can help as well since you'll have significantly more IP addresses per node: docs.

@jasonaliyetti ping, curious if the podsPerCore on the Provisioner spec, as mentioned above, would fulfill your use-case? It gives a pretty low drop-in point for configuration without having to configure each instance type. You could also group instance types in different provisioners if they have different scaled values for podsPerCore or maxPods.

I probably don't fully understand how this works, but podsPerCore doesn't seem to be a particularly low friction way of configuring the number of ENIs. Is there a reference of what these defaults are per instance type? Otherwise we could maybe have something in the ProvisonerSpec (or alternatively, in the AWSNodeTemplate like something @jasonaliyetti was alluding to, something like an offset from whatever default each instance type offers
 subtractEnis: 2

I don't think the podsPerCore would fulfill the use-case.
Need an implemention that work with Custom Networking VPC CNI and no't a workaround / corner case that make it work.
As mentionned by @jasonaliyetti, it's an EKS best pratice, so i think more and more people would need it for production environnment especially with big infrastructure using CGNAT.
Thanks in advance for all the huge work behind karpenter :)

@bwagner5 I had to put this down for a bit but am coming back to it.  I think IP prefix delegation would help but there's a bit of work on our end to enable that -- I don't think it's a near term fix for us.  I also agree that the pods per cpu isn't great b/c it'll like leave capacity on the table which we don't want to do, but I haven't thought about it much at this point.
I'm not sure something short of the prefix switch or a change to make the calculation variables more configurable (number of ENIs, number of host networked pods, etc) would be a great fix here -- while not the prettiest solution I think it has the flexibility to accommodate the majority of CNI setups.  I'm happy to keep working on my PR to get it mergeable if it's decided that this is the direction you'd want to go.
To echo what was said above -- I really appreciate the work that's gone into this tool -- it's a massive step in the right direction in my opinion.  I'm really eager to figure out how I can get it to the point that I can run it in production.

@ellistarn yes -- we actually require this in our clusters

So this issue is purely about Karpenter launching the wrong number of nodes and not binpacking correctly. How do you achieve this with CAS today? Do you annotate your node groups with the maxpods value, or do you not scale to zero with CAS. One route we could use is to infer maxpods from existing instance types in the same provisioner. Minimally, this would bring us to feature parity with CAS.

Right now we use ASGs, we create an ASG per instance type that we use (it's a small set but we're hoping to increase it via Karpenter to get some better efficiency).  There's some terraform that computes the max pods value used in the launch templates for the ASGs based on the type for that asg.  I guess the analogy here would be the suggestion above of having a provisioner per instance type above.  We want to get away from this.
As it stands, assuming we update our launch template to dynamically and correctly compute max pods on startup -- the kubelet would have the correct max, but Karpenter would think it can fit more onto the node than it can.  This can lead it to schedule a pod that might not actually fit onto the node (right?), which causes that additional pod to get stuck because it can't get an ip (keep in mind this isn't an off by 1 ip thing -- it's off by 9 on an m5.large since the first eni can't be used for pod ips).  If we were able to line up the Karpenter max pods formula with the one we use to derive max pods in the launch template -- we'd be in a good place here I think.
I'll recheck this behavior after verifying that max pods is being set correctly in our launch template.  I think we may not have set this correctly and I'm wondering if doing so would make it so that this was more of an annoyance than a blocker (i.e. karpenter scheduling the additional pod  on the new node but it getting evicted b/c it's over the limit or what not).

This can lead it to schedule a pod that might not actually fit onto the node (right?), which causes that additional pod to get stuck

We update our in flight nodes with the value as soon as the kubelet reports it, so if the pod is still pending, it will trigger the launch of a new node. It's possible that the first node that was launched will be overprovisioned, since it will have included the previous pod in cpu calculations.
It comes down to whether or not your scheduling decisions are bound by resource requests or max pods. Ideally, they should be bound by resource requests and max pods is simply "more than I'd ever need".

So I did a test and found that we can leverage a built in script in the EKS optimized ami to help with this in our launch template...
EXTRA_HOST_PODS=1
RESERVED_IPS=2
MAX_PODS=$(/etc/eks/max-pods-calculator.sh --instance-type-from-imds --cni-version 1.10.0 --cni-custom-networking-enabled -show-max-allowed)
MAX_PODS=$((MAX_PODS + EXTRA_HOST_PODS - RESERVED_IPS))

This gets me the custom networking adjusted number and I can tweak that based on my setup (number host networked daemons, Cilium reserved stuff, etc).   I then just use this var when setting --kubelet-extra-args.  Seems to work fine.  I do think it's correct to say that karpenter has to go through two cycles to spin up enough nodes, but it's not completely broken like what we had before.  We could also just bake in a refreshed eni-max-pods.txt via this script in our own AMI  and not set max pods explicitly here it seems.
Thanks for pointing this out and prompting me to dig deeper on this.  I had no idea this script was there and it seems like a fine near term solution until we get ip prefixes sorted out.

Hello,
Did you have any news on this issue ?

any further movement on this issue from Karpenter side ? Where we need add @jasonaliyetti's solution in provisioner file.  we are using AWS launch template in provisioner.

@bwagner5  @jasonaliyetti
The problem is that Karpenter provisioner would not accept the --kubelet-extra-args max pod setting for some reason. The machine would end up taking the default pod counts. Is there anything I am missing here?
  userData: |
      MIME-Version: 1.0
      Content-Type: multipart/mixed; boundary="BOUNDARY"

      --BOUNDARY
      Content-Type: text/x-shellscript; charset="us-ascii"

      #!/bin/bash
      /etc/eks/bootstrap.sh staging-spot-auto-scaler-qw-eks --use-max-pods false --kubelet-extra-args '--max-pods=10'
      --BOUNDARY--

I do this dynamically for all instance_types in all provisioners:
data "aws_ec2_instance_type" "cluster" {
  for_each = toset(local.provisioner_instance_types)
  instance_type = each.value
}

locals {
provisioner_instance_types = distinct(compact(flatten(
    [for provisioner in var.karpenter_provisioners : provisioner.instance_types]
  )))

  provisioner_instance_types_features = {
    for name, instance_type in data.aws_ec2_instance_type.cluster :
    name => {
      # maximum number of pods for AWS CNI custom networking, assuming only nitro instance types
      # based on: https://github.com/awslabs/amazon-eks-ami/blob/master/files/max-pods-calculator.sh
      max_pods = ((instance_type.maximum_network_interfaces - 1) * (instance_type.maximum_ipv4_addresses_per_interface - 1)) + 2
    }
  }

}

resource "kubectl_manifest" "karpenter_provisioners" {
  for_each = { for provisioner in var.karpenter_provisioners : provisioner.name => provisioner }

  yaml_body = <<-YAML
  apiVersion: karpenter.sh/v1alpha5
  kind: Provisioner
  ....
  spec:
    kubeletConfiguration:
      containerRuntime: containerd
      maxPods: ${min([for instance_type in each.value.instance_types : local.provisioner_instance_types_features[instance_type]["max_pods"]]...)}

Hello,
Did you have any news on this issue ?

Right now, we're recommending that you move to VPC CNI Prefix Delegation mode (or whichever CNI you are using) which allows your nodes to have significantly more IPs than without it. This means that if you are using resource requests, max-pods won't be the limiting factor. You can then set your max-pods to some static number like 110, or setup provisioners with different steps of max-pods (50, 110, 200, ...).
If you're unable to use prefix delegation, the workaround that @jasonaliyetti is doing will help. This is where you calculate the correct max-pods value on instance launch and set the kubelet to use that value. Karpenter will be a little confused during initial provisioning, but it will recover gracefully in the next scheduling cycle. You can calculate the correct max-pods value by using the /etc/eks/max-pods-calculator.sh script which is built into the AL2 EKS Optimized AMI or you can modify the eni-max-pods.txt which is also built into the AMI which has a mapping of instance type to max-pods. Or you can just update the kubelet configuration manually within user-data.

FYI This might not be a simple ask. If your cluster consumes most IPs in a subnet, you can run into issues enabling prefix delegation because AWS must have defragmented IP space to allocate to a prefix. You'll then get failures in launching nodes unless you totally drain out subnets. There is no built in way to see this fragmentation and it is poorly documented by AWS and was a hard blocker for us enabling this in our existing large environments.

We've recently rolled out Karpenter, then enabled Prefix Delegation mode on two clusters we have, and started to see frequent errors with IP allocation. Nodes spin up and a few pods become healthy (aws-node and kube-proxy at least), but then other pods get stuck with error "failed to assign an IP address to container". It seemed strange because our subnets have plenty of free IPs.
I am guessing we're running into @sidewinder12s's issue, where the prefix delegation requires defragmented IP space. @sidewinder12s any advice on how to determine if that's the case for us?

have you found a workaround for this issue yet?

https://github.com/aws/karpenter/pull/3516 should address this and will be released in v0.28.0

I know this issue is closed, but just seeking a little more clarification.
If the "max pods" calculator script is CNI Custom config aware, why isn't it setting MAX_PODS correctly here: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh#L504
Furthermore, I struggle a bit to see how this is a karpenter issue and not a kube_scheduler /aws CNI issue. I'm not doubting that karpenter is somehow a contributing factor (I only started having this issue after starting to use karpenter), however, karpenter isn't forcing pods onto nodes...the scheduler should be handling this. If this is right, why haven't I run into this corner case before despite running the Custom CNI (with extra subnets) for close to two years - is it because I am more likely to hit this issue due to Karpenter's efficient binpacking and I was always way over-provisioned when spinning up nodes "by hand"?


Orbit JS didn't work in fullpage JS

Orbit js is so buggy, First, upon using orbit js with fullpage js all worked in the start and everything was fine, until, I tried to resize the browser and play with responsiveness and then orbit container was gone :anger: Mind that i was doing this in win 10 chrome and was using FoundationPress template for wp. It was so frustrating. I couldn't see my slider. Whole slider was just fade away. One way to get around was to apply
.orbit-container {
    height: 100vh !important;
}

Which solved the issue but still its so frustrating and bad that orbit js just failed miserably and whole slider crashed!
Another problem i had after solving container hack that sometimes orbit just upon clicking right button didn't came back to first slide and instead was showing no image and then next and previous button stopped working.

You were using http://alvarotrigo.com/fullPage/ with an orbit?  Do you have a CodePen?


Make possible to use one-shot iterators as children nodes.

Previously there were checks for generators specifically. We also support one-off iterables that are not based on generators such as itertools.chain() or any non-generator based object that implements next().
This regression was introduced in https://github.com/pelme/htpy/pull/56.
Based on https://github.com/pelme/htpy/pull/71.

@astynax can you have a look and see if this solves your original problems?

@astynax can you have a look and see if this solves your original problems?

Hi, @pelme ! Yes, now my code with a couple of chains works!

@astynax thanks for letting me know. will put out a new release soon!


fix juicefs on win 404 url

close #2529

Codecov Report

Merging #2531 (feb7e7e) into main (d31cca4) will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #2531      +/-   ##
==========================================
+ Coverage   61.64%   61.66%   +0.01%
==========================================
  Files         138      138
  Lines       25698    25698
==========================================
+ Hits        15841    15846       +5
- Misses       8000     8001       +1
+ Partials     1857     1851       -6

Impacted Files
Coverage Δ

pkg/fs/fs.go
76.24% <0.00%> (-1.79%)
:arrow_down:

pkg/meta/redis.go
71.83% <0.00%> (+0.04%)
:arrow_up:

pkg/meta/sql.go
66.00% <0.00%> (+0.09%)
:arrow_up:

pkg/meta/tkv.go
76.25% <0.00%> (+0.10%)
:arrow_up:

pkg/vfs/reader.go
82.84% <0.00%> (+2.55%)
:arrow_up:

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