Datagrid Accessibility Defects

The Datagrid was reviewed by Chris from the a11y team and he summarized his list of defects. This epic tracks all of the issues at a high level, some which require work, some which may be addressed by other in progress word, and some deprecations.
Fixes required

[ ] (160) Datagrids do not support arrow key navigation
[ ] (1) Grid columns cannot be resized using the keyboard alone (previously known defect, need to design solution) #3372
[x] (4) "Data Grid - Pagination", focus does not move to the beginning of the newly displayed data after the "clr-page-size-select" control has been activated (focus management not logical) #3370
[x] (5) Data Grid - Pagination - focus is lost after activating either the "pagination-first" or "pagination-previous" buttons (focus management not logical) #3370
[x] (6) Focus does not return to the datagrid-filter-toggle button after the datagrid-filter is closed (focus management not logical) #3370
[x] (8) Screen reader users will not be aware of actions available from the clr-dg-action-overflow component when it appears (no announcing due to lack of context about button name) #3371
[x] (9) There is no way for the developer using Clarity to provide an accessible name for the datagrid-action-toggle button. (should be done through common strings) #3371
[x] (11) The clr-dg-cell should use role="gridcell" rather than role="cell" (improper role that needs review) #3373
[x] (15) The toggle button inside the clr-dg-column-toggle component lacks a mechanism for providing an accessible name (button name problem again) #3371
[x] (17) Focus is lost after activating the "Select All" button in the clr-dg-column-toggle component (focus management) #3370
[x] (19) The close button in the clr-dg-column-toggle component lacks a mechanism for providing an accessible name (button name again) #3371
[ ] (168)The datagrid-filter-toggle button lacks an accessible name and state

Should fix but not high severity

[ ] (18) Screen reader users do not hear any status updates after the checkboxes in the clr-checkbox-wrapper components are activated (not indicating the status change of a selection choice)
[x] (14) The first column in the clr-datagrid component is empty when using the clr-dg-row-detail component (should provide offscreen text instead of a blank column title)

Need retested after feature completion

