[SPARK-7173][YARN] Add label expression support for application master

Add label expression support for AM to restrict it runs on the specific set of nodes. I tested it locally and works fine.
@sryza and @vanzin please help to review, thanks a lot.

Test build #46195 has started for PR 9800 at commit 1abbe52.

Test build #46195 has finished for PR 9800 at commit 1abbe52.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/46195/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/46200/
Test FAILed.

Jenkins, retest this please.

Test build #46203 has started for PR 9800 at commit ea1564f.

Test build #46203 has finished for PR 9800 at commit ea1564f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/46203/
Test PASSed.

LGTM.

It's cool. Will this pr merge into 1.6?

Test build #46406 has started for PR 9800 at commit 6f6d1c5.

Test build #46406 has finished for PR 9800 at commit 6f6d1c5.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/46406/
Test PASSed.

Merging to master / 1.6.


unable to style labels on Sunburst

Is there a way to style the labels on the sunburst? I cannot seem to find that. I want to be able to pass a value to each of the data sets with a color for the label so that each piece of the sunburst can have a different color text.

There are several ways. These labels are really a LabelSeries so you could always change the styling for .rv-xy-plot__series--label-text in your stylesheet. You can also include a labelStyle property in your data points.

labelsStyle doesn't seem to work on the sunburst. Do you have an example of this working?/

Thanks. The documentation had an extra 's' (labelsStyle)

I can only style the labels to a certain extent. In particular - color will not apply and the labels are consistently black no matter which method I try. I also tried creating a single LabelSeries object as well separate from the data labels and styling it as shown in documentation examples and again it ignored any color styling.
For example, if I have this:

I get this (notice the labels are still black but the other styles applied):

        <RadialChart
            radius={50}
            data={dataArr}
            showLabels
            colorType={'literal'}
            labelsStyle={{
                    textAnchor: 'middle',
                    fontSize: 12,
                    fontWeight: 500,
                    fill: '#e9e9e9'
            }}
            width={110}
            height={120}
            >
        </RadialChart>


boards: added support for EMW3162 Wi-Fi board

Summary
This adds  support for EMW3162 Wi-Fi board.
Concerning Wi-Fi chip, EMW3162 is similar to Particle.io Photon board, however EMW3162 board has power-down circuit and the board requires 32768 Hz clock fed from MCO1 output of the STM32F205RG MCU.
Impact
New board support.
Testing
NuttShell (NSH) NuttX-10.1.0-RC1
nsh> ifconfig
wlan0   Link encap:Ethernet HWaddr d0:ba:e4:38:5a:c5 at UP
        inet addr:<IP_ADDRESS> DRaddr:<IP_ADDRESS> Mask:<IP_ADDRESS>

hi @a-lunev did you see the EMW3165 module? It comes with a STM32F411 internally: https://aliexpress.com/item/32805745999.html

hi @a-lunev did you see the EMW3165 module? It comes with a STM32F411 internally: https://aliexpress.com/item/32805745999.html

Hi Alan,
Yes, I did. I just have only EMW3162 that better fitted to my purposes.


Reduction Tensor Vectorized HIP support for Min and Max kernels

Added support for Tensor Vectorized HIP support for min and max kernels using reduction
Added test case for min and max HIP kernels in new test suite

@sampath1117 Closing due to merge conflicts.
Included all changes now into internal PR #192


Added Windows conditional support & cleaned up Blender IO

Added Windows conditional support, EGL rendering wasn't working on our machines, so we have EGL being used in other platforms besides windows.

Cleaned up convert_fbx.py. If the gender is incorrect, the gender is changed for the model / bones.

Thanks a lot for your contributions to ROMP. VLT Media @vltmedia

Thanks for accepting it! And thank you for creating the base code.


Bert Question Answering - Azureml Notebook

Bert Question Answering Sample - Azureml Notebook

Renjan
Please include in README.md

AI Workflow Information links and all
The fix for AVX2


fix(conformance): don't use canceled context to Delete resources

What type of PR is this?
/kind bug
What this PR does / why we need it:
Fixes the conformance tests cleanup. Functions registered with Cleanup will run after ctx from the outer for loop scope has already been canceled.
Does this PR introduce a user-facing change?:
NONE

Thanks @michaelbeaumont!
/lgtm
/approve


Add citations guide and improve Credits section

I will merge this in tomorrow, when we have heard back from TACAS. The CITE.md file should maybe be moved into the docs/ folder, such that it is also directly available in the documentation

I by accident hit the merge button here. The pull request has been recreated at #209


fix: Preserve the base when doing HMR for CSS referenced in link tags

Description 📖
This pull request ensures the base is also used for HMR updates when a CSS file was included using a link tag.
Additional context
base is already being used to prefix the URLs when a js-update occurs.
Since the base is removed from the url when registering a CSS file in the module graph, the path sent in the css-update message is not prefixed with base.
As a result, the updated href targets the origin root (/), which is not consistent with how JS updates are fetched, and requires special handling if proxying requests to the Vite dev server.
What is the purpose of this pull request?

[x] Bug fix

Looks good, is it difficult to include a test for this in the backend-integration playground?

@patak-js Adding an HMR test case is not difficult, but it wouldn't be a useful test because it wouldn't fail if the base is removed because Vite will serve files anyway.
Not sure if there's a way to spy on the incoming requests to verify the prefix, couldn't find a similar test.

Going to add a spec where we check the replaced href in the link element after HMR.


How do I login to non-root user in chromebook

I'm trying to use the firmware utility script on my Chromebook to install gallium os and have access to Chronos on VT2 console, but it says to use a non-root user. I have no idea how to login to my normal account on terminal or how to make a non-root account to run the script. How can I accomplish this?

as per the instructions on my site, you login with user 'chronos' and no password

chronos is the correct login but I do have to warn you that galliumOS is unmaintaned, install something like fedora or for an ultra lightweight distro use arch, I have arch on mine with the sway window manager


Fix some issues

Try to fix the following issues
#16
#17
#18
#19

I'll review the comments in "ci/woodpecker/pr/test-release — Pipeline failed" to fix them

Hi
You are right, I was too happy that this plugin is updated and I made this PR too quickly
I'm fixing the last issues in my branch and will update this PR

Hello
I have clean the code and fix shellchek warnings. But I have to disable some of them as I was not able to find a way to keep them enable with busybox without making Kaniko stop working.
I'll let you review and share your comments