[x] (2) The "datagrid-filter" does not stay open after being activated with the keyboard (should be resolved by #2923)
[x] (7) The clr-dropdown-menu component does not support arrow keys to select options (should be resolved by #3283)
[x] (16) Focus is lost after activating the clr-dg-column-toggle (may be resolved by #2923)

Deprecations, documentation, or expected to be resolved by other refactors

[x] (3) The clr-dg-filter component does not provide a mechanism to move focus to an element within a custom filter (should be replaced by new filtering pattern, can also be documented how a custom filter can do this itself) #2923
[x] (10) The contents of the clr-dg-row-detail component are not read by Mac OS X/VoiceOver (deprecation or major overhaul) #3375
[x] (12) The "datagrid-expandable-caret-button" button does not indicate its expanded state to assistive technologies (deprecation or simple fix) #3375
[ ] (13) The "datagrid-expandable-caret-button" button cannot be read or activated when using VoiceOver (deprecation or simple fix) #3375
[x] Row actions popover is not accessible #3280

Another solution for (4) would be to use a polite live region to announce a status update saying that the grid page has changed and to leave focus on the pagination button. This way we don't have to choose an element to focus and screen reader users will hear that the page has changed and hopefully understand that they need to go back and read the beginning of the grid.

Closing this epic, as all items have a ticket and this is just adding noise.


Installation instructions

Please provide them in the README. Thanks! 😉

Sure, I can do that for you sometime this week.

closed with https://github.com/codymikol/git-down/pull/94


[flutter_tools] Make flutter git upstream configurable

Description
Make flutter git upstream configurable from environment variable.
Used FLUTTER_GIT_URL to control _flutterGit value.
Related Issues
#61286
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Did any tests fail when you ran them? Please read Handling breaking changes.

[x] No, no existing tests failed, so this is not a breaking change.
[ ] Yes, this is a breaking change. If not, delete the remainder of this section.

[ ] I wrote a design doc: https://flutter.dev/go/template Replace this with a link to your design doc's short link
[ ] I got input from the developer relations team, specifically from: Replace with the names of who gave advice
[ ] I wrote a migration guide: https://flutter.dev/go/breaking-changes-template Replace this with a link to a pull request that adds the migration guide to https://flutter.dev/docs/release/breaking-changes

@googlebot I signed it!

Sorry for making many wrong commits at beginning. Please use rebase merge to hide them. 😢

Sorry for making many wrong commits at beginning. Please use rebase merge to hide them.

No prob, we default to squash and merge, so each PR becomes one commit on master :)

Really great. Thanks for all of your kindly helps. I'll work on them right now.
// Learned a lot this time 😃

I got trouble writing tests...sorry.
After I copied the test from @jmagman and pushed to my branch.
Some CI tests failed.
Which result is
[test/general.shard/version_test.dart:main]:  NoSuchMethodError: The getter 'stdout' was called on null.
Receiver: null
Tried calling: stdout[test/general.shard/version_test.dart:main]:  #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5)
#1      _runGit (package:flutter_tools/src/version.dart:676:5)
#2      GitTagVersion.determine (package:flutter_tools/src/version.dart:760:9)
#3      main.<anonymous closure> (org-dartlang-app:///test/general.shard/version_test.dart:640:19)
#4      testUsingContext.<anonymous closure>.<anonymous closure>.<anonymous closure>.<anonymous closure>.<anonymous closure> (org-dartlang-app:///test/src/context.dart:151:42)
#5      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:29)

And so on, but I believe these should be enough.
detailed CI status
So basically, I need your help.  😢

Finally I managed to pass CI with tests.
So I would like to request you to review my pr again now.
@christopherfujino @jmagman

LGTM once you make @jmagman 's spacing change

The space problem fixed. Thanks.


query string encoding when verifying contracts with pact-jvm

[Link to a corresponding google thread] (https://groups.google.com/forum/#!topic/pact-support/d0nXzVi1Nf0)
Hi guys,
We are using a ruby-based pact-mock-service on the consumer side to generate a pact file and verifying the contract by using pact-jvm (more specifically the gradle plugin). One of our resources accepts a bunch of query parameters, and the generated contract looks like this:
"request": {
  "method": "get",
  "path": "/autoComplete/address",
  "query": "max_results=100&state=NSW&term=80+CLARENCE+ST,+SYDNEY+NSW+2000",
}

As you can see the query is encoded on the ruby side, however, apparently the java side expects a decoded value there and we receive "80+CLARENCE+..." in our controller.
Thanks,
Evgeny

I'm thinking of pushing for a change in the pact spec to store the query parameters as a map of arrays. That way they will always be stored unencoded, and it will resolve this issue.
As a work around, I'm going to unencode the query string after loading it from the pact file. The side effect of this is that any query parameter that contains a '+' will be replaced with a space. However, '+' should be used in paths, and %20 in query parameters.

The Ruby impl already talks between the test and the mock server using a map of arrays, it would be very simple to change that to serialise it to the pact that way. I think it's a good idea.

Version 3.1.0 allows V3 format pact files which should resolve this issue.


Bump kubevirt/cdi and plugins

Signed-off-by: Bartosz Rybacki<EMAIL_ADDRESS>
What this PR does / why we need it:
Update CDI and Kubevirt to have latest changes and fixes.

[x] CDI
[x] Kubevirt
[ ] Velero 1.7
[x] Velero plugins

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Need to update KUBEVIRT_PROVIDER and kubevirt. But I'll try updates one by one. First CDI and Kubevirt minor, then Kubevirt (I have seen some tests failing).
Release note:

NONE

/lgtm

/approve

/test pull-kvp-functional-test

/test pull-kvp-functional-test

/test pull-kvp-functional-test


Inconsistency of behavior using absolute and relative imports

Hi @vmalloc !
We've notice strange behavior using dessert (via slash) with absolute imports (i.e. by changing sys.path or PYTHONPATH). using absolute imports the loaded module is not the one from dessert's rewrite (with starts with _0. namespace, but the original module. this does not happen when using relative imports.
In the example below, there are 2 variables on a "global" module. each fixture loads the module in different way, and each test (with use different fixture) results different (it rather complicated, so I can share an archive with all the files)
.
├── config.py
├── fix
│   ├── __init__.py
│   ├── my_fix_absolute.py
│   ├── my_fix_relative.py
├── __init__.py
├── slashconf.py
└── test.py

$ tail ./*.py fix/*.py                                                                                [10/798]
==> ./config.py <==
my_var_abs = True
my_var_rel = True

==> ./__init__.py <==

==> ./slashconf.py <==
import os, sys
sys.path.append(os.getcwd())

from fix.my_fix_absolute import my_fix
from fix.my_fix_relative import my_fix_rel

==> ./test.py <==
print __file__, config

def test_absolute_import(my_fix):
    print __file__, config.my_var_abs
    assert config.my_var_abs is False

def test_relative_import(my_fix_rel):
    print __file__, config.my_var_rel
    assert config.my_var_rel is False

==> fix/__init__.py <==

==> fix/my_fix_absolute.py <==
import slash
import config

print __file__, config

@slash.fixture
def my_fix():
    config.my_var_abs = False
    print __file__, config.my_var_abs
    return 'my_fix'

==> fix/my_fix_relative.py <==
import slash
from .. import config

print __file__, config

@slash.fixture
def my_fix_rel():
    config.my_var_rel = False
    print __file__, config.my_var_rel
    return 'my_fix'

$ slash run -v test.py
0 tests collected.../home/eli/dessert_test/test.py <module '_0.dessert_test.config' from '/home/eli/dessert_test/config.py'>
/home/eli/dessert_test/fix/my_fix_absolute.py <module 'config' from '/home/eli/dessert_test/config.py'>
/home/eli/dessert_test/fix/my_fix_relative.py <module '_0.dessert_test.config' from '/home/eli/dessert_test/config.py'>
2 tests collected
[2017-02-28 21:41:27] test.py:test_absolute_import
/home/eli/dessert_test/fix/my_fix_absolute.py False
/home/eli/dessert_test/test.py True
F: AssertionError: assert True is False
 +  where True = config.my_var_abs
[2017-02-28 21:41:27] test.py:test_relative_import
/home/eli/dessert_test/fix/my_fix_relative.py False
/home/eli/dessert_test/test.py False
==== Session Summary ====
== #1: test.py:test_absolute_import ====
 - 1/1 F (2017-02-28 23:41:27 +02:00):   - - - - - - - - - - - - -
 /home/eli/dessert_test/test.py:6
>    assert config.my_var_abs is False
F    AssertionError: assert True is False
     +  where True = config.my_var_abs
==== Session ended. 1 successful, 0 skipped, 1 failures, 0 errors. Total duration: 00:00:00 ====

@eplaut there are multiple things going on here:

This is issue should be filed with Slash, not dessert. Even if the root cause is dessert, the way it is experienced and reproduced seems to be Slash related
You are not supposed to be importing fixtures. It might cause issues with name lookups and it's not fully tested. Slash takes care of fixture discovery so it shouldn't be required at all.
In the output above I see only one failure, and it is indeed introspected. Can you point out which one was not actually inspected?

Moved to getslash/slash#532


feat: add configFileOverride to in-code validator

Expands on #323.
Provides parameter for custom configFileOverride file.
Adds a test to ensure the configFileOverride is passed to processConfiguration.get.

This is a good idea, thanks for the test. What do you think about adding an environment variable to do the same thing, so that the CLI validator is also not forced to look upwards for the config file? Since we're making this change already, it might be a good time to do that

What do you think about adding an environment variable to do the same thing...

Good idea!

...so that the CLI validator is also not forced to look upwards for the config file?

Are you suggesting that the environment variable should hold a path to the config file? Or is there another way you think we may be able to circumvent looking up for the config file?
Also, should we call this environment variable CONFIG_FILE_OVERRIDE or make it more specific with VALIDATOR_CONFIG_FILE_OVERRIDE?
Given the behavioral details from above and the name, I should be ready to move forward!

Are you suggesting that the environment variable should hold a path to the config file?

Yes! That is what I'm suggesting
As for the name, I don't think we need the word "override" in there. Something like VALIDATOR_CONFIG_FILE would be sufficient.
I also just realized that the command line options include a method of specifying a path to the config file, so there is already a way of configuring that from the command line. Adding a new environment variable is really optional in light of that but still may be helpful. Up to you

I also just realized that the command line options include a method of specifying a path to the config file, so there is already a way of configuring that from the command line. Adding a new environment variable is really optional in light of that but still may be helpful.

In that case, we may want to move this in-code feature along and see consider requests for an environment variable if we receive some requests in that direction.

In that case, we may want to move this in-code feature along and see consider requests for an environment variable if we receive some requests in that direction.

That works for me! Approved

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


set multiple objectives

Hi :)
Thank you for this nice crate!
I am working with multiple objectives and (if I am correct) the model misses a method to set multiple objectives including weight/priority/..-parameters similar to the C++-API version GRBModel::setObjectiveN() (https://www.gurobi.com/documentation/current/refman/cpp_model_setobjectiven.html).
It seems to me, that it is already possible to work with multiple objectives and their parameters, if you read them in via lp/mps-file, but I did'nt find a method to define multiple objectives by hand.
Could you either add this function or let me contribute it myself?
Best wishes,
Stephanie

Hi!
There is a work-around currently: multi-objective parameters and attributes are supported - see the ObjNumber parameter, ObjNWeight model attribute and ObjN variable attribute.  The Gurobi docs explain how to use these together, but I'll give a Rust example below:
let vars: Vec<grb::Var>;

model.set_attr(attr::NumObj, 2)?;

// first objective
model.set_param(param::ObjNumber, 0)?;
model.set_param(attr::ObjNPriority, 1)?; // bigger than the default priority of 0, so more important.
for v in &vars {
    model.set_obj_attr(v, attr::ObjN, 1.0)?;
}

// second objective
model.set_param(param::ObjNumber, 1)?;
for v in &vars {
    model.set_obj_attr(v, attr::ObjN, 2.0)?;
}

You are right though, support for the equivalent of the C function GRBsetobjectiven is missing.  That C function would need to be added to the grb-sys2 crate, followed by a nicer wrapper method on the Model type.  If you're willing to give that a go, any contribution would be greatly appreciated!

Hi,
thank you for the fast reply!
I thought about giving it a try myself.
I am wondering if the following function of the model type is already sufficient, since it works analogously to set_objective(), for which there is no corresponding C function as well? It seems to work.
pub fn set_objective_n(
        &mut self,
        expr: impl Into<Expr>,
        index: i32,
        priority: i32,
        weight: f64,
        abstol: f64,
        reltol: f64,
        name: &str) -> Result<()> {

        self.update()?;
        let expr: Expr = expr.into();
        let expr = if expr.is_linear() {
            expr.into_linexpr().unwrap()
        } else {
            panic!("Multiple objective is not linear.");
        };

        let (coeff_map, obj_cons) = expr.into_parts();

        self.set_param(param::ObjNumber, index)?;
        self.set_obj_attr_batch(
            attr::ObjN,
            self.get_vars()?
                .iter()
                .map(|v| (*v, coeff_map.get(v).copied().unwrap_or(0.))),
        )?;
        self.set_attr(attr::ObjNCon, obj_cons)?;
        self.set_attr(attr::ObjNPriority, priority)?;
        self.set_attr(attr::ObjNWeight, weight)?;
        self.set_attr(attr::ObjNRelTol, reltol)?;
        self.set_attr(attr::ObjNAbsTol, abstol)?;
        self.set_attr(attr::ObjNName, name)
    }

Or am I missing something, which the C function would contribute?

That's a good point - that functionality can just be parameter/attribute setting.  I think what would be useful to add is GRBgetmultiobjenv - this allows you to set different parameters (like TimeLimit or MIPFocus) for different objective passes during the multi-objective optimisation.  I think this will need a bit of care around the Rust API design - the Model instance probably shouldn't be modified while a multiobjective env is being modified.

the Model instance probably shouldn't be modified while a multiobjective env is being modified.

For that I think it would suffice for the Rust method take &mut self - this would, of course, make it impossible to get multiple (distinct) multiobjective envs at once, but that would at least be similar to how Vec::get_many_mut is unstable right now


Run per-file conditions once

Pushing the per-file conditions from fixer functions up to a per-file pre-pass stage can save many function calls and repeat checks. This yields a small but notable performance improvement.
Benchmarked in two ways.
First, using pytest-profiling to measure the test suite:
Before: 1574686 function calls (1538837 primitive calls) in 1.308 seconds
After: 1569930 function calls (1534037 primitive calls) in 1.297 seconds
A removal of 4756 function calls, which is pretty impressive given the test snippets are small. I don’t read much into the performance improvement here.
Second, running on a client project of 50,475 lines of code across 268 files. Each condition was run 10 times with hyperfine.
Before: 557.4 ms ± 5.9 ms
After: 546.2 ms ± 3.9 ms
About 2% faster.

oh so you did went for the conditional approach, nice!
I'm wondering if the cached_properties on the State class are still valuable after that?
Also, another idea I had was to leverage the fact that all these state conditions are mutually exclusive, having one of them return True should make every other ones return False without evaluating the regex at all.

I'm wondering if the cached_properties on the State class are still valuable after that?

I think they are because not all fixers use the conditions. Some of them check other things first.

Also, another idea I had was to leverage the fact that all these state conditions are mutually exclusive, having one of them return True should make every other ones return False without evaluating the regex at all.

I think that will be too minor an improvement to make it worth the extra code. It could also backfire as they’re heuristics, so making the first evaluated one trump the others could lead to unintended false negatives or even non-determinism if fixers run in different orders.

Just out of curiosity, what was the hyperfine command you used to benchmark your changes ?

Replying after some delay: I used git ls-files -z -- '*.py' | xargs -0 django-upgrade --target-version 5.0, per the readme. The project uses pre-commit but I wanted to cancel out the overhead of running pre-commit.

No worries! Was not very familiar with hyperfine at the time but did some research in between, it really is a nice tool!


feat: add procfs cmdline

Why?
Add an extra label for distinguishing processes, especially for java processes where the comms are the same.
What?
Add a procfs label cmdline from /proc/[pid]/cmdline
How?
The code is short and self-explantory.
Test Plan
See the modified integration test.

Wondering whether the profiler timeouts for Python and Java are not enough... seeing similar check failures in other PRs.

I'm worried that this can easily expose secrets in profiling data. I think we should only expose this with a flag on that is off by default.


Cannot process policies with version older than the current one

Community Note

Please vote on this issue by adding a 👍 reaction
to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do
not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment.

Debug Output

Panic Output

Steps to Reproduce

Expected Behavior

Actual Behavior

References

#0000

Fixed in #159


Create Workflow for release and tag with Changelog

What this PR does / why we need it:
Automate ODH Release Process for Kserve repos
Which issue(s) this PR fixes (optional, in fixes #(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #RHOAIENG-2732

/ok-to-test

/approve
/lgtm


isOS undefined

TZP is unable to determine my OS :sunglasses:
I changed the font-family to sans-serif. And get_font_sizes results in an empty array (haven't checked why).
Maybe fall back to a dump navigator.platform check in trysomethingelse?

where did you change the font-family

if isOS is undefined, then font lists are not created and we do not run font_sizes/font_names tests - because they rely on specific lists per OS

https://github.com/arkenfox/TZP/blob/ae28c16940635c51fbae5041153f10a68a47ae9d/js/fonts.js#L499
https://github.com/arkenfox/TZP/blob/ae28c16940635c51fbae5041153f10a68a47ae9d/js/fonts.js#L885-L887

where did you change the font-family

Testing around a bit I have no idea what caused the change.

also what OS - and language/locale?

It's linux and en-US.

well, if I don't know what you did I can't do much about it. I do not want to rely on anything the browser or extensions can lie about - if someone fucks up that bad then I'd rather produce no fonts at all - not interested in outliers, more interested in non-noisy data
OK, so the first step is trywidgets. If the font name is a generic font-family (or undefined etc) then we move to tryfonts
https://github.com/arkenfox/TZP/blob/4e1570a2c424a81123aafbd07d55a4eefc58cbc0/js/generic.js#L339-L340
otherwise we default to linux and then fixup if windows/mac/android
https://github.com/arkenfox/TZP/blob/4e1570a2c424a81123aafbd07d55a4eefc58cbc0/js/generic.js#L339-L342
So I can only surmise you had RFP enabled and we are falling back to tryfonts. For linux I don't have a font I can test for - on windows and mac and android I have expected system fonts that cannot be blocked (aside from blocking document fonts), namely these:
https://github.com/arkenfox/TZP/blob/4e1570a2c424a81123aafbd07d55a4eefc58cbc0/js/fonts.js#L430-L434
The mini font test for OS doesn't care about generic font families, you can any as your default. It will check against all three with fallbacks - here's what it will test against
https://github.com/arkenfox/TZP/blob/4e1570a2c424a81123aafbd07d55a4eefc58cbc0/js/fonts.js#L805-L806
and it will compare until detected
https://github.com/arkenfox/TZP/blob/4e1570a2c424a81123aafbd07d55a4eefc58cbc0/js/fonts.js#L896
here, on windows, for this example, I have disabled the exit when found part (isDetected) and forced it to do all three checks

You're on linux, but unless on windows, you set Tahoma as your default font for all three, something has to be found .. etc.
Assuming we run the font test, then like widgets, we kinda default to linux and fixup with android, windows or mac
https://github.com/arkenfox/TZP/blob/4e1570a2c424a81123aafbd07d55a4eefc58cbc0/js/generic.js#L309-L315
if we only get 1 result (the test includes a fake font name) and it matches windows/mac/android then voila, otehrwise if we get nothing then it must be linux.
The only way it cannot be linux is

you have disabled document fonts
you return more than 1 result

In which case you're an outlier

It's a TZP but.  I was about to test TB14 on linux and this would have shown up .. so you beat me to it. It's not like I run RFP tests on linux all the time (and TB13 uses the chrome:// check for OS)


How to deal with output temperatures of technologies (specifically hybrid heat pumps)?

Background
Space heating and domestic hot water require different temperatures. Say 45 and 60 degrees respectively. In ETMoses we model these two uses of heat by using two distinct buffers. Each buffer has the following attributes:

physical_volume [liter]: how many liters of water the buffer contains (this water is always there, the consumed water is heated by passing it through a heat-exchange unit which extracts heat from the buffer).
max temperature [degrees Celsius]: the maximum temperature the water in the buffer can have. If heat is extracted from the buffer, this temperature will drop.
a demand profile [kW]: for every 15 minutes, how many kWh is extracted from the buffer.

Problem description
Currently, heating technologies just produce heat (in kWh) without any regard for the temperature that they are producing this heat at. The heat stored in water is a product of the liters of water and the temperature difference between the 'outside' and the water:
kWh_heat = liters * delta_T * heat_capacity_of_water

So, if a heat pump produces 1 kWh of heat is could either be (the heat capacity of water being roughly 0.0011626 kWh / (liter * K)):

860 liter of water heated one degree
one liter of water heated 860 degrees (as if!)
any other combination of liters and temperatures that represent 1 kWh of heat

This leads to the following problem:
In ETMoses a heat pump may heat a buffer to 100 degrees by adding more kWh's of heat to the buffer. In reality a heat pump may only heat the buffer to 45 degrees because it simply cannot make water hotter than 45 degrees.
In ETMoses, the heat pump part of a hybrid heat pump may provide all the heat for domestic hot water use, whereas in real life the gas boiler needs to provide the 'last step' from 45 to 60 degrees.
NOTE: This issue is mainly about domestic hot water demand as it requires water at temperatures higher than what the heat pump can produce.
Possible solution direction
We could think about the interaction of buffer and hybrid heat pump as follows:

The 100 liter buffer for hot water consumption starts out 'empty' at a temperature of say 15 degrees (outside temperature)

The heat pump part of the HHP starts heating the 100 liter to 45 degrees. This requires that the heat pump 'knows' that it can only produce heat at 45 degrees.
Whenever the use profile demands hot water (of 60 degrees), the gas part of the HHP will heat the water from the buffer 'ad-hoc' to 60 degrees.
The temperature in the buffer will decrease because of the use of heat and the heat pump will refill the buffer whenever the temperature drops below a threshold temperature, say, 35 degrees (unless some strategy commands otherwise).

NOTE: It does not make sense to have the gas part of the HHP heat the buffer to 60 degrees because this would result in the heat pump sitting idle unless the temperature of the buffer becomes lower than 45 degrees again.

@antw @dennisschoenmakers @AlexanderWirtz @jorisberkhout sorry for the wall of text again but I'd really like your opinion on the solution direction described above.

:+1: for the proposed direction.


SecurityKeys should not be cached with an empty kid.

Two keys with the same algorithm and type will collide.
Either, don't add these keys or have an internal GUID.

https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/pull/1206


x/vgo: wrong version parsing

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go version go1.10 darwin/amd64 vgo:2018-02-20.1
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/xxx/Library/Caches/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/xxx/.go"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.10/libexec"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.10/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/pq/lsz6sm8956vfcgd42rk4rfn00000gn/T/go-build856585928=/tmp/go-build -gno-record-gcc-switches -fno-common"
VGOMODROOT=""

What did you do?
$ vgo get<EMAIL_ADDRESS>
$ vgo build

You can reproduce it by this repo: https://github.com/gorocks/gist
What did you expect to see?
no errors happen
What did you see instead?
vgo: errors parsing go.mod:
/xxx/xxx/go/gist/go.mod:4: invalid module: github.com/google/go-github should be v1, not v15 (v15.0.0)

Thanks for the report.
This is  #23977. You have to append /v15 to your package's import path. Closing as a dup.


Self-Hosting on Ec2 - Onboarding Stuck

          Hello @pushchris, Thank you for the help. This helped. However, now when I am trying to create a project, its showing the following error

Could you please check if there is any other configuration needed?
Originally posted by @tanmay-predisai in https://github.com/parcelvoy/platform/issues/393#issuecomment-2016341812

Thanks for reporting this! Looks like it was a regression in 1.3.5, just merged a fix that will be available in the next release. Until then, if you have access to the underlying database you can resolve by finding your admin user and changing their role to owner

Hello @pushchris Thank you for the help. I updated this, restarted docker, and still see the same error. Here is the screenshot of the table with the updated value. Do you think i need to update somewhere else too?

Unsure at this point, but best guess is maybe your JWT still has your old role in it so you would want to log out and then back in? 1.4.0 is out which has fixes for the errors you described so you could also try doing a fresh install. The admin you listed also doesn't have an organization ID which is very odd to me, are there any items in the organizations table?


translate dynamic items from array

I use react in my application and I want to dynamically add option to my select and translate items for labels, some thing like below
{entity.map((item, index) =>  <Option value={item} key={index}>{item}</Option>)}
I defined all items translated text in my json but i dont know how to use it here, I tested these two
{entity.map((item, index) =>  <Option value={item} key={index}>{Strings.item}</Option>)}
&
{entity.map((item, index) =>  <Option value={item} key={index}>{Strings[item]}</Option>)}
Strings is my translating json

I found it ! I didnt added the words to json and I thought it would show the main word if there is nothing to translate
I think if it do something it would be better, I mean if word didnt exist in json it show word not translated !


error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.

PhaseScriptExecution Check\ Pods\ Manifest.lock /Users/EhsanUlHaq/Library/Developer/Xcode/DerivedData/JCDialPadDemo-evtyshmfocntfvelcuqhvpsmeccz/Build/Intermediates/JCDialPadDemo.build/Debug-iphonesimulator/JCDialPadDemo.build/Script-8AA3BADFC8B54D8790496D3E.sh
cd "/Users/EhsanUlHaq/Desktop/SuperTech Final Projects/MIK Dialer Project/JCDialPad-master/JCDialPadDemo"
/bin/sh -c /Users/EhsanUlHaq/Library/Developer/Xcode/DerivedData/JCDialPadDemo-evtyshmfocntfvelcuqhvpsmeccz/Build/Intermediates/JCDialPadDemo.build/Debug-iphonesimulator/JCDialPadDemo.build/Script-8AA3BADFC8B54D8790496D3E.sh
diff: /../Podfile.lock: No such file or directory
diff: /Manifest.lock: No such file or directory
error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
where is the missing files
how i can use these or install it. is there any docu
thanks

i try  to  integrate cocoapod  with  old  project and  i get  the  same  problem with Xcode 7 and 0.38.2 pod version. i follow  right  steps  to  integrate it  but  i always  have  same  error  :/


update to Silex 2

Hi sir ,
Will you update this to work with silex 2
Thank you .

Please take a look on the composer.json, you will see that silex2 is been used
"silex/silex": "~2.0@dev",

Yeah, this should be closed.


Update zk_login.md with instructions to run their own prover service

Description
Describe the changes or additions included in this PR.
Test Plan
How did you test the new or updated feature?

If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)

[ ] protocol change
[ ] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes

I think these two FAQ can be removed:
Can I run my own ZK Proving Service?
Yes, you can choose to run the server binary on premise and generate ZK proofs yourself instead of calling a provider. Please contact us for more instructions.
What RPC providers support the ZK Proving Service?
The application can currently call the Mysten Labs-maintained ZK Proving Service. Please reach out to whitelist the application's registered client ID to use the service.


Add optimization flags in sampleapp webpack config

What

Add optimization flags in sampleapp webpack configs
Why

Minified code makes retroactive debugging more difficult than it needs to be
How Tested

Process & policy checklist

[ ] I have updated the project documentation to reflect my changes if necessary.
[ ] I have read the CONTRIBUTING documentation.

Is this a breaking change?

[ ] This change causes current functionality to break.

Definitely working! But we need to make sure the bundle size tests aren't included this de-optimization


Torch2.2 Error Variance

Failed to run editing macro
[ErrorCode:RuntimeException] Non-zero status code returned while running Reshape node. Name:'/encoder/layers.0/op/self_attn/Reshape_4' Status Message: D:\a_work\1\s\onnxruntime\core\providers\cpu\tensor\reshape_helper.h:41 onnxruntime::ReshapeHelper::ReshapeHelper gsl::narrow_cast<int64_t>(input_shape.Size()) == size was false. The input tensor cannot be reshaped to the requested shape. Input shape:{3,1,128}, requested shape:{5,2,64}
Microsoft.ML.OnnxRuntime.OnnxRuntimeException: [ErrorCode:RuntimeException] Non-zero status code returned while running Reshape node. Name:'/encoder/layers.0/op/self_attn/Reshape_4' Status Message: D:\a_work\1\s\onnxruntime\core\providers\cpu\tensor\reshape_helper.h:41 onnxruntime::ReshapeHelper::ReshapeHelper gsl::narrow_cast<int64_t>(input_shape.Size()) == size was false. The input tensor cannot be reshaped to the requested shape. Input shape:{3,1,128}, requested shape:{5,2,64}
at Microsoft.ML.OnnxRuntime.NativeApiStatus.VerifySuccess(IntPtr nativeStatus)
at Microsoft.ML.OnnxRuntime.InferenceSession.RunImpl(RunOptions options, IntPtr[] inputNames, IntPtr[] inputValues, IntPtr[] outputNames, DisposableList1 cleanupList) at Microsoft.ML.OnnxRuntime.InferenceSession.Run(IReadOnlyCollection1 inputs, IReadOnlyCollection1 outputNames, RunOptions options) at Microsoft.ML.OnnxRuntime.InferenceSession.Run(IReadOnlyCollection1 inputs, IReadOnlyCollection1 outputNames) at Microsoft.ML.OnnxRuntime.InferenceSession.Run(IReadOnlyCollection1 inputs)
at OpenUtau.Core.DiffSinger.DsPitch.Process(RenderPhrase phrase) in C:\projects\openutau\OpenUtau.Core\DiffSinger\DiffSingerPitch.cs:line 126
at OpenUtau.Core.DiffSinger.DiffSingerRenderer.LoadRenderedPitch(RenderPhrase phrase) in C:\projects\openutau\OpenUtau.Core\DiffSinger\DiffSingerRenderer.cs:line 304
at OpenUtau.Core.Editing.LoadRenderedPitch.Run(UProject project, UVoicePart part, List`1 selectedNotes, DocManager docManager) in C:\projects\openutau\OpenUtau.Core\Editing\NoteBatchEdits.cs:line 464
at OpenUtau.App.ViewModels.PianoRollViewModel.<.ctor>b__94_10(BatchEdit edit) in C:\projects\openutau\OpenUtau\ViewModels\PianoRollViewModel.cs:line 167
0.1.384.0
An error occurred when using Diffsinger's ONNX Variance function
No error occurred when converting Torch version 1.18 to Onnx.
This time I used Torch 2.2 and got an Onnx error.
Have the model parameters themselves changed?
The version of Torch currently used for both SOME and SOFA is 2.2.
Thank you for your improvement.

Did you export your ONNX model with the right version of PyTorch (1.13)?

Yes, 1.13 can be converted correctly　The latest torch 2.2 is now mainstream, and the tool for creating training data some.sofa can only be used with pytorch 2.2.Since torch itself takes up a lot of space, installing multiple versions is also a hassle.

So you confirm your model is exported under PyTorch 1.13, and is used with the latest version of OpenUTAU? Have you tried other projects? Does every project raise this error?

Yes, onnx exported with pytorch 1.13 can be used.pytorch2 cannot be reshaped and is exported, but cannot be used.

I can now confirm that you exported the model with PyTorch 2.2, because I tried PyTorch 2.2 and reproduced your error. This is due to a bug of PyTorch itself, and I will not fix it. Anyway, I have told you that exporting the model sucessfully does not mean the model is correct, and PyTorch 1.13 is the only version that is tested and verified. Please install PyTorch 1.13 to export the model. Only the CPU-only version is enough so it will not take much space.


Fix code to PSR using php-cs-fixer

Thank for the consideration, but I don't think I can accept this right now. I know that that the code style is a bit messy, since I wrote it over three years ago. I do want to update the code style soon, but I am not quite ready for that yet. When the time comes to update the style, I don't know if I will go with PSR, since I am more fond of keeping function braces on the same line as the declaration.

No problem.


Error invoking remote method 'send-http-request': TypeError: Cannot read properties of undefined (reading 'data')

I have checked the following:

[X] I use the newest version of bruno.
[X] I've searched existing issues and found nothing related to my issue.

Describe the bug
Simple get request throws the error message:
Error invoking remote method 'send-http-request': TypeError: Cannot read properties of undefined (reading 'data')
.bru file to reproduce the bug
No response
Screenshots/Live demo link

I am also experiencing this bug on get and post requests on Manjaro.

Hey @petterjohansson
Are you using any custom scripts in Vars or Tests for this API request?
I faced similar issues when I started with Bruno and it was resolved when I fixed the script syntax in the Tests.

Hi @reneeshr
Just found the error, my firewall prevented https calls through Bruno. The error message from bruno didn't make much sense though. :)


Do a multithreaded walk when fingerprinting directories

Closes #66.

Codecov Report

Merging #67 (18939a0) into master (2e8c39c) will decrease coverage by 0.30%.
The diff coverage is 88.23%.

@@            Coverage Diff             @@
##           master      #67      +/-   ##
==========================================
- Coverage   93.06%   92.76%   -0.31%
==========================================
  Files           3        5       +2
  Lines         404      456      +52
  Branches       49       62      +13
==========================================
+ Hits          376      423      +47
- Misses         17       21       +4
- Partials       11       12       +1

Impacted Files
Coverage Δ

src/fscacher/fastio.py
82.75% <82.75%> (ø)

src/fscacher/util.py
94.44% <94.44%> (ø)

src/fscacher/cache.py
95.45% <100.00%> (+3.91%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2e8c39c...18939a0. Read the comment docs.

@yarikoptic All of the benchmarks got worse.

Interesting. May be overhead is making it not worthwhile whenever tree isn't heavy enough? Could you do timing on a sample zarr? Also curious what would be CPU utilization in both old and threaded versions

@jwodder - interesting. what kind of file tree did you run the benchmarks on? and did you sweep through a number of threads? even for 260k files on a parallel filesystem 20-30 were optimal.

@yarikoptic @satra The benchmarks measure fingerprinting of two different directory trees, one containing 100 files, the other containing 3 directories which each contain 3 directories which each contain 3 directories which each contain 3 files.  I only used the default thread value of 60.
What dimensions for a directory tree do you recommend?

just noticed that these benchmarks are running on github, can you control the number of cores or is it essentially queueing up threads?

@satra I want a specific example of a Zarr-like directory tree so that I have something to test on that resembles what this library is going to be used for.
Regarding your second point, are you saying that each benchmark should have its number of threads set to a hardcoded, fine-tuned number?  That wouldn't reflect real-world usage of this library.

I want a specific example of a Zarr-like directory tree

you can check out the trees on dandi hub. /shared/ngffdata/test[64,128]
however, this library gets used in datalad as well, which is much more general purpose and thus as a library also has to handle more general use cases i think.

Regarding your second point, are you saying that each benchmark should have its number of threads set to a hardcoded, fine-tuned number? That wouldn't reflect real-world usage of this library.

the benchmark itself should evaluate across a set of threads: 1, 5, 10, 20, 50. based on the benchmark evaluation a ruleset could be built to support decision making.

After merging in #71, this PR turns out to be slower than not using threads, both in the benchmarks (q.v.) and when running on a tree of 37480 files:

fscacher branch
Cache Miss
Cache Hit

PR #67 w/xor_bytes, 5 threads
64.4942
0.600201

PR #67 w/xor_bytes, 10 threads
62.9912
0.530866

PR #67 w/xor_bytes, 20 threads
63.5175
0.558002

PR #67 w/xor_bytes, 32 threads
65.1746
0.543029

PR #67 w/xor_bytes, 60 threads
62.39
0.549617

PR #71, 5 threads
63.8336
0.326017

PR #71, 10 threads
60.674
0.319525

PR #71, 20 threads
62.2892
0.32638

PR #71, 32 threads
62.7761
0.328537

PR #71, 60 threads
63.1668
0.325156

that is odd.  yet to look in detail (e.g. run py-spy on it to see where it spends time etc), but already got surprised that e.g. this https://github.com/con/fscacher/pull/67/files#diff-d98f0230cd2e7e909d05c5c7a9cc6b2a6441b4b75303080ffec12edb3723ed21R74 block is not test covered -- so there is no test which has subdirectories (where I think that should excercise that code path).  also may be sorted could be avoided? ;-)

@yarikoptic Correct, there were no tests with subdirectories, though there were benchmarks with subdirectories.  I've added a test to cover that spot.  Also, sorted() has now been removed.

@yarikoptic The benchmark workflow is currently failing because the it's running out of space on the VFAT file system while creating sample directories.  I don't know why this would be happening now, as I didn't touch that code.

@jwodder -- please rewrite last commit and repush to see if "out of space" persists.  If it does -- compare with behavior on master -- if it doesn't exhibit there -- must be due to changes here.  Bisect or analyze on what lead to that and how could be mitigated.

@yarikoptic I fixed the "out of space" problem, and now the benchmarks are failing because the new code is just slower.

eh, indeed up to 6 times slower
before           after         ratio
     [3b[19](https://github.com/con/fscacher/runs/5723933622?check_suite_focus=true#step:15:19)9d64]       [4f40212d]
     <bm/merge-target>       <bm/pr>
+     2.62±0.03ms         11.6±3ms     4.44  cache.TimeDeepDirectory.time_cache('hit', '.')
+      5.56±0.3ms       22.9±0.4ms     4.12  cache.TimeDeepDirectory.time_cache('hit', '/tmp/nfs')
+     1.94±0.04ms         6.75±2ms     3.47  cache.TimeDeepDirectory.time_cache('hit', '/tmp/vfat')
          653±3μs          673±4μs     1.03  cache.TimeDeepDirectory.time_cache('ignore', '.')
       8.[20](https://github.com/con/fscacher/runs/5723933622?check_suite_focus=true#step:15:20)±0.4ms       7.93±0.1ms     0.97  cache.TimeDeepDirectory.time_cache('ignore', '/tmp/nfs')
         9[21](https://github.com/con/fscacher/runs/5723933622?check_suite_focus=true#step:15:21)±10μs          925±3μs     1.00  cache.TimeDeepDirectory.time_cache('ignore', '/tmp/vfat')
+      33.6±0.1ms          204±5ms     6.06  cache.TimeDeepDirectory.time_cache('populate', '.')
+        73.4±2ms          298±9ms     4.05  cache.TimeDeepDirectory.time_cache('populate', '/tmp/nfs')
+      38.3±0.7ms          208±9ms     5.42  cache.TimeDeepDirectory.time_cache('populate', '/tmp/vfat')
          658±9μs         672±20μs     1.02  cache.TimeFile.time_cache('hit')
      10.2±0.03ms      10.2±0.06ms     1.00  cache.TimeFile.time_cache('ignore')
       10.8±0.1ms      10.8±0.06ms     1.00  cache.TimeFile.time_cache('populate')
+     1.62±0.02ms       6.66±0.4ms     4.11  cache.TimeFlatDirectory.time_cache('hit', '.')
+     1.79±0.02ms       7.[22](https://github.com/con/fscacher/runs/5723933622?check_suite_focus=true#step:15:22)±0.5ms     4.03  cache.TimeFlatDirectory.time_cache('hit', '/tmp/nfs')
+     1.45±0.01ms       6.44±0.2ms     4.45  cache.TimeFlatDirectory.time_cache('hit', '/tmp/vfat')
          329±1μs          339±3μs     1.03  cache.TimeFlatDirectory.time_cache('ignore', '.')
         568±20μs         552±10μs     0.97  cache.TimeFlatDirectory.time_cache('ignore', '/tmp/nfs')
          394±2μs         411±10μs     1.04  cache.TimeFlatDirectory.time_cache('ignore', '/tmp/vfat')
+     2.56±0.02ms       8.26±0.3ms     3.[23](https://github.com/con/fscacher/runs/5723933622?check_suite_focus=true#step:15:23)  cache.TimeFlatDirectory.time_cache('populate', '.')
+      4.37±0.1ms       10.0±0.4ms     2.[29](https://github.com/con/fscacher/runs/5723933622?check_suite_focus=true#step:15:29)  cache.TimeFlatDirectory.time_cache('populate', '/tmp/nfs')
+     3.[34](https://github.com/con/fscacher/runs/5723933622?check_suite_focus=true#step:15:34)±0.07ms       8.07±0.1ms     2.42  cache.TimeFlatDirectory.time_cache('populate', '/tmp/vfat')

which is odd... since timings in ms - it is unlikely a "threading setup" time overhead, and might be worth

analyses (e.g. with py-spy) on what actually consumes time while walking some sizeable tree
comparing locally on a more realistic larger use-case? (pretty much adjusting the tree parameters so it would take seconds, and then do comparison as in the previous item)


Random Forest with engineered features

Hi @kwinkunks,
Here is our third submission where we included many engineered variables in another Random Forest classifier. The predicted facies are stored in Prediction_blind_wells_RF_c.pkl and the Notebook relevant to this submission is Submission_3_RF_FE.ipynb.
Let's see how it scores!
Many thanks!
The GeoLearn Team

Hello! Aweosme effort, guys — 0.594, so close to 0.6 — very exciting. Well done!
I couldn't merge this PR directly because too many files were affected, so I grabbed the files individually. You guys might want to copy your stuff somewhere, nuke your repos, pull a new one, and re-add your stuff to get back in sync. Anyway, I'm closing this PR manually.

Thank you for organizing the challenge @kwinkunks. It is a good opportunity to apply different approaches and see what others propose on this challenging dataset.
We will continue working on it.


Javascript Bill Splitter

Hi ! I am Malavika R Vikraman, a GSSOC'21 participant.
I will like to contribute to this project by adding a a simple bill splitter app. It will take the total amount, no of people and tip  and calculate the amount each person will pay.
Please , kindly assign this task to me

Hi I want to work on this issue.

Who ever is interested comment here! Assigning will be done in FCFS
Issue creator will get the priority
@malavikarajeshvikraman

Hey Could you assign it to me

Great Develop it


Add Layout Framework Benchmark

Project URL
https://github.com/lucdion/LayoutFrameworkBenchmark
Description
Not a Layout framework, but a benchmark that compares the performance of different Swift layout frameworks.
The benchmark currently includes the following layout frameworks:

Auto layout
Manual layout
FlexLayout
LayoutKit
PinLayout
UIStackViews
Yoga

Why it should be included to awesome-ios (optional)
Choosing the right layout framework for your project is an important decision. The framework API is quite important, but its performance is also important. To help you with that decision, this benchmark compare different layout frameworks.
Checklist

[x] Only one project/change is in this pull request
[x] Addition in chronological order (bottom of category)
[x] Supports iOS 9 / tvOS 10 or later
[x] Supports Swift 3 or later
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

          1 Warning

:warning:
Found 1 link issue, a project collaborator will take care of these, thanks :)

Link issue by awesome_bot

Line
Status
Link

2651
301
http://codewithchris.com/ redirects tohttps://codewithchris.com/

  Generated by :no_entry_sign: Danger

Hey @lucdion, I totally understand the importance of benchmarking and comparing frameworks, but I think this could fit more in a blog post than a library since people will use this once instead of implementing to their projects.
Unfortunately I'm gonna have to close your PR 😔
But always feel free to open new PRs and ask questions to us 👍

OK, I understand your point.
Thanks


Provide intrinsicContenSize to improve compatibility with autolayout

Adds a basic intrinsicContentSize for auto layout compatibility.
Uses a fixed width, as it seems that providing an accurate intrinsic width would require refactoring the code which is more effort than I want to put into this.  But I think that would be the way to go in order to do this properly.

@fletcher Great job, thanks!

You probably saw the comments for ways to make this better.  But this is good enough for my purposes at the moment, and I don't have time to dig further.


pre load 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-…

People using the ExtensionLab package have seen package resolution errors.
We fixed the underlying issue by removing from it the dependency on the fsharp.compiler.private.scripting package.  However, this change, ensures that the notebook will be able to find it, if script authors choose to use earlier versions of the package.
Update the samples so that they can select the latest preview versions of the package.

tests are not up to date with the code change

@colombod , thanks mate.


Send Invoice over Mail

In
buttons.push(Test.Common.ReportHelper.createToolButton({
title: 'Inovice',
cssClass: 'export-pdf-button',
reportKey: 'Invoice.PrintInvoice',
//I have set
download: true
}
this is downloading file on the local computer, I want to download this on the server so that I can attach this file to mail
Or is there any another way to send this PDF over mail as attachment

Ok got some solution for it

Do you solved this?

@joheric  yes i have got solution

@vinaykulkarni89  can please share code..
thank you..
Aniket

@ANDY7575
You can customize the reportcontroller, where you can add an attribute similar to download and add the PDF rendered data as below
mm.Attachments.Add(new Attachment(new MemoryStream(renderedBytes), "Invoice-" + DateTime.Now.ToLongDateString() + ".pdf"));


Support generating interceptors for inherited methods for JVM

This PR modifies generating code by instrumentation tool.
It adds the InstrumentationMetadata interface that is passed to generated InterceptorDeclaration_JvmBytecodeImpl.visitMethodInsn  method. The code generation tool can then generate a type check as:
class InterceptorDeclaration_JvmBytecodeImpl extends MethodVisitorScope implements JvmBytecodeCallInterceptor {
    @Override
    public boolean visitMethodInsn(String className, int opcode, String owner, String name,
            String descriptor, boolean isInterface, InstrumentationMetadata metadata) {
        if (metadata.isInstanceOf(owner, "java/io/File")) {
            ...
        }
        return false;
    }
}

In a different PR we would then implement InstrumentationMetadata.isInstanceOf  in the InstrumentingTransformer.
This PR also introduces tests for annotation processors.

I've triggered the following builds for you:

QuickFeedbackLinux build

@bot-gradle test this

I've triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test this

I've triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test and merge

I've triggered a build for you.

Pre-tested commit build failed.

@bot-gradle test and merge

I've triggered a build for you.


Consensus timer

Changes:

Added HeartbeatTimer in order to periodically print simulation time passed to give user feedback during lock simulations

HeartbeatTimer::start(..) must be called after sim.run(1)

Added Selector to allow for probabilistic selection of peer to submit transactions to

In ScaleFreeSim transactions are submitted according to peers "ranks"

yikes. accidentally deleted the branch and closed the PR. don't know fit their is a way to undo this. I re-pushed the branch of course. Sorry about that.

Iterator changes look good.  I'll rebase later today after the CI builds come through.

Codecov Report

Merging #1 into consensus-sim will not change coverage.
The diff coverage is n/a.

@@              Coverage Diff               @@
##           consensus-sim       #1   +/-   ##
==============================================
  Coverage          69.93%   69.93%
==============================================
  Files                689      689
  Lines              50574    50574
==============================================
  Hits               35368    35368
  Misses             15206    15206

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9ac7b08...c961052. Read the comment docs.

Squashed and merged as f4d5035d4f6409e97cd855fc503f0479d868d0bb


Translation -  Arabic and Turkish

Hi, I would like to contribute to webpack documentation for translation into the following languages?

[ ] Arabic
[ ] Turkish

What I have done so far:

Fork the repo
Clone it
Run the following commands:

npm install
npm run build
npm start
npm run fetch

Created new branch for translation in my fork.

Any other things?
Thanks!
Screen Capture

Awesome, glad you're interested in tackling this! So we do have a potential long-term plan for making translation easier in #295. However this is likely still a ways off. Here's how we handle it now:

Fork the repository (as you've already done)
Translate the content
Rebase on the existing translation branch we've created in the main repository

@lcxfs1991 @Lutece could you elaborate on the steps above and correct me if I got anything wrong? (I wouldn't mind knowing a bit more about the current workflow myself as I may be able to add more content to Translation section in our README). @AhmedAbdulrahman these are two of our maintainers for other translated forks so they should be able to help you more than I can.
Once we hear from them, I'll close this out. However, @AhmedAbdulrahman you should ping me once you have something ready to go so we can add a link to these new translations in our banner.

@AhmedAbdulrahman
Hi :) I'm korean who is translating the 'Webpack Docs' into Korean
I succeeded in connecting the domain temporarily by referring to the blog post by @lcxfs1991.
This is the URL of the post.
https://medium.com/@lcxfs1991/deploy-using-travis-ci-and-github-webhook-eba67b3ab6ac
@lcxfs1991 Thanks for writing this post :)

cc @dear-lizhihua (I know you work on some translation stuff as well)
@Lutece @dear-lizhihua @lcxfs1991 are any of you in our slack channels yet? I think it might make sense for us to create an #i18n channel so we have a place to discuss things offline when necessary. @AhmedAbdulrahman I think we'd be happy to add you there as well. @TheLarkInn what do you think?
@AhmedAbdulrahman also you should be able to take npm run fetch out of your command list above. That command is run automatically by npm start and npm build already.

@skipjack Hello :)
I'm not joined in Slack channel of webpack yet, How can i do join in there?

@Lutece we will add you, I just have to talk to someone with permissions first.
@AhmedAbdulrahman I'm going to close as I'm not sure what else we can add here. Feel free to keep discussing though and I'll work on getting you all invited to slack. Were there any other questions you had?

@AhmedAbdulrahman @skipjack
we use translation branch to update third-party loaders and plugins.
So you should merge translation branch to your xxx branch, you won't need npm run fetch to get loaders/*.md and plugins/*.md, because we do it at  translation branch.

like this:
master                                  translation
(not loaders/*.md & not plugins/*.md)   (loaders/*.md & plugins/*.md)
      |                                        |
          \                                /
             \                         /
                 \                 /
                       |
                       |
               cn (or your branch)

we split src/scripts/fetch.sh, like copy, fetch and fetch-logo:
copy: copy ./src/content/loaders/ to ./generated/loaders
fetch: we npm run fetch at translation branch
fetch-logo: node ./src/scripts/fetch_supporters.js & node ./src/scripts/fetch_starter_kits.js

@dear-lizhihua can you send me your email address so we can invite you to our slack channel? Feel free to pm me on gitter if you don't want to share here.

OK, my email is<EMAIL_ADDRESS>


fix GEARPUMP-178 Create 0.8.1-RC3 release

[Current coverage][cc-pull] is 70.94%
[][cc-pull]

No coverage report found for master at 3c99bb0.

Powered by Codecov. Last updated by [3c99bb0...e929f43][cc-compare]
[cc-base-branch]: https://codecov.io/gh/apache/incubator-gearpump/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/apache/incubator-gearpump/compare/3c99bb0288a6a92869361a0c54103207dd3b89b8...e929f43d9977d07a9dc3b1ef81de0929f0552393?src=pr
[cc-pull]: https://codecov.io/gh/apache/incubator-gearpump/pull/61?src=pr

+1


[WIP] Wrap scikit-learn

Wrap many models using a few simple solvers:

Averaged: fit on each chunk, average the results. This works fine for
most linear models, but isn't guaranteed to be correct (from what I
understand).
Chained: for estimators with a partial_fit method, fits by
chaining calls to partial_fit together. Just provides a consistent
interface to scikit-learn's existing functionality
Gradient: just for the LogisticRegression for now, uses the
previous gradient descent code.

Dask solvers are specified with a dask_solver keyword to the estimator. Models are wrapped in a declarative way for now, which makes this fairly easy to maintain. Wherever possible existing scikit-learn functionality is used.
Solvers that can return Delayed objects will do so if compute=False is passed to the fit method. If this isn't supported, a nice error is thrown.

From this notebook: https://rawgit.com/jcrist/c111c9628de8da345bd3076bdd4f4c8c/raw/f40a1b04e4fde8a7545d09f53e999b02494cce9f/dask_learn_experiments.html
Looks like split-fit-merge is pretty effective for LogisticRegression and SGD.
I'm surprised to see parallelism in the profile plot for SGD

Also one of the best way to implement parallelized versions of the SGD optimizer is Elastic Averaging SGD as presented in this paper: http://arxiv.org/abs/1412.6651
However I am afraid that this is overkill for fitting linear model that is likely to converge (in validation loss) after just a couple of pass over the training data.
In my opinion implementing out-of-core efficiently with dask is enough for fitting linear model. A tool that would make it possible to train in parallel a grid of SGD linear models in an out-of-core manner with different values for the regularization and learning rate hyper parameters along with early stopping on a validation is much more practically useful than trying to push parallelism into the SGD solver it-self.

I'm trying out a second design here: https://github.com/jcrist/dask-learn/pull/2. This doesn't attempt to duplicate classes, but rather provide some control flow primitives for wrapping estimators. Estimators that use dask internally (such as using L-BFGS) can be implemented as separate classes. In this way it's a bit clearer when dask is used to wrap a scikit-learn model, and when the learning algorithm is implemented directly in dask. I'd appreciate some feedback over there.
Thanks for the suggestion of just using scipy.optimize - that's a lot cleaner, and shouldn't be too difficult. I'll give that paper a read as well.


Link to integration test report does not work

In line 5 of the README.md there is a link to the integration tests: https://open-component-model.github.io/ocm-integrationtest/report.html. This does not work, although the reports are available under a dedicated URL per report, e.g. https://open-component-model.github.io/ocm-integrationtest/report-8eec36386c79fdaaa04b67b973f3c996e9c08627.html
https://github.com/open-component-model/ocm/blob/main/README.md?plain=1#L5
This should get fixed.

already fixed

fixed by https://github.com/open-component-model/ocm/pull/871


fix: add hover effect and restrict clickable area for the history and more back buttons

Description
This PR fixes the back arrow button interaction by adding a hover effect and restricting the clickable area to only the arrow icon and text on the history and more pages.
Checklist

[x] The base branch of this PR is dev, rather than main
[x] The relevant docs, if any, have been updated or created

Screenshots
[ For visual changes, include screenshots. ]
Testing
[ For new or modified features, provide step-by-step testing instructions to validate the intended behavior of the change. ]

@Nithishvb - I think you need to pull down the latest changes from dev and branch off of that, I am assuming that's where the conflicting files are coming from.


Indent overhaul

Not yet ready to merge this but want to log what passes and what doesn't
#159 solved
#161 solved
#160: first part not solved (comments still get dedented), second part is solved (comments don't magically disappear anymore..!!poof!!..)
#157: the example raised by @weber8thomas and the first one by @corneliusroemer solved. However @corneliusroemer raised a good test here:
    def test_if_statement_with_snakecode_2comments_snakecode_inside(self):
        """https://github.com/snakemake/snakefmt/issues/159"""
        snakecode = (
            "if True:\n\n"
            f"{TAB * 1}ruleorder: a > b\n"
            "\n"
            f"# comment\n"
            f"# comment\n"
            f"{TAB * 1}ruleorder: c > d\n"
        )
        formatter = setup_formatter(snakecode)
        assert formatter.get_formatted() == snakecode

Which does not pass. I will add it to this PR and try to fix it.

It's fine to review or not now @mbhall88  (it's always good to review of course - but i will add more code to this PR)

@mbhall this PR 'solves' the four issues above.
I put 'solves' in quotes because comment parsing and formatting is really tricky.
The tokenizer module from python stdlib does not output INDENT/DEDENT tokens when indents/dedents precede comments - instead, it outputs comments first. This is v. hard to deal with.
But AFAICT all four issues mentioned above are resolved.

If you or the people in the four issues can double-check things now fine (e.g. paste their code blocks into a .smk file, run snakefmt on them) , would be good - but I'm happy enough to say we can merge this, bump to 0.8.0, and close these issues

This is now the tip of master; weirdly it doesn't appear as merged

Thought you meant I should merge this - feel free to change/edit as you want - also lets do 0.8.0 ?


Duplicate files after update

Hi,
After playing with the update() function for #124 I noticed that the number of files in one of my test runs was off.
I was able to reproduce the behavior in my branch. The test loads version 0 of a data set, and then updates to the newest version. The expected outcome is that get_files() produces the same set of files as when directly loading the newest version. However, the file that was already in version 0 appears twice in the list.
update() is the only call site to restore_checkpoint that does not start empty, and I believe it should start from an empty state when loading a checkpoint, as checkpoints are typically self-contained. Instead, it applies the actions read from the checkpoint to the previously stored state.
I may be misunderstanding how checkpoints are supposed to work, but the provided dataset has been produced by a very simple spark function (delta 0.8.0), and I guess that defines a compatibility baseline.

Yes, checkpoints should only be restored on an empty table because it contains all historical commits. To be extra safe, I think we should just clear table state within restore_checkpoint.

looking at struct DeltaTable, would it be sufficient to clean:

tombstones
files
commit_infos

The following fields should contain an entry in the checkpoint so they are always overwritten when loading a checkpoint:

current_metadata
min_reader_version
min_writer_version
last_check_point (overwritten directly by update)

I'm a bit unsure about app_transaction_version, though. I guess I'll consult the spec first.

app_transaction_version needs to be cleared as well since it's also populated from transaction actions.
Perhaps to make the code easier to maintain, we can create a new DeltaTableState struct to host all these in memory states and store it as a single field in DeltaTable. Then upon checkpoint restore, we can just reassign this field with DeltaTableState::default().

@dispanser should we assign this issue to you? If not, I can pick it up, just wanted to make sure someone is working on this ;)

I'd love to. If you can wait til weekend, that is ;)

alright, issue assigned to you :)


Made the default options configurable for the TwigRenderer

This makes the default options configurable for the TwigRenderer, thus making #27 obsolete (/cc @havvg).
I kept the constructor argument for the default template as passing it is required. However, there is a small BC break for people using  the third parameter to render the menu compressed by default. As all options are configurable now, it should be done through the option array. Keeping a dedicated parameter for it would be redundant. Is it OK for you ?

Is there any chance to get a nice interface in KnpMenuBundle too?
As far as i see one would have to override the default renderer there and inject the options array as contructor arguments.
Anyways afai see this is atm the most straight forward way.

Why overriding the default service ? you can simply register a new renderer with using the TwigRenderer class :)
I'm not sure I want to make the options configurable for the renderer registered by default as changing it might break some third party bundles relying on KnpMenu too. So it may be better to register another instance (with a different alias) for the different config. what do you think about it ?
Btw, the ListRenderer should probably be updated too to be configurable as well (but I think some other cleanup are needed in it. I haven't worked on it much when moving it from the bundle to KnpMenu)

Yeah, that was exactly what i meant,
but e.g. we are working a loot with bootstrap (see http://bootstrap.mohrenweiserpartner.de/mopa/bootstrap/navbar) and one way of course would have config options to change the default classes (bootstrap wants 'active' instrad of current, and current_ancestor).
but if there are no options to configure, i would like to register a "new default" renderer, so i must not write
knp_menu_render(navbar.leftmenu, {}, 'bootstrap_renderer')
but can rely on knp_menu_render(navbar.leftmenu) the simpler form.
this i would think is either achievable by onfigurable options or a new default renderer :)
i have the phisolophy that in one app, i usually try to stick on one implementation of e.g. menues, so i think an app wide config of these options, (feeded with the current default options) would make my day.
but its no prob to replace the default renderer with another one by the bootstrap bundle.
So i am not sure whats the better way, but at least there is a solution for my prob i had an hour ago :)
thanks for your great work ...!

the default renderer is already configurable in the bundle :)


Add test for LowLevelHelpers

Codecov Report
Base: 65.68% // Head: 65.72% // Increases project coverage by +0.04% :tada:

Coverage data is based on head (098c81a) compared to base (4b2c048).
Patch has no changes to coverable lines.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #942      +/-   ##
==========================================
+ Coverage   65.68%   65.72%   +0.04%
==========================================
  Files         109      109
  Lines        4464     4464
  Branches      565      565
==========================================
+ Hits         2932     2934       +2
+ Misses       1507     1505       -2
  Partials       25       25

Flag
Coverage Δ

foundry
49.15% <ø> (+0.09%)
:arrow_up:

production
99.92% <ø> (ø)

reference
99.91% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

contracts/lib/LowLevelHelpers.sol
81.81% <0.00%> (+18.18%)
:arrow_up:

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

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


Using on save(update_fields=[]) TimeStampedModel does not update modified

When using the update_feilds kwarg this skips updating the modified field as well.
update fields Django Docs
Something like this could be added to the save() of TimeStampedModel
update_fields = kwargs.pop('update_fields', None)
        if update_fields and 'modified' not in update_fields:
            update_fields += ['modified']

When passing update_fields to save I want to be in control of the fields which are getting updated. If I want that modified will be updated I will pass it to the list. Adding modified always to the list removes the possibility to bypass it.
So this works as intended from my perspective.


Added namespace fmt to function call format_to in Cripts

This fixes the build on Fedora 39, on my server.

Cherry-picked to v10.0.x


botocore error: You must specify a region

I am trying to run the cities example with dataplug on the rack:
from dataplug.dataplug import CloudObject
from dataplug.dataplug.formats.generic.csv import CSV, partition_num_chunks

# Localhost minio config
minio = {
    # "aws_access_key_id": "rackcred",
    # "aws_secret_access_key": "rackcred",
    "endpoint_url": "rackendpoint",
    "botocore_config_kwargs": {"signature_version": "s3v4"},
    "role_arn": "arn:aws:iam::123456789012:role/S3Access",
    # "use_token": True,
}

if __name__ == "__main__":
    CSV.debug()
    # co = CloudObject.new_from_file(CSV, "../examples/sample_data/cities.csv", "s3://dataplug/cities.csv",
    #                                s3_config=minio, override=True)
    #
    # parallel_config = {"verbose": 10}
    # co.preprocess(parallel_config=parallel_config, debug=True)

    co = CloudObject.from_s3(CSV, "s3://test-bucket/cities.csv", s3_config=minio)

    data_slices = co.partition(partition_num_chunks, num_chunks=25)
    for ds in data_slices:
        print(ds.get_as_pandas())
        print("---")

The issue is:
{'attrs_types': {'columns': 'List[str]', 'dtypes': 'List[str]'},
 'co_class': <class 'dataplug.dataplug.formats.generic.csv.CSV'>,
 'default_attrs': {},
 'finalizer_function': None,
 'preprocessing_function': <function preprocess_csv at 0x7ff3c945f250>}
Traceback (most recent call last):
  File "/home/users/ayman/ayman/extract-project/test.py", line 22, in <module>
    co = CloudObject.from_s3(CSV, "s3://test-bucket/cities.csv", s3_config=minio)
  File "/home/users/ayman/ayman/extract-project/dataplug/dataplug/cloudobject.py", line 120, in from_s3
    co = cls(data_format, obj_path, metadata_path, attributes_path, s3_config)
  File "/home/users/ayman/ayman/extract-project/dataplug/dataplug/cloudobject.py", line 59, in __init__
    self._s3: S3Client = PickleableS3ClientProxy(**storage_config)
  File "/home/users/ayman/ayman/extract-project/dataplug/dataplug/storage/picklableS3.py", line 81, in __init__
    response = sts_admin.assume_role(
  File "/home/users/ayman/.local/lib/python3.10/site-packages/botocore/client.py", line 553, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "/home/users/ayman/.local/lib/python3.10/site-packages/botocore/client.py", line 989, in _make_api_call
    http, parsed_response = self._make_request(
  File "/home/users/ayman/.local/lib/python3.10/site-packages/botocore/client.py", line 1015, in _make_request
    return self._endpoint.make_request(operation_model, request_dict)
  File "/home/users/ayman/.local/lib/python3.10/site-packages/botocore/endpoint.py", line 119, in make_request
    return self._send_request(request_dict, operation_model)
  File "/home/users/ayman/.local/lib/python3.10/site-packages/botocore/endpoint.py", line 198, in _send_request
    request = self.create_request(request_dict, operation_model)
  File "/home/users/ayman/.local/lib/python3.10/site-packages/botocore/endpoint.py", line 134, in create_request
    self._event_emitter.emit(
  File "/home/users/ayman/.local/lib/python3.10/site-packages/botocore/hooks.py", line 412, in emit
    return self._emitter.emit(aliased_event_name, **kwargs)
  File "/home/users/ayman/.local/lib/python3.10/site-packages/botocore/hooks.py", line 256, in emit
    return self._emit(event_name, kwargs)
  File "/home/users/ayman/.local/lib/python3.10/site-packages/botocore/hooks.py", line 239, in _emit
    response = handler(**kwargs)
  File "/home/users/ayman/.local/lib/python3.10/site-packages/botocore/signers.py", line 105, in handler
    return self.sign(operation_name, request)
  File "/home/users/ayman/.local/lib/python3.10/site-packages/botocore/signers.py", line 186, in sign
    auth = self.get_auth_instance(**kwargs)
  File "/home/users/ayman/.local/lib/python3.10/site-packages/botocore/signers.py", line 305, in get_auth_instance
    raise botocore.exceptions.NoRegionError()
botocore.exceptions.NoRegionError: You must specify a region.

Do we need to specify a region for the botoclient to interact with the rack endpoint?
When passing the region:
botocore.exceptions.NoCredentialsError: Unable to locate credentials

can you format the traceback correctly? otherwise it's impossible to see anything

can you format the traceback correctly? otherwise it's impossible to see anything

Yes, sorry!

The storage backend relies on boto3 to load the credentials in a secure way:  https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html
If you are using minio, you must then specfy the region, but still configure boto3 with your minio credentials, including region.

No, dataplug creates it's own client, becuase it implements logic to create temporary credentials and to enable pickling of an authenticated client.

I understand now, thank you very much!

The only question remaining is the region parameter, does it make sense if I am accessing an endpoint under a cluster? It makes sense for aws, but for a remote cluster?

I think region is a required parameter for accessing S3 using boto3, but minio ignores the region, you can use "us-east-1", for instance, but it makes no effect.


Tdr 2028 reporting

Add reporting lambda module

@vimleshtna The code looks good, but I can't approve this until the tdr-terraform-module changes are merged, and the sub-module hash is updated in this PR.


Heroku error: Push Rejected, no Cedar-supported app detected

Hey,
I followed the instructions for deploying an ember-cli app to Heroku from the ember-cli main site, and had my push rejected. Any help on this would be appreciated. Thanks! :D
-----> Fetching custom git buildpack... done

 !     Push rejected, no Cedar-supported app detected

To git@heroku.com:realfeelz-ui.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:realfeelz-ui.git'

I'm still getting this error:
$ heroku config:set BUILDPACK_URL=https://github.com/tonycoco/heroku-buildpack-ember-cli.git --app tecnet-webmovil                                                                ↵ 1
Setting config vars and restarting tecnet-webmovil... done, v3
BUILDPACK_URL: https://github.com/tonycoco/heroku-buildpack-ember-cli.git

$ git push heroku master
Counting objects: 25, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (25/25), done.
Writing objects: 100% (25/25), 473.23 KiB | 0 bytes/s, done.
Total 25 (delta 0), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Fetching custom git buildpack... done
remote:
remote:  !     Push rejected, no Cedar-supported app detected
remote:
remote: Verifying deploy...
remote:
remote: !       Push rejected to tecnet-webmovil.
remote:
To https://git.heroku.com/tecnet-webmovil.git/
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/tecnet-webmovil.git/'

$ heroku config:get BUILDPACK_URL
 !    No app specified.
 !    Run this command from an app folder or specify which app to use with --app APP.

$ heroku config:get BUILDPACK_URL --app tecnet-webmovil
https://github.com/tonycoco/heroku-buildpack-ember-cli.git

As you can see in the last command, the buildpack url is properly set. Perhaps this has something to do with the ember/ember-cli version I'm using? I'm using ember-cli 0.1.6, ember 1.9.1, nodejs 0.10.35, npm 2.1.8

Those should be fine. Could you check the Heroku stack you're on? Only Cedar is supported. Check https://devcenter.heroku.com/articles/cedar-14-migration#upgrading-the-production-app-to-cedar-14 for details on how to upgrade the Heroku stack.

I ended up deploying the app without the need of this buildpack, using these instructions.
Could you point out the differences and advantages of using this buildpack? Also, what about the problem I posted above?

@gnapse the difference is that those instructions spin up a Node web server and run the application that way. This buildpack builds a production dist of your application and serves it with Nginx as a static application with the correct Nginx rewrites and configuration.

remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Fetching custom git buildpack... failed
remote:
remote:  !     Push rejected, error fetching custom buildpack
remote:
remote: Verifying deploy...
remote:
remote: !	Push rejected to demoos1.
remote:
To https://git.heroku.com/demoos1.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/demoos1.git'