@nicolas-r great work with your PR. I wasnt able to get this plugin working caus of tags issues (it always chooses "latest" tag, even other tags were setup properly: https://github.com/woodpecker-ci/plugin-kaniko/blob/main/plugin.sh#L95)
Manually injected your plugin.sh and it works fluent.
Thank you for your efforts and hopefully see soon a new plugin release


Frontend Project "The coffee house" Menu Section's Buttons Design Improvement

Title and Issue number
Frontend Project "The coffee house" Menu Section's Buttons Design Improvement
Close #3409
Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have created a helpful and easy to understand README.md

@MohitGupta121 Kindly review this pr.


Cannot read property 'dragDropManager'

Node v7.4.0
React DnD 2.3.0
Full error:
Uncaught TypeError: Cannot read property 'dragDropManager' of undefined
    at FormTextField.DragDropContainer

I'm importing via Webpack 2.0 and Babel, and following the major steps outlined in the tutorial.
Base class Draggable of FormTextField is:
import React from 'react';
import BPComponent from '../BPComponent';
import {DragSource} from 'react-dnd';

import './Draggable.scss';

const dragSource = {
  beginDrag(props) {
    return {
      children: props.children
    }
  }
};

function collect(connect, monitor) {
  return {
    connectDragSource: connect.dragSource(),
    isDragging: monitor.isDragging()
  }
}

class Draggable extends BPComponent {
  //-----------------------------------
  // Constructor
  //-----------------------------------
  constructor(props) {
    super(props);
  }

  //-----------------------------------
  // Lifecycle
  //-----------------------------------
  render(children) {
    const {isDragging, connectDragSource} = this.props;

    return connectDragSource(
{children}
 )
  }
}

export default DragSource('draggable', dragSource, collect)(Draggable);

Alright, after doing digging I have discovered the problem. Using babel ES6 you cannot do the following:
class ClassA {}
const ClassAWrapped extends DragSource(...ClassA);
class ClassB extends ClassAWrapped {}
This simple scenario causes the error I am seeing. Is there a way around this?

Alright, more digging and I realized the problem is that with react-dnd once you decorate a Component, you cannot extend it.


Re-emit all events

Issue: #2
Changes:

Created a global WebWorkerEventEmitter to handle event re-emission
Updated the on method in the web worker API
Provided a test that checks for specific render lifecycle

Usage example:
circuitWebWorker.on(
    "renderable:renderLifecycle:PcbComponentRender:start",
    (eventData) => {
      console.log(eventData)
    },
  )

cc: @seveibar
/claim #2

I didn't have experience working with EventEmitters etc, had to learn along the way.
The updated version does simplify everything thing soo much.
Note:

also does this have to be global? Why not just initialize an event emitter inside the create* method?

Removed the event re-emitting logic since we'll use the circuit's built-in event system directly
Update the on method to use the circuit's event system directly


changed class names to represent their functionalities

The Class "Module" is created multiple times with the same name , in which each overwrites the past one. It is legal in python but might create misunderstandings for next users. Each Module class name is changed to something more specific to represent its functioanlity.

code approved and merged


Advertise docs and unordered versions

The documentation, although available in the cljdoc badge, could use some promotion so add the heading API Documentation.
Advertise the unordered functions by listing them like the core functions are listed.
Cleanup the badge sections

Thanks, that looks great.


feat!: bundle template files as 1 json file

This should allow the pnpm build script to stop copying the template files from this library to pnpm's dist assuming the bundle script used by pnpm can bundle JSON.
BREAKING CHANGE: getCompletionScript no longer returns a Promise

What is the benefit of this approach?

The location of the template files is an implementation details. Bundlers shouldn't need to know this location.
This PR would convert the template files from static assets that need to be manually read with fs and copied to the correct location during the bundling process into module files that can simply be required. This would allow bundlers to work with @pnpm/tabtab out of the box. The bundler would embed the template data directly in the resulting JavaScript file as an object of strings.

ok, but we already have this configured for pnpm or is this change for other consumers?


ORC-1586: Fix IllegalAccessError when SparkBenchmark runs on JDK17

This is a clone of

#1748

This is resolved via https://github.com/apache/orc/commit/3eb2586614fe723d37f69ca76cb052962f6b6a12


Expand the classification of what is consider an Identifier.

Use the IsIdentifierLike() classifier. And fix the classifier
to contain the KeywordIdentifier class of tokens (as the
bug in question was actually triggered due to one of these,
TK_timer).
Fixes #917
Signed-off-by: Henner Zeller<EMAIL_ADDRESS>

Codecov Report

Merging #1216 (26a5215) into master (f4cc53c) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

:exclamation: Current head 26a5215 differs from pull request most recent head dbfb8a2. Consider uploading reports for the commit dbfb8a2 to get more accurate results

@@            Coverage Diff             @@
##           master    #1216      +/-   ##
==========================================
- Coverage   92.75%   92.75%   -0.01%
==========================================
  Files         337      337
  Lines       22829    22828       -1
==========================================
- Hits        21176    21175       -1
  Misses       1653     1653

Impacted Files
Coverage Δ

verilog/parser/verilog.y
82.94% <ø> (ø)

verilog/parser/verilog_token_classifications.cc
100.00% <ø> (ø)

verilog/analysis/symbol_table.cc
98.80% <100.00%> (-0.01%)
:arrow_down:

Continue to review full report at Codecov.

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

superseded by #1226


Text Finder Popup clashes with the function name header

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.92.2
OS Version: Windows_NT x64 10.0.19045

Steps to Reproduce:

Open a source file
press Ctrl + F to find text
If your window is narrow enough, the text finder popup will be displayed on top of the current function header.

Can this popup move down a bit so the function name is visible?

This problem is already solved by having the ctrl+f widget allow you to "over scroll" a little bit above. It's by design that ctrl+f does not change scroll state and is in a consistent position.

Does the overscroll solution play well with sticky scroll?

@gjsjohnmurray when you're at the very top of the file you're guaranteed to not have sticky scroll showing. It's this extra space here:

But isn't the below an example of what @MuayTy is referring to?

But isn't the below an example of what @MuayTy is referring to?

Yes that is what I am referring to, thanks for posting the image.
If the window is narrower, the text finder window will appear on top of the floating function name.

Maybe allow a limited amount of manual vertical dragging of the widget. That technique is used with the floating debug toolbar.

Hi thanks for filing this issue. I am not sure if we should show the text finder below the sticky scroll widget. The reason being that the sticky scroll widget can contain many lines, for example 15 or 20. Placing the widget below all of this would look awkward.
A better solution may be to allow the text finder widget to be dragged a bit vertically. Pinging @Tyriar about this.
Another idea we could explore instead would be that when the find widget is opened, the sticky scroll is pushed down by the height of the find widget so that they do not overlap. When the find widget is closed, the sticky scroll position is reset.


Add sync-info back

Description
Adds sync-info back.
Related to: #1760

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against correct branch (see CONTRIBUTING.md)
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Wrote unit and integration tests
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
[ ] Added relevant godoc comments.
[ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Review Codecov Report in the comment section below once CI passes

This PR is being closed since it is no longer possible to support this rpc endpoint unless we fork cometbft. The Routes are no longer global and are encapsulated inside an Environment object that is created right before the rpc server is started. The sync-info endpoint provided the user with the binary version, block height, and the block hash. This information can be retrieved from other endpoints.

block_height: This was previously known by the user since it was a parameter, but the latest height can be obtained with status.
block_hash: This can be obtained from either the block or newly introduced header endpoint.
version: The binary version can be obtained from the provenanced status command.

Reopening since sync-info has to be removed.


Would it be possible to add support for 64 bit strings

It would be useful if Payday 2 goes 64 bit

I don't think I have any file to test with. Not all 64 bit formats are the same.


NameError: name 'resnet_v1_101_flownet_rfcn' is not defined

When I run the "dff_rfcn/demo.py", I encounted this error. Anybody know why? Please help me out!

ModuleNotFoundError: No module named 'resnet_v1_101_flownet_rfcn'
i meet this file too


PUT requests with multipart

Hi,
I found that the seaweedfs handle PUT requests only with multipart/form-data for uploading files, and refuses PUT requests with binary entity body.
Here is a quotable discussion that already explained the same issue clearly, see https://github.com/appdotnet/api-spec/issues/281#issue-10418417 .
And I known the seaweedfs need the file name to determine file type and content-type, so we could use http://localhost:port/fid/fileName to achieve the same purpose as multipart/form-data encoding, that just reflects HTTP semantics, and also keeps the property of idempotence in PUT method.
On the other hand, the consumption of handling multipart/form-data encoding is more than plain entity encoding, if we want the lower consumption on protocol layer, we have no better choice than PUT method with plain encoding.
Reproduce:
curl -v -H "expect:" -T a.h http://localhost:8080/6,014fe24a94
> PUT /6,014fe24a94 HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.42.1
> Accept: */*
> Content-Length: 892727
>
} [16384 bytes data]
< HTTP/1.1 400 Bad Request
< Content-Type: application/json
< Date: Thu, 05 Nov 2015 04:28:26 GMT
< Content-Length: 71
< Connection: close
<
{"error":"request Content-Type isn't multipart/form-data"}

console log:
I1105 12:32:40 02316 needle.go:58] MultipartReader [ERROR] request Content-Type \
 isn't multipart/form-data

Good to know this is a bug!

Well, we could consider PUT policy like this:
PUT http://host:port/fid/fileName
OR
PUT http://host:port/fid  # with header 'Content-Type: image/xyz'

And the request must give 'Content-Length' header to determine a complete file.

Thanks @spance, I also found that, but didn't report this because I was thinking that I'm the only one who thinks it's a wrong design. Hopefully, there are other developers who agree with this.
+1 :+1:

multipart file upload is already supported


options?

I don't understand how/where to apply the style option (or any of the other options). For example, I do this:
<ng2-datepicker [options]="{ 'style': 'bold' }">
and I don't see any difference whether I set it as bold, normal, or big, all looks the same. Help?

also how do you override the css styles that are set in the module?

hi @eurolife. this style option is something I want to implement in the future but didn't have time to do so already.
You can always override styles with !important flag in css.
Take a look at https://github.com/jkuri/ng2-datepicker/issues/165.

ok, thanks for the quick response.


Fixing Release pathing to dist file

New poetry distributions don't allow ' . ' in path to dist files. Therefore I'm alligning the workflow to new poetry specifications.

Codecov Report

Merging #5 (fb7ebc2) into main (ca97edc) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #5   +/-   ##
=======================================
  Coverage   96.59%   96.59%
=======================================
  Files           6        6
  Lines         294      294
=======================================
  Hits          284      284
  Misses         10       10

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Create StatisticsResults Class, Refactor Statistics Class

Refactor the Statistics class to be an instance driven, with a constructor which takes the required information and creates an instance of Statistics.
Statistics object should define all the currently generated statistics as public properties and include description parameters for the English text.
Benchmark should be separated out and implement an IBenchmark; be generated & cached in a local file once per day.
It would require two new algorithm helper methods:

void SetBenchmark(IStatisticsBenchmark) - in the initialize set the IBenchmark to use for generating the statistics.
Statistics GetStatistics(TimeSpan period) - In the QCAlgorithm generate an instance of the statistics object for a specified timespan (default to all the algorithm run time).

Replace the statistics generation in Engine with a call to algorithm.GetStatistics, (and update the Result handlers to take a Statistics Object instead of a Dictionary<string,string>.

Note: Benchmark ideally would be customizable, numerous users requested custom benchmarks. This could be specific symbols, or functions which return a decimal value each day.

Here are my first thoughts on where to get started:
Step 1

Create new Trade class (properties: Symbol, EntryTime, EntryPrice, Direction, Quantity, MAE, MFE, ExitTime, ExitPrice, NetProfit)
Change type of SecurityTransactionManager.TransactionRecord from Dictionary<DateTime,decimal> to List<Trade>
In BrokerageTransactionHandler.HandleOrderEvent when order filled, open new Trade and/or close open Trade (update _algorithm.Transactions.TransactionRecord)
In Security.SetMarketPrice update MAE/MFE/NetProfit of current Trade (if open);  requires adding a reference to SecurityTransactionManager in Security class?

Step 2

Create new AlgorithmPerformance class (properties: TotalTrades, AverageWin, AverageLoss, etc.)
Constructor: AlgorithmPerformance(List<Trade> trades, Benchmark benchmark, decimal startingPortfolioValue, decimal totalFees)
Method Generate(): calculates all values of all properties
Benchmark could be optional (in this case relevant stats will not be calculated)

Waiting for comments and suggestions...

I like the design using Trade objects. This will simplify creating rolling windows of statistics (e.g. Get all trades between X-Y, generate statistics).
Does this support fractional opens/partial trade closes? E.g. I open at $10 (x10), open more at $12 (x10), close 10 at $15, open 10 more at $14, close all 20 at $13. What is the entry price for first close? second close?
Will you fill up the trade quantities like "stacked cups being filled with water"? (FIFO // First trade, first quantities filled exit price). If so; say Trade-2 is only partially filled with exit price $12, and next exit was at $13, would it be averaged down or would it be separated into new trade objects?
Currently Lean has an average based portfolio system (share price gets averaged on purchase). Gain/loss calculations/dates for US taxes are done by FIFO system I believe, but Im not sure how FIFO accounting is done.

For trade counting/generation I would consider one of these two options:
Option 1 (Single Trade)
a trade is closed only when the position size crosses above/below zero and open price (avg price) is updated on each fill until the trade is closed.
Quantity = 30
Direction = Long
EntryPrice = AvgBuyPrice = (10*10+10*12+10*14)/30 = $12
ExitPrice = AvgSellPrice = (10*15+20*13)/30 = $13.66
Option 2 (Multiple Trades)
a trade is closed on each fill in the opposite direction (using FIFO) and open price (avg price) is updated on each fill in the same direction.
Trade 1:
Quantity = 10
Direction = Long
EntryPrice = AvgBuyPrice = $10
ExitPrice = AvgSellPrice = $15
Trade 2:
Quantity = 20
Direction = Long
EntryPrice = AvgBuyPrice = (10*12+10*14)/20 = $13
ExitPrice = AvgSellPrice = $13
I would lean towards Option 2 because it is more detailed and trades generated in this way can always be grouped to obtain the same trades of Option 1 (if a client application needs to):
Trade 1+2 (grouped):
Quantity = 10+20 = 30
Direction = Long
EntryPrice = (10*10+20*13)/30 = $12
ExitPrice = (10*15+20*13)/30 = $13.66
I don't know about US taxes, but using FIFO to close trades seems a reasonable choice.

Awesome, I lean towards option 2 as well @StefanoRaggi. I recommend doing more research to find out what accounting systems others have used to ensure our statistics results are directly comparable to other platforms. Maybe there's some reference or expert on the subject we can ask?

Any chance a property for a StopLoss (trailing or hard) could be added to the Trade class?
This would allow calculation of RiskAdjustedEquity. Risk-adjusted equity would allow determination of true remaining cash for establishing positions, and thus affecting position sizing algorithms.
This may not be critical for stocks where cash outlay is upfront, but 'cashless' trading such as futures (when support is added in the not too distant future I hope) would benefit from this.
For example:

$50,000 cash
First trade in a futures contract requires $1500 margin (this is not considered what you are risking)
The stop loss is x ticks away from entry price
Based on difference between entry and stop loss, an "at risk" total is able to be determined (for futures the value of a tick/big point will be required to facilitate this). This is what is at risk.
The sum of "at risk" totals (if trading more than 1 instrument) will be deducted from the cash position of the portfolio to arrive at a RiskAdjustedEquity

I would prefer to be able to pass in RiskAdjustedEquity for summary statistics of any algorithms, as by the nature of some strategies I look to implement, and the trade/money/risk management processes I follow, the RiskAdjustedEquity gives a "truer" view of my performance, resulting in more realistic equity curves. While some my balk at using this because it may cut down their (over-inflated) view of performance at some points in time, it would also smooth out drawdowns and help set expectations clearly around what equity is in the portfolio.
Buy its nature, the stop loss on a futures contract acts like a call option, but with no outlay of the premium up-front, the premium is "paid" on exit by hitting the stop loss, so being able to risk-adjust equity allows for this "premium" to be deducted from portfolio equity.
Whether this suggestion goes against accounting rules (mark-to-market) is not relevant, instead it should be considered an extension to those statistics that are already available (which already do provide a mark-to-market view of equity).

Hey @adriantorrie its out of scope for this change. A StopLoss would be an order type -- these are accounted for here: https://github.com/QuantConnect/Lean/tree/master/Common/Orders

@adriantorrie sorry I just re-read this after a coffee; I totally misunderstood your question on first read! :) Its a very interesting idea, lets come back to it after this initial refactor as a new issue.

@jaredbroad I have completed Step 1 (two last commits here for review: https://github.com/StefanoRaggi/Lean/commits/statistics)
I ended up creating a new TradeBuilder class that generates Trade objects in real-time during the execution of the algorithm. This was required to calculate MAE and MFE for each trade (as a byproduct, the ClosedTrades property can also be used by the algorithm itself for trading decisions).
There are three fill grouping methods available (FillToFill, FlatToFlat, FlatToReduced) and two fill matching methods (FIFO and LIFO). At the moment I set FillToFill and FIFO as default values (we can add two new settings in config.json later). Unit tests for all six combinations are in place.
I would like a quick review before proceeding with Step 2.

Code looks great @StefanoRaggi. I noticed we've added a TradeDirection enum, it seems like a duplicate of OrderDirection enum. Also, there's a new TradeExecution class which has similar data as OrderEvent. I think the one thing OrderEvent doesn't have is the Time, which I think it should have. One other thing was placing the TradeBuilder on the IAlgorithm interface. I wonder if there's a way to structure it so we don't need that, if not it's not a huge deal, I just like to keep IAlgorithm as clean as possible and I view this TradeBuilder as algorithm impl specific, but not required by the engine to run.
Other than that code looks great man. Good code style, doc, and even 2k lines of unit tests!!

Incredible PR @StefanoRaggi, there's a lot to digest here
I'm new to a lot of these concepts - can you describe/link them? (Fill To Fill, Fill To Flat, Flat to Reduced). It would be great to understand their intent better so we can review better.
I asked a quant working at a hedge fund and he suggested leaving the default statistics generation source as portfolio average fill prices (like it is at the moment). He said for their internal math its all portfolio average price, but then the accountants use FIFO etc to minimize the tax bill. Does this trade system support a trade technique like how it is now? (perhaps that is that one of the methods above?)

@mchandschuh, thanks for the review:

I chose to add the TradeDirection { Long, Short } enum because the OrderDirection { Buy, Sell, Hold } didn't sound good as a Trade property; I always read about long/short trades not buy/sell trades. :smile: Personally I would keep the new enum, if you don't mind.
I saw the missing Time in the OrderEvent class, but just didn't want to add it at this point (as I needed it only in one spot) so I went with the new TradeExecution class. No problem: I can add the missing property and set it to algorithm.UtcTime after OrderEvent creation.
For the TradeBuilder instance, I put it on the IAlgorithm interface for a simpler implementation without any refactoring: I need to call TradeBuilder.AddExecution from BrokerageTransationHandler.HandleOrderEvent and call TradeBuilder.SetMarketPrice from AlgorithmManager.Run. The other reason was the TradeBuilder.ClosedTrades property that is needed at the end of Engine.Run and could be used inside the algorithm as well. Honestly, I couldn't find a better place for it. Do you have any suggestions ?
I'm not sure what you mean by the following: "and I view this TradeBuilder as algorithm impl specific, but not required by the engine to run.". My view is that the TradeBuilder.ClosedTrades is a substitute for algorithm.Transactions.TransactionRecord and will be required as an input to the new AlgorithmPerformance.GenerateStatistics (to be developed in Step 2).

@jaredbroad
The definition of the three fill grouping methods are the following:
FillToFill: A Trade is defined by a fill that establishes or increases a position and an offsetting fill that reduces the position size.
Example: Buy 1, Buy 1, Buy 2, Sell 1, Sell 3 would generate three trades
FlatToFlat: A Trade is defined by a sequence of fills, from a flat position to a non-zero position which may increase or decrease in quantity, and back to a flat position.
Example: Buy 1, Buy 1, Buy 2, Sell 1, Sell 3 would generate one trade
FlatToReduced: A Trade is defined by a sequence of fills, from a flat position to a non-zero position and an offsetting fill that reduces the position size.
Example: Buy 1, Buy 1, Buy 2, Sell 1, Sell 3 would generate two trades
Here are a couple of links from where I got some help:
https://www.sierrachart.com/index.php?l=doc/doc_TradeActivityLog.php#OrderFillMatchingMethods
https://r-forge.r-project.org/scm/viewvc.php/*checkout*/pkg/quantstrat/sandbox/backtest_musings/strat_dev_process.pdf?root=blotter (pg. 24-25)
At the end of Engine.Run we have a complete list of Trade objects generated according to the chosen fill grouping and matching methods. This list is meant to replace algorithm.Transactions.TransactionRecord and used directly as a Trade List View in any client GUI or ResultHandler (sorted, filtered, etc.).
The required fill price averaging (depending on the grouping method chosen) is already done in the TradeBuilder class. Please have a look at the unit tests, lots of examples there.
Step 2 will take care of obtaining the same statistics that are available now, plus all the new ones (lots of them :smile:)

Thank you for the extra reading. I like what is there so far and it looks like a pretty incredible foundation to build enhanced statistics -- without changing how we do portfolios at the moment!
One thought -- we have to plan for long running live algorithms tight on memory -- please cap the number of trades to 10,000 or 12 months, whichever is first (in live mode) -- then remove the oldest trades first. For backtests there doesn't need to be any limit. For simplicity we could do this step after the statistics (step 2) is done.
With your class we'll be able to have rolling statistics -- this will be a powerful new feature!
Agree with @mchandschuh, probably best to add Time to OrderEvent,
"will be required as an input to the new AlgorithmPerformance.GenerateStatistics" -- Good idea, lets run with that and if we see a way later can "tidy" it up.
Awesome work! Keep pushing forward! :)

I just committed the [first part of Step 2] (https://github.com/StefanoRaggi/Lean/commit/c723c6340f504aa123ed87060fab50d9335c8778) with some metrics that can be calculated from a list of trades only.
There are many other stats to be added, but a quick review at this point could be useful.
This first release of the AlgorithmPerformance only has a constructor with the list of trades as an argument, but this is going to change quickly.
All calculations are performed using incremental formulas so the metrics can be efficiently updated in real time (every time a trade is closed) without requiring multiple loops over the trade list.
My idea is that this class could have a dual use:
(1) Instantiated by the engine at the end of the algorithm run: to perform calculations on a complete list of trades (or filtered by symbol, period, etc.).
(2) Instantiated by the algorithm base class at startup: to add trades one at a time (when closed) and make stats available to the algorithm itself during execution, for trading decisions (examples: stop trading if NumberOfLosingTrades today > 2, or TotalProfitLoss today > X). Another use case could be RealTimeStatistics for the GUI.
Thoughts or comments ?

@StefanoRaggi I do not mean to butt in here, but I have done some work with creating Trades and I hope I can offer some small insight.
I pondered quite a while how to match transactions into trades, particularly when buys and sells do not match quantities, such as with partial trades and adding to a position on nice long run.    It fulfils both of your requirements above and gives you a ScheduleD as well. Here is how it works.
My trade creator reads from a file of orders or transaction history.  Then it attempts to open a position in the OpenPositions method.

                Position openPosition = OpenPositions.FirstOrDefault(p => p.Symbol == trans.Symbol);

                if (openPosition == null)
                {
                    openPosition = OpenPosition(trans);
                    OpenPositions.Add(openPosition);
                }
                else
                {
                    ScottradeTransaction scottradeTransaction = ResolvePosition(openPosition, trans);
                    if (openPosition.Buys.Count == 0 && openPosition.Sells.Count == 0)
                    {
                        OpenPositions.Remove(openPosition);
                    }
                }

A Position has a Stack of Buys and a Stack of Sells.

    public class Position
    {
        public int Id { set; get; }
        public string Symbol { get; set; }
        public Stack Buys { get; set; }
        public Stack Sells { get; set; }

    }

OpenPositon pushs a buy transaction onto the Buys Stack and a sell transaction onto the Sell Stack if there is no position..
In ResolvePosition a buy transaction pops a sell transaction off the Sells stock and matches the two transactions up by quantity, and vice versa.  If the quantities match, a trade is created.  If not the transaction with the greater quantity is split into two transactions: one with a matching quantity and one with the leftovers.  A Trade is create with the matching transactions and ResolvePosition is called recursively until there are no transactions on the stacks and any leftovers are pushed onto the appropriate stack.
This method allows for LIFO matching, which is allowed by the IRS.  Replace the Stacks with Queues and you have FIFO matching.  I used LIFO to extend positions to longer terms, hopefully to a year or more for long term capital gain treatment.
My code does not account for wash sales.
My Trade class is slightly different than yours and is matched against IRS 1040 - ScheduleD format.  I used the Proceeds and CostOrBasis approach, as does the IRS.  Commissions on split transactions are used in the first split, so that the average cost per share in leftovers is the buy price.

public class Trade
    {
        public int Id { get; set; }
        public bool IsOpen { get; set; }  // not used
        public string Symbol { get; set; }
        public int  Quantity { get; set; }
        public string DescriptionOfProperty { get; set; }
        public DateTime DateAcquired { get; set; }
        public DateTime DateSoldOrDisposed { get; set; }
        public decimal Proceeds { get; set; }
        public decimal CostOrBasis { get; set; }
        public string AdjustmentCode { get; set; }
        public decimal AdjustmentAmount { get; set; }

        public decimal GainOrLoss
        {
            get { return Proceeds - CostOrBasis + AdjustmentAmount; }
        }

        public bool ReportedToIrs { get; set; }  // Reported to IRS on 1099-B
        public bool ReportedToMe { get; set; }  // Reported to me on 1099-B
        public bool LongTermGain { get; set; }
        public int BuyOrderId { get; set; }
        public int SellOrderId { get; set; }
        public string Brokerage { get; set; }
        public decimal CumulativeProfit { get; set; }

    }

I added a couple of fields for reporting convenience such as the BuyOrderId (from the ticket) and CumulativeProfit for summing during the year.
I would be happy to share my code if it would help.  I found the stack matching recursive technique to be very quick.

@bizcad Currently I am working on the [AlgorithmPerformance] (https://github.com/StefanoRaggi/Lean/blob/statistics/Common/Statistics/AlgorithmPerformance.cs) class, which takes as input a list of [Trade] (https://github.com/StefanoRaggi/Lean/blob/statistics/Common/Statistics/Trade.cs) objects generated by the [TradeBuilder] (https://github.com/StefanoRaggi/Lean/blob/statistics/Common/Statistics/TradeBuilder.cs) class, which already has an implementation of three types of transaction grouping and two types of [transaction matching] (https://github.com/StefanoRaggi/Lean/blob/statistics/Common/Statistics/TradeEnums.cs#L58), for a total of six combinations.
The main goal of this issue is to replace the Statistics class with AlgorithmPerformance, so the Trade class currently has the minimum information required to complete this task. Of course new fields can/will be added to the Trade class, just not in this first iteration.
As for your implementation of grouping and matching, I think we have conceptually done the same thing, only in a different way. Please have a look at the TradeBuilder [tests] (https://github.com/StefanoRaggi/Lean/blob/statistics/Tests/Common/Statistics/TradeBuilderTests.cs), just to check if the results are as you would expect.

@StefanoRaggi   Thank you for adding the Fees to the OrderEvent.  I have been wanting to get that from the order.


Clarification Please

When downloading the current 4.1.30 Allfiles and lab instructions.......

I  don't see all the modules only 3-11  (1-2 missing)
I don't see lab instructions for 3-11    (1-2 only present)

Is this accurate and is this all that's need for the teach?
Thanks.

Modules 1 & 2 do not have labfiles so you will not see folders for those two modules in the Allfiles.
When the repository was reverted, all of the high-level lab instructions for Modules 1-11 were missing. I recently fixed the issue for Modules 1 & 2 but have not fixed it yet for Modules 3-11. Due to the holidays, progress was slow. I expect to have the high-level instructions for Modules 3-11 fixed by next week.
I have been advising MCTs to have the students use the Lab Answer Keys as their primary lab instructions in the interim until I can finish this fix. The Lab Answer Keys are available for all labs.

That all makes sense now.   :)
Thank you!

I will leave this issue open until the high-level instructions for Modules 3-11 are fixed.

The instructions are fixed in version 4.2.45


Collection structure (per version)

Decide what the collection structure is to put assets in a hierarchy.
Wagtail Guide project will have multiple locales, with dedicated media (translated screenshots). We have to think about media management.

Done:
4.1.x
 ↳ English (4.1.x)
Latest
 ↳ English (latest)
 ↳ Icelandic (latest)
This should allow only giving access to people for the single "latest" collection they need to update in their target language. And when versioning we can copy everything in a given collection to the correct version.


fix: get pod by pv volumeHandle

get all pvc when multiple pvs has the same volumeHandle when list app pods
requeue mount pod periodically to avoid leaking in both kubelet polling and apiserver watching

Codecov Report
Attention: 26 lines in your changes are missing coverage. Please review.

Comparison is base (8c640ff) 36.56% compared to head (61cc8a0) 36.49%.
Report is 2 commits behind head on master.

Files
Patch %
Lines

pkg/controller/pod_controller.go
0.00%
18 Missing :warning:

pkg/controller/reconciler.go
0.00%
8 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #801      +/-   ##
==========================================
- Coverage   36.56%   36.49%   -0.07%
==========================================
  Files          36       36
  Lines        4365     4373       +8
==========================================
  Hits         1596     1596
- Misses       2620     2628       +8
  Partials      149      149

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


disabled not working as expected

Hi. I created a SELECT element, and set the disabled attribute to true. Then I tried to forward a click handler on it, to see if it got triggered when the element becomes disabled. This was not working.
The element still enabled, and click handler worked.
I ran this with Mocha + JSDOM.
I then tried the same with Karma and Mocha, and everything worked as expected.

Can you provide a small minimal test case, not involving mocha but instead a 5-10 line program with only jsdom as a dependency, reproducing the problem?

I used my own workflow when I tested. And you see my jsdom config here plus link to react issue.https://github.com/Kflash/havunen/blob/master/config/dom.js
So simply enough write a server test and you will see it

I'm sorry, we don't accept issues without small repros; we don't have time to debug your application for you. Closing until you are able to provide such a repro.

Not a problem. I swapped to testem and everything works fine. And will just inform others to do the same.

Perfect!


[dojot-modules/auth] Analyse Topics  *.dojot.tenancy

Auth uses the topic dojot-management.dojot.tenancy to produce msgs when tenants are created and deleted.
But the libs dojot-modules create topics like admin.dojot.tenancy ($tenant.dojot.tenancy)
and nothing seems to publish on this topics.. There is some code that deal with that inside the  libs, but it doesn't  seems to work.
Based on this, I change  a bit the documentation in readthedocs by removing the subject  dojot.tenancy  and
changed to kafka topic dojot-management.dojot.tenancy.

Tested in v0.6.0-rc.2


Unable to add Ingress when removing rule as default backend

Rancher versions: 2.0
Steps to Reproduce:
Add Ingress
Click "Set this rule as default backend"
Unclick "Set this rule as default backend"
Add a target workload
Add a port number
Click Save
Results:

Empty error message appears.
Response is empty from request as seen in image.

Verified fix.


sign miner HIP

In coordination with the other HIP, I think I'm not understanding the intent here.
I thought decoupling miner signing from full firmware image signing was the goal, but this GPG approach seems to only provide verification at the miner build step? Meanwhile, the intent of the miner update HIP was to enable a distinct miner update from the firmware image update process. Therefore, verification needs to occur at the update not at the build step?

@lthiery this HIP was written to address the following topic of discussion in isolation.

How to think about separating consensus/blockchain related firmware signing from Hotspot-specific bits such that a separate entity (like a foundation) could hold signing power for the blockchain part

I purposely wrote it before the other HIP so that topic (see 3) would not overly-constrain the design space and prematurely influence my decisions.

How to allow Hotspot owners to specify and deliver their own firmware updates

I wanted to capture what the easiest ways to sign miner software releases are in the absence of alternative OTA firmware updates.  After talking to @amirhaleem I now understand that whole point of separating miner for signing is to enable alternative OTA firmware updates.
You are correct in concluding that signing a Git tag (this GPG approach) or signing a gzipped tarball of the source (roughly equivalent) at some Git tag does not work for OTA firmware updates.
You'll also notice that the scope of the alternative OTA firmware updates was reduced to just the miner. The idea to update miner independently of the rest of the Hotspot firmware arose from discussions with the Blockchain Engineering team.


Error with devise 1.5.3, rails 3.2 and ruby 1.9.3-p0

Hi all,
I get this error when I run the active_admin:install generator

/Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/bundler/gems/devise-d8656427fde4/lib/devise/rails/routes.rb:191:in `map!': undefined method `to_sym' for # (NoMethodError)
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/bundler/gems/devise-d8656427fde4/lib/devise/rails/routes.rb:191:in `devise_for'
	from /Users/stephane/projects/www.caviste.be/cav3.2/config/routes.rb:6:in `block in '
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/actionpack-3.2.0/lib/action_dispatch/routing/route_set.rb:272:in `instance_exec'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/actionpack-3.2.0/lib/action_dispatch/routing/route_set.rb:272:in `eval_block'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/actionpack-3.2.0/lib/action_dispatch/routing/route_set.rb:249:in `draw'
	from /Users/stephane/projects/www.caviste.be/cav3.2/config/routes.rb:1:in `'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:245:in `load'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:245:in `block in load'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:236:in `load_dependency'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:245:in `load'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/railties-3.2.0/lib/rails/application/routes_reloader.rb:40:in `block in load_paths'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/railties-3.2.0/lib/rails/application/routes_reloader.rb:40:in `each'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/railties-3.2.0/lib/rails/application/routes_reloader.rb:40:in `load_paths'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/railties-3.2.0/lib/rails/application/routes_reloader.rb:16:in `reload!'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/railties-3.2.0/lib/rails/application/routes_reloader.rb:26:in `block in updater'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/activesupport-3.2.0/lib/active_support/file_update_checker.rb:78:in `call'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/activesupport-3.2.0/lib/active_support/file_update_checker.rb:78:in `execute'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/railties-3.2.0/lib/rails/application/routes_reloader.rb:27:in `updater'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/railties-3.2.0/lib/rails/application/routes_reloader.rb:9:in `rescue in execute_if_updated'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/railties-3.2.0/lib/rails/application/routes_reloader.rb:7:in `execute_if_updated'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/railties-3.2.0/lib/rails/application/finisher.rb:67:in `block in '
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/railties-3.2.0/lib/rails/initializable.rb:30:in `instance_exec'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/railties-3.2.0/lib/rails/initializable.rb:30:in `run'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/railties-3.2.0/lib/rails/initializable.rb:55:in `block in run_initializers'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/railties-3.2.0/lib/rails/initializable.rb:54:in `each'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/railties-3.2.0/lib/rails/initializable.rb:54:in `run_initializers'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/railties-3.2.0/lib/rails/application.rb:136:in `initialize!'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/railties-3.2.0/lib/rails/railtie/configurable.rb:30:in `method_missing'
	from /Users/stephane/projects/www.caviste.be/cav3.2/config/environment.rb:5:in `'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:in `require'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:in `block in require'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:236:in `load_dependency'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:in `require'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/railties-3.2.0/lib/rails/application.rb:103:in `require_environment!'
	from /Users/stephane/.rvm/gems/ruby-1.9.3-p0@rails3.2/gems/railties-3.2.0/lib/rails/commands.rb:25:in `'
	from script/rails:6:in `require'
	from script/rails:6:in `'

Is there a patch for that ?
Thank you

What is in your devise_for in your routes.rb?

I'm sorry Jose, I used ActiveAdmin with Rails 3.2 but there was a problem in the current gem. I don't have this problem with the git repo.
Thank you.
Stéphane


[SDL2] Add patch for SDL2 hid_enumerate bug 4391

Applies patch for SDL 2.0.9 bug 4391: "hid_enumerate() sometimes causes game to freeze for a few seconds"
See: https://bugzilla.libsdl.org/show_bug.cgi?id=4391

Thank you for adding the comment with information on when the patch can be removed, things like that are really helpful for when the port is updated.


fix: make server return json in http response

Signed-off-by: Allen Sun<EMAIL_ADDRESS>1.Describe what this PR did
I found that in almost every API, the data returned is not in type of json:

This PR fixes this issue, and explicitly set rw.Header().Set("Content-Type", "application/json")
In addition, this PR changed some variable naming to be more clear.
2.Does this pull request fix one issue?
NONE
3.Describe how you did it
Encapsulate a func named by EncodeReponse to set json explicitly.
4.Describe how to verify it

5.Special notes for reviews

LGTM


[T2A3][F14-A1] Leslie

Ready for review.

@E0011875 I am unable to find the specific change. Please be more careful with the commits. I encourage you to get help from your teammates. If you have time redo this exercise and resubmit.

@E0011875 Some comments added. Please close the PR after reading comments.


Added number guess JS mini project

Description
Ive added new project to repository..
Fixes:  #20

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update

Checklist:

[x] I have made this from my own
[x] I have taken help from some online resourses
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings

Deployed: https://number-guess-game-alpha.vercel.app/

Please create a separate Issue for this Pull request. #13 is another Issue

Please create a separate Issue for this Pull request. #13 is another Issue

Check & merge


Fix #16788: Optimize feed query performance issues introduced in 1.4.2

Describe your changes:
Fixes #16788

I worked on ... because ...

Type of change:

[ ] Bug fix
[x] Improvement
[ ] New feature
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] My PR title is Fixes <issue-number>: <short explanation>
[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] For JSON Schema changes: I updated the migration scripts or explained why it is not needed.

Closing the pr . Fixed here -  https://github.com/open-metadata/OpenMetadata/pull/16862


Branch Switcher Loads Slow and freezes at "Finalizing Update"

Describe the bug
When choosing "Software" the data takes a bit of time to populate. Once it's populated and a new branch is selected and the download button is selected. It freezes on "Finalizing Update". This is on a home wifi connection with a fresh copy of OP master with only changes to hardcode fingerprint due to unsupported car.

Provide a route where the issue occurs
09136c309ba9461d|2023-12-21--14-33-53
openpilot version
0.9.6
Additional info
No response

“Finalizing” doesn’t have anything to do with your internet connection. It’s making a copy of the repo, so it can swap it atomically.

Still in "Finalizing Update"

Logs from trying to switch branches through SSH since the UI branch installer wouldn't work:
git fetch origin Ford-hysteresis-testing
remote: Enumerating objects: 90582, done.
remote: Counting objects: 100% (90582/90582), done.
remote: Compressing objects: 100% (29715/29715), done.
remote: Total 89380 (delta 63022), reused 84902 (delta 58549), pack-reused 0
Receiving objects: 100% (89380/89380), 397.11 MiB | 5.08 MiB/s, done.
Resolving deltas: 100% (63022/63022), completed with 934 local objects.
From https://github.com/sheaduncan/openpilot

branch                Ford-hysteresis-testing -> FETCH_HEAD
Fetching submodule cereal
From https://github.com/commaai/cereal
8ae5c51..9bce87f  master             -> origin/master
[new branch]      pre-commit-updates -> origin/pre-commit-updates
916f4a9..02c0254  stubs              -> origin/stubs
Fetching submodule opendbc
From https://github.com/commaai/opendbc
[new branch]      fix-subaru-throttle -> origin/fix-subaru-throttle
[new branch]      pre-commit-updates  -> origin/pre-commit-updates
Fetching submodule panda
From https://github.com/commaai/panda
[new branch]        2024-kia-sorento-hev   -> origin/2024-kia-sorento-hev

2825df69...431f8b84 chrysler-long          -> origin/chrysler-long  (forced update)

[new branch]        gv70-2024-fw           -> origin/gv70-2024-fw
5b41a63a..6e645d2d  master                 -> origin/master
[new branch]        nissan-cleanup-checks  -> origin/nissan-cleanup-checks
[new branch]        nissan-vel-mismatch    -> origin/nissan-vel-mismatch
89abe134..69a28982  outback-forester-22-PR -> origin/outback-forester-22-PR
[new branch]        pre-commit-updates     -> origin/pre-commit-updates
[new branch]        subaru-fix-speed-units -> origin/subaru-fix-speed-units
b37b6f23..3ad860b9  toyota-disable-radar   -> origin/toyota-disable-radar
Fetching submodule rednose_repo
Fetching submodule teleoprtc_repo
From https://github.com/commaai/teleoprtc
4df237c..ca10fb2  master     -> origin/master
Fetching submodule tinygrad_repo
From https://github.com/geohot/tinygrad
[new branch]        fast_compare     -> origin/fast_compare
[new branch]        lazy_asserts     -> origin/lazy_asserts
66f07d97..5cac6338  master           -> origin/master
[new branch]        revert-2625-upcast-phi-the-other-way-around -> origin/revert-2625-upcast-phi-the-other-way-around * [new branch]        revert-2792-uop-unary-check -> origin/revert-2792-uop-unary-check
[new branch]        revert-2801-test-randint -> origin/revert-2801-test-randint

df4f60aa...5dfcb7d2 update_benchmark -> origin/update_benchmark  (forced update)
From https://github.com/geohot/tinygrad

branch              2993dfe9219089bd1464741757f0c2ad67fe6a2e -> FETCH_HEAD
branch              46f6db75228cb7744a3a0a87616bfffeffa93658 -> FETCH_HEAD
branch              82ca9c66664b5f3739e1881f62cb94b72cf0b1fa -> FETCH_HEAD
branch              870ea766eec7a38d7d590c81436f15271ba2667e -> FETCH_HEAD
From https://github.com/commaai/rednose
branch            3a6f937ad1bb234dca7b0b2052faabdd58f3e085 -> FETCH_HEAD
branch            fbf65ab4aeec9a6891eaf22ddf430e592ab67aa4 -> FETCH_HEAD
From https://github.com/commaai/panda
branch              01df29e00b6d3dcceb7b4da18ddf97118382c659 -> FETCH_HEAD
branch              0b8c477302af4a10da92f5ba1d7af2a84e2794a7 -> FETCH_HEAD
branch              168b0db6a7ed53124a34ba2c2db03e7dd5b5dc26 -> FETCH_HEAD
branch              435cabe7f7a02a0c732725b97cbb7192a68a406d -> FETCH_HEAD
branch              47ee46540f4e2691fd2b390ecb3d83959eed215d -> FETCH_HEAD
branch              5440de0fdee3f04a1b1a15291854d2a183af5f67 -> FETCH_HEAD
branch              5984fd35096a9e3f9748435868ad49a199d4404d -> FETCH_HEAD
branch              7abca94c12ffdf2c65246d016af7f730f93d6bf1 -> FETCH_HEAD
branch              98ee810a0382e22290df2494b3877ed47d196230 -> FETCH_HEAD
branch              a32959accc12de3462e7446fd41e7dd79f6a9ec0 -> FETCH_HEAD
branch              a8917adcdf5b122ffd04f3734de9e0339531f181 -> FETCH_HEAD
branch              b29ae782f78be87e7ac1414773c6015b14eea728 -> FETCH_HEAD
branch              fbbc6b6996173573534613c7fce66db05a6aa721 -> FETCH_HEAD
From https://github.com/commaai/opendbc
branch            18bff2369b44ecb36638885c974aae1891616ae5 -> FETCH_HEAD
branch            48e3bba5ae2ecc63b1e00e1feaba55a7fa69b0b4 -> FETCH_HEAD
branch            a4407d6049c815f74e7225433353f2d22129cd03 -> FETCH_HEAD
branch            b1bf3d755bb0dfc9f10297fc361107551d9f8e8c -> FETCH_HEAD
branch            d4a4614e0639d3fa79bd03377e6a61db48b57f17 -> FETCH_HEAD
branch            df29a0726ba95b185241c1e0b8b1c1e37fc96e76 -> FETCH_HEAD
branch            e37ef84f1ab848e2bf37f2c755f9e56213ce14e2 -> FETCH_HEAD
branch            e4d5dcfe7e4275ab4dcf22f45eaf85b26dbf4a04 -> FETCH_HEAD
From https://github.com/commaai/cereal
branch            0021fa241994cd9d94945ba305b0f3f1c43feaae -> FETCH_HEAD
branch            0b635b4804c963c2e69475788acfeeb17820f8c2 -> FETCH_HEAD
branch            0dca986771da39f1a810e58cfb65850be71f1ffb -> FETCH_HEAD
branch            1add692f472c22927dd5727d3dd94a698d12a07a -> FETCH_HEAD
branch            266fb9b204cdf4edf5fb8ff4584a4b3eaa35cee2 -> FETCH_HEAD
branch            27823b1c73bb8c7dc6cd6ce75d59d6618df6c04c -> FETCH_HEAD
branch            2c22c7b00ba6797734e9520e728cbf58b33a82ce -> FETCH_HEAD
branch            32300930f65425bbba136461446149af8f8b42d9 -> FETCH_HEAD
branch            3248f6658f58551ce0de9e3ea712d67896e196fd -> FETCH_HEAD
branch            3ed1b8c51afb616880565e5868806cef82bbc835 -> FETCH_HEAD
branch            3f13766df1f366955338b283990334e046baffe4 -> FETCH_HEAD
branch            42e0a7e6bcb0c1191774f0595560486de2d6ee0c -> FETCH_HEAD
branch            48795401f2153ef0519e67f5f70231f587b5c971 -> FETCH_HEAD
branch            546ebbff46129463523d086d073cd937b3feb1bc -> FETCH_HEAD
branch<PHONE_NUMBER>b1c736f7ce61a647f57273482cebd4 -> FETCH_HEAD
branch            56c7050fadb95611ce7889c9d58b331c17cb7c0e -> FETCH_HEAD
branch            5c466ec8a4fa9cb688a935b16721b89d7bea31ab -> FETCH_HEAD
branch            6ac88564fcf4893c400295e5bc1ff46649073ed6 -> FETCH_HEAD
branch            775f09de45353773f1fa697048be11c8317324b5 -> FETCH_HEAD
branch            82603c57a9c631f246fcfa5ff8c1c44d0c6cbaa0 -> FETCH_HEAD
branch            85406f66760b30700c27aace228f5e480f3a5bbe -> FETCH_HEAD
branch            94fca76c42dedc55f419ce813c6b0513fce2fe12 -> FETCH_HEAD
branch            a6965af4020f21f6a1981fc2f68e075a086c32ad -> FETCH_HEAD
branch            aea23111ee0a08efb549d1d318405b9af8f456d9 -> FETCH_HEAD
branch            b2e2e071510754a1b6767e35e8129b0e13e36187 -> FETCH_HEAD
branch            b448a8295df8a38f0f702fdca89edf5e20670680 -> FETCH_HEAD
branch            d4d52a567bfd17a5130429657b341618ed657627 -> FETCH_HEAD
branch            e232a014579ba3a45bdba1968502c11ae2005f1a -> FETCH_HEAD
branch            e9d3597d23311a3e33a2def74ceec839e5ff4bf5 -> FETCH_HEAD
branch            efcbdb81ace2dfd52b9abf5099d416560a67c4e9 -> FETCH_HEAD

git reset --hard FETCH_HEAD
HEAD is now at 99a8fadb9 Update interface.py
git submodule update -f
Submodule path 'body': checked out 'cad7ef43ad5daf40b44d4792d47671c397cca376'
Submodule path 'cereal': checked out '8ae5c51a6515c171f3a82c9511a18d79a9e55c07'
Submodule path 'opendbc': checked out '93b983d49a2d6d5c67e15ce7650f55e4f121485d'
Submodule path 'panda': checked out '6e645d2d337f0c6b245ebae9bd8a54467634f13b'
Submodule path 'rednose_repo': checked out '44e8a891a2810f274a1fa980775155d9463e87b9'
Submodule path 'teleoprtc_repo': checked out 'ca10fb2410ee14e207f30aadebeec707904dc559'
Submodule path 'tinygrad_repo': checked out 'ae5d1407ee844a97a52ad3756835d38e7e2b9e1b'
sudo reboot
git branch -a

ford-tune-actuate-brake
remotes/origin/ford-tune-actuate-brake

For some reason it still fails