Is SHAP appropriate for mostly categorical data?

Hi, firstly thanks for providing SHAP. I have some survey data that I've analyzed using CatBoost. Almost all the features are categorical. I noticed an error in loading a TreeExplainer (minimal reproduction below), and I've since seen this post labelled ToDo: https://github.com/slundberg/shap/issues/292 discussing how categorical variables can't be split in the way SHAP expects. So question is - is SHAP appropriate for this type of data? Any advice here is appreciated!
Minimal example:
from catboost import CatBoostClassifier
import pandas as pd
import shap
print('Cat is:', catboost.__version__)
print('Pandas is:', pd.__version__)
print('Shap is:', shap.__version__)

features = dict()
features['Cat'] = ['Yes', 'Yes', 'Yes', 'Yes', 'Yes', 'No', 'No', 'No']
features['Hat'] = [1, 1, 1, 1, 0, 0, 0, 0]

cat_hat = pd.DataFrame(features)

model=CatBoostClassifier(iterations=5,
                         depth=1,
                         learning_rate=0.1,
                         loss_function='Logloss',
                         verbose=False)
model.fit(cat_hat['Cat'].values, cat_hat['Hat'].values, cat_features=[0])

# load JS visualization code to notebook
shap.initjs()
# explain the model's predictions using SHAP values
# (same syntax works for LightGBM, CatBoost, and scikit-learn models)
explainer = shap.TreeExplainer(model)

output:
Cat is: 0.15.1
Pandas is: 0.24.2
Shap is: 0.29.2

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-151-6315d3774046> in <module>
     24 # explain the model's predictions using SHAP values
     25 # (same syntax works for LightGBM, CatBoost, and scikit-learn models)
---> 26 explainer = shap.TreeExplainer(model)

~/miniconda3/envs/lew_conda/lib/python3.7/site-packages/shap/explainers/tree.py in __init__(self, model, data, model_output, feature_dependence)
     94         self.feature_dependence = feature_dependence
     95         self.expected_value = None
---> 96         self.model = TreeEnsemble(model, self.data, self.data_missing)
     97
     98         assert feature_dependence in feature_dependence_codes, "Invalid feature_dependence option!"

~/miniconda3/envs/lew_conda/lib/python3.7/site-packages/shap/explainers/tree.py in __init__(self, model, data, data_missing)
    592             self.dtype = np.float32
    593             cb_loader = CatBoostTreeModelLoader(model)
--> 594             self.trees = cb_loader.get_trees(data=data, data_missing=data_missing)
    595             self.tree_output = "log_odds"
    596             self.objective = "binary_crossentropy"

~/miniconda3/envs/lew_conda/lib/python3.7/site-packages/shap/explainers/tree.py in get_trees(self, data, data_missing)
   1148             # split features and borders go from leafs to the root
   1149             for elem in self.loaded_cb_model['oblivious_trees'][tree_index]['splits']:
-> 1150                 split_features_index.append(elem['float_feature_index'])
   1151                 borders.append(elem['border'])
   1152

KeyError: 'float_feature_index'

@ljmartin I've seen this when I tried to upgrade. You may want to use catboost 0.14.2 and shap 0.28.3 - seems the only compatible versions among recent ones.

@annaveronika can you remember any related changes in Catboost 0.15?

I got the same problem. I found CatBoostTreeModelLoader in latest shap cannot take care of categorical features.
{'split_index': 1272, 'float_feature_index': 174, 'split_type': 'FloatFeature', 'border': 4296.5}
{'split_index': 887, 'float_feature_index': 156, 'split_type': 'FloatFeature', 'border': 0.024754902347922325}
{'split_index': 2758, 'split_type': 'OnlineCtr', 'border': 10.999999046325684, 'ctr_target_border_idx': 0}

SHAP in principle works fine for categorical data. However there are two issues you can run into with it:

CatBoost has a special way of doing categorical splitting that (when used) essentially creates new features to split on that are not in the original set of input features. These features allow you to split whole groups of categories one way or the other. Support for these types of trees have not been added to SHAP yet. (@annaveronika correct me if you have support for this inside CatBoost)

When providing categorical data some packages allow you to give string values, that the package then encodes as numerical values for you. SHAP does not directly support this step, so you have to have already encoded the strings into numeric categorical values.

@slundberg I am having a similar problem: when I try to use SHAP with CatBoost that trained on data with categorical variables, I get "float_feature_index" error. Is there a workaround for CatBoost? Without encoding the data, I mean, since CatBoost's way to deal with it is one of its advantages and I would like to avoid manual encoding.

We are looking into it right now.

@annaveronika thanks for your quick answer. I also saw your post stating that CatBoost has shapley values implemented (https://github.com/slundberg/shap/issues/58). Why have you deleted the tutorial for that? Is there an issue?

It is implemented, here is the tutorial in our repo:
https://github.com/catboost/tutorials/blob/master/model_analysis/shap_values_tutorial.ipynb
Here is a tutorial in shap:
https://github.com/slundberg/shap/blob/master/notebooks/tree_explainer/Catboost tutorial.ipynb

It looks like there are some problems in shap library code when calculating shap values for catboost.
I suggest for now to use catboost code for that, an example of the code is in the link above.
It looks like that:
model.fit(X, y)
shap_values = model.get_feature_importance(Pool(X, y), type='ShapValues')

And we'll try to fix the code, so that TreeExplainer also works.

The error occurs here, and it occurs because someone just did not take into account that there are categorical features in CatBoost. This code here will fix everything:
for elem in self.loaded_cb_model['oblivious_trees'][tree_index]['splits']:
    split_type = elem.get('split_type')
    if split_type == 'FloatFeature':
        split_feature_index = elem.get('float_feature_index')
        borders.append(elem['border'])
    else:
        split_feature_index = elem.get('cat_feature_index')
        borders.append(elem['value'])
     split_features_index.append(split_feature_index)

BUT
Why is a dense representation of a tree built  for a CatBoost model at all? There is no need, since all shap values are available from the CatBoost.
I suggest just get everything back as it was in 0.29.1 (just remove these lines)

The error occurs here, and it occurs because someone just did not take into account that there are categorical features in CatBoost. This code here will fix everything:
for elem in self.loaded_cb_model['oblivious_trees'][tree_index]['splits']:
    split_type = elem.get('split_type')
    if split_type == 'FloatFeature':
        split_feature_index = elem.get('float_feature_index')
        borders.append(elem['border'])
    else:
        split_feature_index = elem.get('cat_feature_index')
        borders.append(elem['value'])
     split_features_index.append(split_feature_index)

BUT
Why is a dense representation of a tree built  for a CatBoost model at all? There is no need, since all shap values are available from the CatBoost.
I suggest just get everything back as it was in 0.29.1 (just remove these lines)

It would be really nice to add some tests for catboost to shap library to not break anything in the future.

I agree we need to add some catboost tests. I’ll look into this on Monday. (The reason an internal version is built is to support some extra features available in the shap impl.)

@slundberg Do you plan for a fix?

is this issue fixed in the latest version of catboost? I am trying to give string values in my categorical variables and it throws the error ```_catboost.CatBoostError: Bad value for num_feature[0,0]="ABC": Cannot convert 'b'ABC'' to float
Even when using get_feature_importances to retrieve shap values I encounter the same error.
A similar issue #1042 was raised recently in catboost library. I don't want to manually encode my categorical features


SDK 3.13.0: Adds change log and bumps the SDK version

Pull Request Template
Description
This updates the changelog, adds the public contract, and bumps the SDK version

Type of change
Please delete options that are not relevant.

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

Closing issues
To automatically close an issue: closes #IssueNumber

Aren't these breaking changes. Why?


GCP / GKE Not supported

It looks like GCP is currently not supported
2017/11/17 18:02:36 No Auth Provider found for name "gcp"
Perhaps add missing plugin?
_ "k8s.io/client-go/plugin/pkg/client/auth/gcp"

I run into the same issue with the oidc provider. I get the impression the MR https://github.com/kubernetes/kubernetes/pull/41532 relates to the importing of these auths provider packages. I haven't looked into the implementation of kubectl and kubectl-repl, so I cannot offer more details at this moment.

Resolved in 2830fe35ab8a5c43d6e9243257abca1876ab4454 by relying completely on kubectl implementation.


ROUTER-ROUTER communication example

Here is an example of a ROUTER-ROUTER communication for anyone who is building a P2P application and needs a socket that is able to connect to several other peers simultaneously, while also being able to receive messages. I'm posting this here because I didn't find an example anywhere and it might be useful for someone.
The program takes two arguments:

"s" or "c", meaning server or client.
If the first argument is "c", then this argument is used as the identity of the peer. Can be any string.

Note that starting the program as a server sets the peer identity in the connection as "server".
import zmq
import sys

context = zmq.Context()

socket = context.socket(zmq.ROUTER)

if sys.argv[1] == "s":
    socket.setsockopt_string(zmq.IDENTITY, 'server')
    socket.bind("tcp://*:4000")

    while True:
        print("waiting for msg")
        req = socket.recv_multipart()
        print(req)
        #                      identity of receptionist   empty frame     message content
        socket.send_multipart([req[0],                    bytes(),      bytes("whatup", encoding="utf-8")])

elif sys.argv[1] == "c":
    socket.setsockopt_string(zmq.IDENTITY, sys.argv[2])
    socket.connect("tcp://localhost:4000")

    while True:
        input("enter to send msg")
        #                       identity of receptionist          empty frame     message content
        socket.send_multipart([bytes("server", encoding="utf-8"), bytes(),     bytes("cheers", encoding="utf-8")])

        rep = socket.recv_multipart()
        print(rep)

# In real applications do not forget to disconnect when the connection is not needed anymore

Well, I've been spoiling to put in an example of aiowire, so I've created PR #1652 to add this example into the asyncio examples subdirectory.  From your comments above, I assume you intended to use CC0 (public domain copyright).

How would this example look with CURVE encryption?


Update max allowed max min ratio

Gradually bringing back maxallowedmaxminratio up from 10.

What will it do, who will get affected and why is it important to go that high instantly?

Recommendation: Remove min_is_allowed_multiple_of_max check in weights.rs

Objective: The real objective is to store validator's weight allocation validator_weights to the chain_weights as accurately as possible for the majority of nodes: minimize[(chain_weights - validator_weights).abs()].
Renormalization problem: The first major issue is that validators currently only set weights for min_allowed_weights number of nodes, and that the chain normalizes these e.g. 600 weights to sum to 1. A validator needs multiple such renormalized weight-settings to start to cover all nodes, potentially overwriting previously set weights if the subtensor step() has not yet executed. This distorts the original validator_weights due to renormalization over subsets and due to overwriting.
Solution: Validators should simultaneously set their original validator_weights on chain in a single submission. This solves the renormalization problem which introduces very problematic distortion.
min_max_ratio problem: Exacerbating the renormalization problem is the additional application of min_max_ratio which min_is_allowed_multiple_of_max checks in weights.rs. Each validator weight-setting fixes the validator_weights.max()/validator_weights.min()=> min_max_ratio which typically introduces a magnified distortion due to sensitivity to min/max outliers and due to significant alteration of the original validator_weights.

Counter-arguments (reasons for applying min_max_ratio)
Adversarial resilience

Applying min_max_ratio could force validators to restrict the worst and best weight to limit a cabal from setting extreme weights that may favor them.
For example, a cabal cannot set all weight to themselves, because they have to set 600 weights and have to apply e.g. a 10:1 max:min ratio. So the chain prevents setting weights violating this condition.
However, the chain then makes a very strong assumption about the actual value contribution of participants in the network, and prevents validators from accurately recording their Shapley values on-chain.
By excluding part of the network not fitting the min_max_ratio, there could be no distortion. However, this will then exclude part of the network from being incentivized, when instead validators should fairly assess all nodes on-chain by setting weights for all nodes even near-zero weights.

Improved consensus

By restricting weight ratios and filtering weights the consensus algorithm could be more accurate in meeting the cabal decay property of 0.5 < [ SUM(i) incentive_i * ( 0.5 < consensus_i ) ], since weight magnitudes affect consensus_i.
Currently this affectation is mostly whether weights are non-zero, possibly whether weights exceed a threshold. Thus, by manipulating the min weight then the threshold and consensus can be manipulated in turn. However, this is a tenuous lever at best since the price of significant validator weight-setting error this introduces may not offset the adversarial resilience benefit. Keeping in mind that the real objective is adversarial resilience, cabal decay while fairly setting accurate weights that align with majority consensus.
Instead, a fully featured consensus algorithm allows for weights to be set freely and encourages weights set on the full network according to a fair global comparative evaluation. Then it relies simply on existing ownership via stake to preserve their share of new inflation by setting weights that are in consensus with majority stake.
Bittensor solves the nothing-at-stake problem by putting the share of new inflation at stake, such that out-of-consensus validators have new inflation slashed which decays their overall share. This ensures cabal decay and aligns validation to the majority ownership objectives.
A fully featured consensus algorithm does not need to influence weights, other than normalizing them and incentivizing their alignment with majority consensus.

Simulating weight-setting and the min_max_ratio effect
Applying min_max_ratio and renormalization

We take typical network parameters of 150 validators, a representative set of actual validator Shapley values, and min_allowed_weights = 600 to demonstrate the renormalization problem.
All validators randomly sample 600 Shapley values, renormalizes them, submits to a single representative on-chain weights set (note that reduction from 150 to just 10 weight-setting submissions preserves the conclusion), and then we compare with and without application of min_max_ratio.
We measure the absolute error of each individual node weight, with and without min_max_ratio.
Then we check how much we can reduce the error by removing min_max_ratio altogether. We plot the histogram of error reduction by removing min_max_ratio.

validators = 150
min_allowed_weights = 600
# validator_weights = normalized Shapley values for all nodes

def weight_setting_error(min_max_ratio):
    chain_weights = torch.zeros_like(validator_weights)
    chain_weights_mmr = torch.zeros_like(validator_weights)  # min-max-ratio applied

    for v in range(validators):
        # validator sets min_allowed_weights
        sample = torch.randperm(len(validator_weights))[:min_allowed_weights]
        # randomly samples responsives to ensure fair weight setting
        weight_sample = validator_weights[sample].clone()

        chain_weights[sample] = weight_sample / weight_sample.sum()  # renormalize sample
        chain_weights_mmr[sample] = normalize_max_multiple(weight_sample, min_max_ratio)  # apply mmr

    # objective: minimize (chain_weights - validator_weights).abs()
    absolute_error = (chain_weights - validator_weights).abs()
    absolute_error_mmr = (chain_weights_mmr - validator_weights).abs()

    return absolute_error, absolute_error_mmr

We observe that the majority of nodes have a reduced weight-setting error when min_max_ratio is not applied. This corresponds to the majority mass on the negative side below 0. This is expected because of the amplified distortion of the original validator_weights.
However, for a minority of nodes there is a larger than usual error by not applying min_max_ratio.
The question is whether there are any advantages, like improved consensus or adversarial resilience, that outweigh the disadvantage of increasing weight-setting error for the majority of nodes.

Validator check before applying min_max_ratio

Currently, the validator runs normalize_max_multiple() before every weight-setting, but it does not include a similar subtensor/weights.rs check to see if the condition is met. It always applies min_max_ratio in any case.
Sensitivity problem: Due to its sensitivity to min/max outliers, the exact ratio varies greatly, and there is simply no single min_max_ratio setting that will perfectly match the exact ratio.
Solution: By adding a check before, like below, we expect a reduction in weight-setting error because distortion is avoided.

def normalize_max_multiple(  x: torch.FloatTensor, multiple:int = 3 ) -> 'torch.FloatTensor':
    r""" Normalizes the tensor x so that sum(x) = 1 and the max value is at most multiple times larger than the min value.
        Args:
            x (:obj:`torch.FloatTensor`):
                Tensor to be max_value normalized.
            multiple: float:
                Max value is multiple times larger than the min after normalization.
        Returns:
            x (:obj:`torch.FloatTensor`):
                Normalized x tensor.
    """
    # ADD CHECK BEFORE (like subtensor/weights.rs)
    if x.max() / x.min() < multiple:
        return x / x.sum()

    x = x
    shift = 1 / ( multiple - 1 )
    x = x - x.min()

    if x.sum() == 0:
        return torch.ones_like(x)/x.size(0)
    else:
        x = x / x.sum()
        y = (torch.tanh(x * len(x)) + shift)/(torch.tanh( x * len(x) ) + shift).sum()
        return y

We observe a larger error delta mass at 0, which means that for a very high min_max_ratio the check before can avoid application of distortion to the original values.

Full weight-setting (no renormalization) with min_max_ratio

We can solve the renormalization problem by always setting weights for all nodes in a single weight-setting.
Then, if we still apply min_max_ratio we see no redemption and it worsens all errors.

As @opentaco have said, the original functionality of normalize_max_multiple and thus maxallowedmaxminratio was to reduce the power of outliers in the validation. Previously, validators can become fixated on a single peer as it trains, resulting in extremely high weights for a select few peers and virtually no weights for the rest of the network. After the synapse update, this should no longer happen to the validators and thus, we should have a conversation about the use cases for normalize_max_multiple. There should be some form of normalization, but I am open to updating the function to something more sophisticated
Additionally, the normalize_max_multiple was originally designed for the top 600 weights. Now as we are increasing the amount of weights that we are setting in #4, we should increase the min_max_ratio to accommodate for the changes.

Parameter updated on block: 2,102,096
explorer: https://explorer.nakamoto.opentensor.ai/#/explorer/query/0xecba2fd6f0b6fe8509026b78d81e1f4240275e98b51ecfb3203b16290d3b6953


Managed to reproduce this issue. Was uploading an image with jquery.dm-uploader.min.js, and trying to do some image manipulation, but when I got this error:

Managed to reproduce this issue. Was uploading an image with jquery.dm-uploader.min.js, and trying to do some image manipulation, but when I got this error:
{title: "ErrorException", type: "ErrorException", code: 500, message: "getimagesize(): Read error!",…} code: 500 file: "C:\xampp\htdocs\project\app\Controllers\File.php" line: 85 message: "getimagesize(): Read error!" title: "ErrorException" trace: [{function: "errorHandler", class: "CodeIgniter\Debug\Exceptions", type: "->",…},…] type: "ErrorException"
Then I was basically getting the same response as the OP.
Note: I managed to get the real exception by printing in in the FormatException.php file
Originally posted by @pixobit in https://github.com/codeigniter4/CodeIgniter4/issues/1274#issuecomment-650305264

To be even more exact, I was getting this exception from trying to save a png file: imagepng($image, $imagePath, $quality).
Turns out the 3rd parameter doesn't work, so if I remove it, it's working fine.
Using PHP Version 7.4.4

Can you give a simple test script to replicate the problem?

No, this was too long time ago for that, but I believe I have enough information to reproduce it, and I'm not even sure if it was fixed or no in 4.0.4

Have a look at
https://forum.codeigniter.com/thread-76417.html?highlight=getEXIF
and
https://forum.codeigniter.com/thread-74573.html?highlight=getEXIF

I think this should be closed, because i had no problems uploading and manipulating the image.
I had some problems with max_file_size for the validation rules, but they got fixed.
Maybe that was the problem here also

I think this should be closed, because i had no problems uploading and manipulating the image.
I had some problems with max_file_size for the validation rules, but they got fixed.
Maybe that was the problem here also

You're completely missing the point. The issue of this case was doing something that should throw an exception, but the exception thrown was wrong, and had to actually get it by checking before FormatException.php...
Therefore to reproduce it, you have to be unsuccessful to manipulate the image, as you need it to throw an error in the first place. But I will check if it still happens, and try to fix it, then do a pull request.

If you can throw in the code from your App\Controllers\File class then that would be a great help, instead of having us hanging. It is pretty hard to decipher what is happening on line 85 that caused this exception and analyzing the related code from the stack trace. If you have sensitive information in that class, you can mask those with asterisks.

Here is the code from my controller method:
public function iptcFail()
{
$image = \Config\Services::image()
->withFile('***/_DSC_0047_34657.jpg')
->getEXIF();
	dd($image);
}

Returns:  exif_read_data(_DSC_0047_34657.jpg): Incorrect APP1 Exif Identifier Code
Note this does not return an error on every image, only certain ones, and I haven't figured out what it is about the image...maybe it's a bad Exif identifier code =)
Hope that helps

Alright, found the actual problem, and it's on JSONFormatter.php ln.67
$result = json_encode($data, $options, 512);
So in my latest case this json_encode was returning a JSON_ERROR_UNSUPPORTED_TYPE error, which caused it to enter this part:
throw FormatException::forInvalidJSON(json_last_error_msg());
which at the end of the day will throw you an error that's about the json_encoding, and has nothing to do with the actual exception.
I can't post the full original error message, as it would be huge, but that's pretty much straight to the point

Here is the code from my controller method:
public function iptcFail()
{
$image = \Config\Services::image()
->withFile('***/_DSC_0047_34657.jpg')
->getEXIF();
	dd($image);
}

Returns: exif_read_data(_DSC_0047_34657.jpg): Incorrect APP1 Exif Identifier Code
Note this does not return an error on every image, only certain ones, and I haven't figured out what it is about the image...maybe it's a bad Exif identifier code =)
If I can help by providing the _DSC_0047_34657.jpg image I used, just let me know how I can get it to you.
Hope that helps

@derektconsulting is your issue related to this one?  You should open a separate ticket for that.
Short answer, exif only works on JPEG and TIFF files. It will likely fail on incompatible image types OR images with malformed headers. You should scrutinize that image.

@pixobit since you are not giving any code that will truly help in reproducing the errors you encountered, I tried making one myself:
        // App\Controllers\Home

        public function index()
	{
		// return view('welcome_message');

		$data = fopen('php://output', 'w');

		$result = json_encode($data, JSON_PRETTY_PRINT, 512);

                // error here is JSON_ERROR_UNSUPPORTED_TYPE
                // since a resource is not allowed for encoding
		if (JSON_ERROR_NONE !== json_last_error())
		{
			throw FormatException::forInvalidJSON(json_last_error_msg());
		}

		var_dump($result);
	}

The exception is pretty much expected.


refactor(index): use \d over number range character class in regex

Same thing, and saves a few bytes.

Checklist

[x] run npm run test and npm run benchmark
[x] commit message and code follows the Developer's Certification of Origin
and the Code of conduct

Wondering how much traffic we save when we just release a new version for this change. :P

Tons. Every company will drop their internal stack and start using Fastify for everything.


interpreter: add u1, u2 int64 to interpreterOp

In preparation to further refactoring on the compiler side,
add u1, u2 uint64 fields to interpreterOp avoid a useless
allocation of a slice when only 2 int64s are needed

oh no Windows shakes fist


Add document layer

Signed-off-by: Junqiu Lei<EMAIL_ADDRESS>Description
Add document layer to map.
In this PR, the features include:

Add index pattern with geo point filed data to map.
Able to change layer style, like color.
Able to change layer settings, like zoom range, opacity and name.

Issues Resolved
https://github.com/opensearch-project/dashboards-maps/issues/96
Demo
https://user-images.githubusercontent.com/90288540/204596329-8b5ce653-418e-4699-9cda-f6ab56d51909.mov
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

A general high level comment from the Demo video. Can you check the sizings and spacings for the UI elements? e.g. the tab drawer has a space above the horizontal rule and the Icons for the layer type seem too big for the button.

A general high level comment from the Demo video. Can you check the sizings and spacings for the UI elements? e.g. the tab drawer has a space above the horizontal rule and the Icons for the layer type seem too big for the button.

Thanks the advices! For the add new layer modal, I updated the icon size and spacings in the updated PR.

After selecting Add layer, shall we add that entry to left map layer panel?

After selecting Add layer, shall we add that entry to left map layer panel? If user select discard, we can remove that entry.

Yes, makes sense, I think we can add it as a pending task.


Microphone Disabling Issue in YouTube Live Broadcasting

I am currently facing an issue with the microphone disabling while using it for YouTube live broadcasting. Despite providing the necessary permissions, the application is showing the error message: "CameraPermission, MediaRecorderAudio permission not granted."

I also provided the following permissions in the manifest

The issue occurred when I  initialized the CameraController with the enableAudio as false:
_controller = CameraController(
  _cameras[_selectedCameraIndex],
  ResolutionPreset.max,
  enableAudio: false,
  androidUseOpenGL: true,
);

Hi @Riyank786,
can you please provide a reproducible example and a logcat?
Thanks!


Multiline graph from config.yaml

Hello!
I really need to understand if its possible to aggregate few measures into one multiline graph by expression in config.yaml of my Pivot?
So I have those 2 dimensions, like "dimension1" and "dimension2", and I need something like:
- name: combine
title: Combine
formula: [$main.sum($dimension1), $main.sum($dimension2)]
I've tried writing custom aggregation with no luck. Is it even possible to make this kind of feature from config.yaml or I need to go inside of Pivot? What I need to get in result is something like Split graph, where we have few lines on one graph, but just showing diffirent measures instead of filter split.
If I have to modify Pivot's sources in my case, could you please point me the direction where to start looking?
Thanks in advance!

Hi this is not possible in general right now. Can you add some details as to your use case? What are the two formulas you are trying to show?


Boss frame

Hello,
Could it be possible to re-organize the boss frames?
I would like to put them horizontal on top of my interface.
Thanks.

Change the position in the file oUF_Neav/config.lua – 259 line:
position = {'TOPRIGHT', UIParent, 'TOPRIGHT', -50, -250},

What @L3n1n said.


Is it possible to change color of item according to its content?

I have two type of items: standard item and analysis item. I would like to distinguish them with different color? Is there any way how to do that? If yes, can you please give me a help?

Items have a "className" parameter. You can just add an "analysis" class for your analysis items and then change the css backgroundColor property for them.
You would usually need to override the default rule:
.react-calendar-timeline .rct-items .rct-item.analysis {
  backgroundColor: #68efad;
}

@xmityaz Thank you!!!

Thank you @xmityaz for helping! I have added your response to a new FAQ section in the README. Hope it's OK :).


fruit size

request new synonym of  fruit size : pod size - An assay to determine the variation in the size (PATO:0000117) of the pod (PO:0009001)
request new childs of fruit size:
- fruit diameter + synonym: pod diameter - Diameter (PATO:0001334) of the fruits at mid-length (mm).CO_325:0000148
- fruit length + synonym : pod length- An assay to determine the variation in the length (PATO:0000122) of the pod (PO:0009001)
request new children of grain size
- grain width -> Brown rice width - Width of the grain monitored after dehulling but before polishing.
Reported by: alexandraviel
Original Ticket: obo/plant-trait-ontology-to-requests/122

Is grain thickness (TO:0000399) the same, or could we make grain width a synonym of grain thickness?
see issue #264 for grain thickness issues.

dehulled grain width (TO:0000402): A grain width (TO:0000975) which is associated with the width of the dehulled grain with pericarp (PO:0009084).


First-time tutorials import from k/examples

This imports the tutorials from kubernetes/examples repository for the first
time. It adds "DO NOT UPDATE" notices and updates some titles. These tutorials
will be maintained at k/examples repository.
Also fixing a bug in the update script (we were inserting the <!-- comments
before the metadata section on the top, causing articles to render incorrectly).

This change is

/assign @chenopis ready to review.

/unassign

@chenopis PTAL.

@chenopis PTAL


drivers: sensor: fix PM Implementation for LM75 temperature sensor

the PM get and put operations were missing, this lead to the driver returning -EIO when CONFIG_PM_DEVICE_RUNTIME was enabled. Fix was tested and works on a nRF52840-DK.
@MaureenHelm @alexanderwachter @gmarull
Note: Interestingly, with older Zephyr versions this seems to be not an issue, only in the recent versions the missing operations lead to the described bug. I dont know why though.

@CodingGhost  Note that you also need to remove the now unused pm_state variable, this causes issue in the CI. Otherwise your patch looks good.

@aurel32 @gmarull everything ok now?

or Implement it correctly? the driver has a property in the devicetree to define a power pin for the sensor, should the on and off action turn this on and off? Currently setting this property does nothing. there is one problem though, I noticed the chip needs like 15ms delay between power on and read operations, whats the best way to implement this in the driver? delayed work?

or Implement it correctly? the driver has a property in the devicetree to define a power pin for the sensor, should the on and off action turn this on and off? Currently setting this property does nothing. there is one problem though, I noticed the chip needs like 15ms delay between power on and read operations, whats the best way to implement this in the driver? delayed work?

Up to you, but the current code does literally nothing.


Try nextest for CI builds

Very nice 20-40 second improvement. The output looks nicer, too. That's a keeper!


Add Text Via Shortcut

Bug Description
The UX of adding text via shortcut does not match Figma
Expected Behaviour

Missing Animation @samitron7 to share prototype
Default placement of text:

text box width should be 360 wide (40 px gutter setting on each side) and dropped in centre. Text should centre aligned. This is same for all text presets.

Staggering behaviour is incorrect
Default text when using shortcut is incorrect. (i.e. User’s system font (ie Roboto) Style: Regular, 16 px, 24px line height, color #000, left aligned ) [NOTE: Addressed by #1546 ]

Steps to Reproduce

Screenshots

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria
QA Instructions

Staggering is handled by #1206.
Detecting the user's system font doesn't really work, as viewers would be unlikely to have the same font. We need to use a font from our current set, so defaulting to Roboto makes sense.

Default placement of text:
text box width should be 360 wide (40 px gutter setting on each side) and dropped in centre. Text should centre aligned. This is same for all text presets.

Figma currently mentions this:

The text element is added 40px to the left edge of the page and is in focus.

Note that this somewhat conflicts with staggering.

Just to clarify, is the "add new text" and the "T+" shortcut button supposed to add the equivalent of pressing "Body Text" in the presets?

Seems like they should both do the same (not the case at the moment apparently), but I don't think they should use the preset as the base (since presets can be customized by the user in the future).

There's some mention of an "animation" is that still relevant?

That's about nicely animating newly inserted elements for improved UX, I believe.
Definitely something we can split out into a new issue once the animations are defined (and once we have a way to implement them)

Sounds good, I'll consider animations outside of the scope of this bug.

Note as per slack discussion with @swissspidy we should split this part into a new issue:

Default placement of text:
text box width should be 360 wide (40 px gutter setting on each side) and dropped in centre. > Text should centre aligned. This is same for all text presets.

Also a correction to the spec on the text: According to figma it is:

Regular, 16px, 24px line height, color #000, left aligned

@jhtin and @swissspidy Just to clarify

It is the T+ button that adds text onto the page. That newly added text should be defaulted to body text (Roboto, Reg, 16px, 24 pb line height) 40px from left edge and center vertically.
In the future we'll allow the users to customize the text preset section and possibly also the  default text from the T+ button. I just don't know yet.
There is no prototype for this flow, just the Figma files and those are complete so I'm removing the ux label.

@swissspidy Why would this be a problem "Note that this somewhat conflicts with staggering."

Why would this be a problem "Note that this somewhat conflicts with staggering."

@samitron7 Given this:

It is the T+ button that adds text onto the page. That newly added text should be defaulted to body text (Roboto, Reg, 16px, 24 pb line height) 40px from left edge and center vertically.

What happens if I click this button five times? I assume the 40px from left edge and center vertically only applies for the first time, and after that, staggering should occur? That's what I meant with "somewhat conflicts"

Note: Can I remove myself from this since this work probably doesn't belong to the media pod?

We should use the same staggering rules we set for images and videos Figma

According to Figma:

Looks like site's off re: height and font size:

(Note: padding from left edge and vertical centering are fine)

@csossi Note that this issue was about vertical centering and padding only (point 1.) Point 3. was done in a separate issue and if there are issues with that, a new issue should be created.
Will merge this as the vertical centering and padding were OK.

Verify in UAT

Created #2665 as a follow-up, just in case.


Updating CI to use clang 3.9 after CI image change.

testing CI change at https://github.com/Microsoft/ChakraCore/pull/3850


React Tutorial GraphQL API addition does not authenticate

Describe the bug
Following the steps as described in the section to add GraphQL backend in the react tutorial Appsync is not linked to the correct Cognito user pool.
To Reproduce
Steps to reproduce the behavior:

Following the steps as described in the section to add GraphQL backend in the react tutorial (https://github.com/aws-amplify/amplify-cli/blob/master/amplifycli_react_tutorial.md#add-graphql-backend)
On the resulting web page click on GraphQL modification button.
Nothing happens.
Developer console shows cognito failure.
AWS console shows that the settings in AppSync is pointing to a default Cognito pool called AppSyncUserPool and not the application specific user pool created in https://github.com/aws-amplify/amplify-cli/blob/master/amplifycli_react_tutorial.md#add-user-registration-and-sign-in
Once it is changed from console for AppSync to point to correct Cognito user pool it works.

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

@lahirian  Just submitted a fix for this -> #119


Add support for windows.

Normally explorer.exe always returns 1 since the built-in variable ERRORLEVEL is used for error checking.
To correct this into the expected return code behavior the process is started through PowerShell.

Thank you for this PR! I refactored the code a bit and added support for windows in the README.
One question: Does this work also in the WSL? I can‘t try it out on my own, because i only have a Mac with a Windows VM and WSL is not supported there.

WSL looks like it works too. Their implementation xdg-open seems to forward things to the correct windows application.

thanks for testing! Then I will now merge this PR 👍

@Chemiseblanc Why do you use explorer.exe here? (The final result is powershell.exe start explorer.exe ...)
but explorer.exe is Windows Explorer, not a browser program.


impressionist not work in rails 5

Hello
impressionist gem not work in rails 5
any update to rails  5 ?

I just updated the gem and pushed a new version.  Can up update the gem in your app and see if it works now?  There is one other pull request to allow better compatibility with rails 5 that I will be merging in the next day or 2 if this latest version doesn't fix it for you.

@johnmcaliley  Thanks for reply
I tested new version but still not work
Controller :
def show
   @video = Video.find(params[:id])
   impressionist(@video)

Model :
  # include Impressionist::IsImpressionable
  is_impressionable :counter_cache => true, :column_name => :views

Views :
<%= impressionist_count(:filter=>:ip_address) %>
or
<%= impressionist(:filter=>:ip_address).count %>
I got this error :
unknown attribute 'params' for Impression.
I used this gems :
gem 'friendly_id'  # Just for save title slug in database
gem "acts_as_hashids" # for unique IDs

Hi,
I am also having this issue think it has to do something with the new update not sure. This was working fine before.

@johnmcaliley  any update  !?

Hi, I have same issue, unknown attribute 'params' for Impression. :/

I'm looking into this today.  Is everyone seeing the issue with postgres or are you seeing it with other DBs like mysql?

I see what the problem is now.  One of the pull requests I merged added a new feature where a "params" column was added.  The pull request did not include a migration file for this, so if you are upgrading an existing app with the latest version of impressionist, then the new column will be missing from the Impressions table.  @rocket4ce I think the reason you are not seeing this from sqlite is probably because you regenerated the database.  For those of you having issues, you will need to create a new rails migration file and add this code to create the new column and index:
`
add_column :impressions, :params, :text
add_index :impressions, [:impressionable_type, :impressionable_id, :params], :name => "poly_params_request_index", :unique => false
end
`
Let me know if this solves it and I will figure out how to make it work seamlessly with the next upgrade.

@johnmcaliley that works, but I had to limit the  params index length, eg.
add_index :impressions, [:impressionable_type, :impressionable_id, :params], name: 'poly_params_request_index', unique: false, length: { params: 100 }

yep, works!

@johnmcaliley  Its works , thank you
Please merge it with master brunch

Is it possible that the latest update might've broken something in rails 4.2? my system says that it hasn't logged any impressions since 9/19?

@johnmcaliley please release new version

thanks  @johnmcaliley  its work now after

:+1:

@johnmcaliley +1

Rails 5 support has been added in v1.6.0
The problem with the missing column params has been described in an upgrade guide


add metrics

towards https://github.com/giantswarm/roadmap/issues/1809
this adds a metric containing info about dex app registrations

I tested this and it works fine. Example of a grafana table showing some of the labels:


use /etc/init.d/jenkins variant to provide multiple java options with quotes

To fix https://github.com/jenkinsci/docker/issues/193

I check that with command:
docker run -p 80:8080 -e JAVA_OPTS="-Duser.timezone=Europe/Kiev -Dhudson.model.DirectoryBrowserSupport.CSP=\"default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';\"" jenkins

And after launch, system properties were present at http://localhost/systemInfo.

This does not seem to properly handle CMD entries as when I pass "--httpPort=8080 --httpsPort=8443 --httpsKeyStore=/etc/ssl/jenkins.jks --httpsKeyStorePassword=jenkins" as the value for command in in a docker-compose.yml only port 8080 is accepting connections.

Thank you for this pull request! Please check this document for how the Jenkins project handles pull requests.

Thanks!

Thanks for the fix!


Internal compiler: first try find and use clang with version in postf…

…ix (clang-4.0)

autotest

This breaks our current CI environment.

Any clang version before 4.0 is strongly not recommended to use.

autotest


Feat: Add dojo events and migrate commands

Use #[dojo::event] instead of #[derive(starknet::Event)].
Update  sozo migrate commands on script.
Add move script.
Clean Files.

After this PR is merged, I can updated the hello-dojo tutorial

default_auth.sh need some path update too


Carthage fails

I'm trying to install using Carthage but it fails to build, when manually trying to build I get this error:
.../Carthage/Checkouts/Fusuma/Sources/FusumaViewController.swift:39:10: Method cannot be a member of an @objc protocol because the type of the parameter 3 cannot be represented in Objective-C

Solved! Just used this in my cartfile instead:
github "ytakzk/Fusuma" "master"

@douglas-srs I will close this.


Drop or extract pre-built distribution into separate project

What should we do?

[ ] Drop pre-built distribution
[ ] Consider to move it to a separate project (camunda-bpmn-js-prebuilt)
[ ] Update documentation accordingly

Why should we do it?
Not being used across the org while at the same time causing unnecessary compute time, and breaking our release process.

Unfortunately this is not an easy pick, as we'd need to revise our existing bundling strategy. Moving to backlog.


Callback on deserialization

A callback on deserialization for particular object would be very useful (e.g. events hooking). Could be easily achieved by either object implementing specific interface or by decorating method by attribute (e.g. OnDeserializedAttribute like in DataContractSerializer implementation)

Funny enough, @aspektxxx this is one of the first concepts I wanted out of a serializer.  Specifically, I wanted to be able to have callbacks for every item that was serialized/deserialized, as well as every property within.
Ironically, of course, I have put every feature but this. 😆  I will see what it will take to do so.

Alright @aspektxxx I have a rough draft of this feature put in place.  Check it out:
https://github.com/wojtpl2/ExtendedXmlSerializer/blob/0d4e90b767738c693655196a500d2f916e5d6c23/test/ExtendedXmlSerializer.Tests/ReportedIssues/Issue264Tests.cs#L13-L39
Essentially, you can register what I call a composer which can then use the decorator pattern to wrap the original calling serializer with your own serializer and modify the read/write process accordingly.
It's a little different from using attributes, but it should yield the same results.
Please take a look at it and let me know what you think. 👍

@Mike-EEE Thank you for looking into it. However, your proposal is not able to entirely[OnDeserializing] attribute. It is not possible for object to hookup to events of its properties down the tree. I need to hookup collection changed events, process them somehow and fire new events. This way I would need public method on each such object and go down the tree after deserialization.

Ah got it @aspektxxx ...  I have some further ideas around this but will not be able to get to them until next week.  Will check in around that time and see if we can further flesh this out.

Apologies for the delay on this.  I've got this on my radar for this weekend and next if needbe. 👍

Alright, @aspektxxx sketching this out further.  I've introduced IDeserializationAware:
https://github.com/WojciechNagorski/ExtendedXmlSerializer/blob/363b3a25227068c5411defe8eee99531363c2493/src/ExtendedXmlSerializer/ExtensionModel/Instances/IDeserializationAware.cs#L29-L36
You can see that it has three callbacks:

OnActivating: for when the instance has not been activated yet, and only the type is known.
OnActivated: for after when the instance has been activated, but before its contents have been deserialized.  Code executed here is basically like executing it in the class's constructor.
OnDeserialized: This is called when the instance's contents have been fully deserialized.

You can create your own implementation and then register it as shown here:
https://github.com/WojciechNagorski/ExtendedXmlSerializer/blob/363b3a25227068c5411defe8eee99531363c2493/test/ExtendedXmlSerializer.Tests/ReportedIssues/Issue264Tests.cs#L28-L79
If you like what you see so far I will continue with creating an ISerializationAware equivalent and look to finishing it up as such.

Oh, one thing to note is that OnActivated does not have a IFormatReader reader parameter.  Unfortunately due to the workflow it is not possible to pass this in without a lot of work, so I wanted to post here for feedback before going down that road.

Alright, I am feeling pretty good about this feature now.  I have essentially removed IDeserializationAware and have replaced it with ISerializationMonitor:
https://github.com/WojciechNagorski/ExtendedXmlSerializer/blob/544afa542d0721b9a832091e0c766a93b9e38ec1/src/ExtendedXmlSerializer/ExtensionModel/Instances/ISerializationMonitor.cs#L29-L44

OnSerializing: Called when the serialization process begins on an instance.
OnSerialized: Called when the serialization process finishes on an instance.
OnDeserializing: The first stage of the deserialization process.  This is called at the point when the deserialization process has started on a particular type and has not been activated/created yet.
OnActivating: for when the instance has not been activated yet, and only the type is known.
OnActivated: for after when the instance has been activated, but before its contents have been deserialized.  Code executed here is basically like executing it in the class's constructor.
OnDeserialized: This is called when the instance's contents have been fully deserialized.

Sample code demonstrating this use can be found here:
https://github.com/WojciechNagorski/ExtendedXmlSerializer/blob/544afa542d0721b9a832091e0c766a93b9e38ec1/test/ExtendedXmlSerializer.Tests/ReportedIssues/Issue264Tests.cs#L28-L123
Note that you can establish a global/default monitor that monitors each and every type that is de/serialized by the serializer.  If you use one, this should be defined first:
https://github.com/WojciechNagorski/ExtendedXmlSerializer/blob/544afa542d0721b9a832091e0c766a93b9e38ec1/test/ExtendedXmlSerializer.Tests/ReportedIssues/Issue264Tests.cs#L77
And you can also monitor a specific type with its own monitor:
https://github.com/WojciechNagorski/ExtendedXmlSerializer/blob/544afa542d0721b9a832091e0c766a93b9e38ec1/test/ExtendedXmlSerializer.Tests/ReportedIssues/Issue264Tests.cs#L109-L110
If there are no objections/feedback to the current design I will aim to push this out sometime next week.

@Mike-EEE I did a quick testing today and it looks great! However, I'm getting the OnDeserialized callback twice for some objects. Not where is the issue. Will take a look at it tomorrow and let you know.

Cool!  Glad to hear that, @aspektxxx. Yeah it's a rough draft so it's expected to be, uh, rough in some areas. 😆  It's probably related to your object graph/model which is undoubtedly more involved than the tests that I have constructed.  If you can provide a quick reproduction with some code it would be greatly appreciated. 👍

This has finally been deployed to nuget:
https://www.nuget.org/packages/ExtendedXmlSerializer/
Please let us know if you run into any issues by opening a new ticket as this is the feature issue.  Closing for now.


Add Sonic Blaster x KSI by Tryhardinduck

Song Name
Sonic Blaster x KSI
Artist Name
Tryhardinduck
Source
Youtube
Youtube Link
imA5deFcbR4
Direct File Link
No response
Song ID
574484
Start Offset [ms]
0
Extra
Sonic wave, sonic wave infinity, sonic wave rebirth, auditory breaker, generic wave

Could you guys add this?


Indicator

@holysin I started a new fork combining a bunch of proposed changes from the PR's I saw here on https://github.com/Bersaelor/AlertToast .
There hasn't been any merge recently, and I wanted to use AlertToast more, so you're welcome to update your PR and make one to my forks main branch !


New Relic integration and LOGS_REDACTION changes

Add documentation to the new integration with New Relic.
Update docs with the deprecation of specific LOGS_REDACTION variables (SPLUNK_ and DATADOG_) and use of the generic one LOGS_REDACTION.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Matheus Svolenski seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi @msvolenski, could you sign the CLA it's flagging please? Otherwise I think we're all set to merge this next week.


zfp/types.h header is not C++ safe

When trying to use the zfp library for a C++ project, we have encountered a warning regarding the use of the __STDC_VERSION__ macro at the very beginning of the zfp/types.h header file. The problem is that the g++ compiler does not define this macro, because it considers itself to be a C++ and not a C compiler, as pointed out in the documentation in https://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html:

This macro is not defined if the -traditional-cpp option is used, nor when compiling C++ or Objective-C.

According to the C++ standards, it is perfectly legit for a C++ compiler to leave __STDC_VERSION__ undefined.
Therefore, you should at least check whether __STDC_VERSION__ is defined first. Also, you might consider preceding this by an #if block that checks for __cplusplus >= 201103L, which would indicate a C++11 conforming implementation that offers the cstdint header along with the necessary typedefs, which you could use in analogy to the C99-conforming case.
And furthermore, in lines 62 and 67 of zfp/types.h, you are using #elif ZFP_LP64 instead of #elif defined(ZFP_LP64), which also leads to at least one warning regarding undefined macros.

Let me make sure I understand the issue better.  The C and C++ standards guarantee that any undefined macros are replaced with 0:

After all replacements due to macro expansion and the defined unary operator have been performed, all remaining identifiers are replaced with the pp-number 0, and then each preprocessing token is converted into a token.

(See C90/6.8.1, C99/6.10.1, C++98/16.1.)  Thus, if __STDC_VERSION__ is undefined, then __STDC_VERSION__ >= 199901L is expanded to 0 >= 19901L, which evaluates to false, as intended.  Is your concern that some compilers may issue a warning in spite of perfectly legal and idiomatic code?
You make a good point about C++11.  zfp itself is written in C, but it's of course possible that types.h gets included in a C++ file.  I will add appropriate code to handle the C++ case.

Sorry for the delayed reply, but we have been quite busy the past few days. I have talked to my colleague who has tested your fix and the g++ compiler has successfully stopped issuing warnings now. Thank you very much for your effort.
PS: Do you have an anticipated release date for the version 0.5.6 source tarball?

I'm hoping we'll roll out 0.5.6 in the next couple of months.  I unfortunately do not have a more precise date than that.


Using the entity within the getToolbarButtons function

Hi there, I'm trying to push a button with a value from the entity and the current entity ID but it seems as if getToolbarButtons is called before the entity is loaded therefor the entity is always null when the button is pressed by the user.
Would it be possible to point me in the right direction? I'm fairly new to typescript but have good amount of C# experience.
getToolbarButtons Function:
    getToolbarButtons() {
        var buttons = super.getToolbarButtons();
        if (this.entity != null) {
            buttons.push(BusinessManagement.Common.StatusHelper.createAcceptStatusButton({
                title: 'Accept',
                cssClass: 'accept-button',
                entityID: this.get_entityId(),
                currentStatus: this.entity.StatusId
            }));
            buttons.push(BusinessManagement.Common.StatusHelper.createDeclineStatusButton({
                title: 'Decline',
                cssClass: 'decline-button',
                entityID: this.get_entityId(),
                currentStatus: this.entity.StatusId
            }));
        }
        return buttons;
    }

Yes it runs before an entity is loaded. You should handle entity dependent operations in on click event, so better call your handlers acceptStatusClick etc. passing entity on click, or do it like it is done with ReportingHelper create button sample, e.g. one in order dialog.

Thank you volkanceylan, just the answer I needed!


Setting up the NixOS guest as a builder results in a panic in the SSH proxy

Describe the bug
Trying to set up a virtual nixos host as a builder results in a panic when connecting, presumably because the build is run as another user than my own without the HOME environment set.
To Reproduce
I added the following to /etc/ssh_config:
Host orb
  Hostname <IP_ADDRESS>
  Port 32222
  # SSH user syntax:
  #   <container>@orb to connect to <container> as the default user (matching your macOS user)
  #   <user>@<container>@orb to connect to <container> as <user>
  # Examples:
  #   ubuntu@orb: container "ubuntu", user matching your macOS user
  #   root@fedora@orb: container "fedora", user "root"
  User default
  IdentityFile /Users/bouke/.orbstack/ssh/id_ed25519
  ProxyCommand '/Applications/OrbStack.app/Contents/Frameworks/OrbStack Helper (VM).app/Contents/MacOS/OrbStack Helper (VM)' ssh-proxy-fdpass
  ProxyUseFdpass yes

Then I'm trying to run a build with root@nixos@orb set up as a nix 'remote builder`. Running the build causes the following error:
cannot build on 'ssh://root@nixos@orb': error: failed to start SSH connection to '//root@nixos@orb': panic: $HOME is not defined

goroutine 1 [running]:
github.com/orbstack/macvirt/vmgr/conf/coredir.HomeDir(...)
    github.com/orbstack/macvirt/vmgr/conf/coredir/coredir.go:20
github.com/orbstack/macvirt/vmgr/conf/coredir.AppDir()
     github.com/orbstack/macvirt/vmgr/conf/coredir/coredir.go:26 +0x8c
github.com/orbstack/macvirt/vmgr/conf.AppDir(...)
    github.com/orbstack/macvirt/vmgr/conf/dir.go:31
github.com/orbstack/macvirt/vmgr/conf.RunDir()
 github.com/orbstack/macvirt/vmgr/conf/dir.go:35 +0x1c
github.com/orbstack/macvirt/vmgr/conf.DockerSocket(...)
  github.com/orbstack/macvirt/vmgr/conf/dir.go:106
main.init()
   github.com/orbstack/macvirt/vmgr/main.go:101 +0x354
mm_receive_fd: recvmsg: expected received 1 got 0
proxy dialer did not pass back a connection
Failed to find a machine for remote build!

Expected behavior
I expect the nix daemon to be able to connect to the VM

Omitting the ProxyCommand makes it work

I assume so, because it does have access to the private key.
Changing ProxyCommand to env HOME=/Users/bouke '/Applications/OrbStack.app/Contents/Frameworks/OrbStack Helper (VM).app/Contents/MacOS/OrbStack Helper (VM)' ssh-proxy-fdpass makes it work

Fixed for the next version.

Released in v0.15.0.


add client information for each session

Better to split to small PRs. And a new session subcommand should be more comprehensive than adding options to status.


upload to minio /s3 server directly？

Feature Description
is there a way for user to upload a lfs file directly to minio or s3 server after a batch request?
Screenshots
No response

Hi, currently. You can already set lfs backend as minio or s3 compatible server. See https://docs.gitea.com/next/administration/config-cheat-sheet?_highlight=confi#lfs-lfs
And then the files will be stored into minio/s3 after uploaded to Gitea endpoint. They cannot be sent to S3 directly because Gitea needs to store some meta information into database.


don't run

✖ Client
Compiled with some errors in 6.20s
WARN  Compiled with 1 warnings                                                                                friendly-errors 16:36:37
WARN  in ./node_modules/yargs-parser/index.js                                                                                friendly-errors 16:36:37
Critical dependency: the request of a dependency is an expression                                                                                friendly-errors 16:36:37
friendly-errors 16:36:37
ERROR  Failed to compile with 1 errors                                                                                friendly-errors 16:36:37
This relative module was not found:                                                                                friendly-errors 16:36:37
friendly-errors 16:36:37

../.postwoman/version.json in ./node_modules/babel-loader/lib??ref--2-0!./node_modules/vue-loader/lib??vue-loader-options!./layouts/default.vue?vue&type=script&lang=js&    friendly-errors 16:36:37
ℹ Waiting for file changes                                                                                16:36:38
ℹ Memory usage: 225 MB (RSS: 534 MB)                                                                                16:36:38

Instead of downloading the zip and starting the server, try cloning with https://github.com/liyasthomas/postwoman.git.
#327


Automatic publishing of new releases

I think it would be a nice feature to automatically publish a new version to maven on each merge. This could then reduce the toil for @timols to have to manually publish releases. I am not sure of best practices for automatic publishing, especially with regards to determining version bumps but that would be something that would need to be considered.

This would also eliminate the need to create issues like: https://github.com/timols/java-gitlab-api/issues/362, https://github.com/timols/java-gitlab-api/issues/289, https://github.com/timols/java-gitlab-api/issues/109, https://github.com/timols/java-gitlab-api/issues/80 among others.
@timols I can do some research and figure out if there is a good existing solution for an automatic release strategy, but I'm curious if you have any thoughts on this.

@rkpatel7 I'm onboard with this and definitely in favor. The release process for maven artifacts involves integrating with Sonatype Nexus, so might take some work but happy to share anything I've come across whilst maintaining this library.

Just out of curiosity: is the current release process using standard Maven release plug-in, or something else? If it's just that, I could help with making releases too (or show @rkpatel7 or others how it's done) -- all that is needed aside from repo push access is filing a ticket for Sonatype OSS repo, and current author supporting giving access.

I could help with making releases manually if automatic releasing of libraries is not a good idea, if it's easy to do so. But I am not sure I am ready to take on the role of a full maintainer (merging in pull requests, etc.).

I think regardless of automation we could start with manual: I am not necessarily opposed to automation, but I think it requires use of something like Travis, and non-trivial set up. Definitely doable, but I have not done it myself. So manual release could be the initial first step even if automating.


Collider rotation updating

Fixes #292
Should be working now, I split out the init_collider position setup into its own helper function, so it is easier to calculate.
This also cleans up the scaling update code. It was a bit fragile I think the way I did it originally.
https://github.com/dimforge/bevy_rapier/assets/5142292/37005178-7e16-4887-8451-4e051dd16bb1

Thanks!


Flow server dies after couple of minutes

Hi. When I try to run yarn flow in our project it have difficulties to start (it needs 3-5 attempts to start correctly), and even if it does it's going dead after checking files, so with each next check I have to wait for server to start again (and maybe fail again as well).
Also, sometimes if it launches correctly, it shows errors within dependencies from node_modules despite the fact that there are excluded in .flowconfig file.
Other people working in project don't have same issues, so it's definitely not an issue with codebase or .flowconfig.
flow-bin or glow are not installed globally.
❯ cat package.json | grep flow.bin
    "flow-bin": "^0.81.0",
❯ node -v
v9.11.2
❯ npm -v
5.6.0
❯ yarn -v
1.10.1

Logs from failed run:
❯ yarn flow
yarn run v1.10.1
$ flow
Launching Flow server for /Users/adamtrzcinski/Documents/GitHub/uhc-react-native
Spawned flow server (pid=90903)
Logs will go to /private/tmp/flow/zSUserszSadamtrzZcinskizSDocumentszSGitHubzSuhc-react-native.log
Monitor logs will go to /private/tmp/flow/zSUserszSadamtrzZcinskizSDocumentszSGitHubzSuhc-react-native.monitor_log
Launching Flow server for /Users/adamtrzcinski/Documents/GitHub/uhc-react-native
Spawned flow server (pid=91656)
Logs will go to /private/tmp/flow/zSUserszSadamtrzZcinskizSDocumentszSGitHubzSuhc-react-native.log
Monitor logs will go to /private/tmp/flow/zSUserszSadamtrzZcinskizSDocumentszSGitHubzSuhc-react-native.monitor_log
Launching Flow server for /Users/adamtrzcinski/Documents/GitHub/uhc-react-native
Spawned flow server (pid=92360)
Logs will go to /private/tmp/flow/zSUserszSadamtrzZcinskizSDocumentszSGitHubzSuhc-react-native.log
Monitor logs will go to /private/tmp/flow/zSUserszSadamtrzZcinskizSDocumentszSGitHubzSuhc-react-native.monitor_log
Launching Flow server for /Users/adamtrzcinski/Documents/GitHub/uhc-react-native
Spawned flow server (pid=93075)
Logs will go to /private/tmp/flow/zSUserszSadamtrzZcinskizSDocumentszSGitHubzSuhc-react-native.log
Monitor logs will go to /private/tmp/flow/zSUserszSadamtrzZcinskizSDocumentszSGitHubzSuhc-react-native.monitor_log
Lost connection to the flow server (0 retries remaining): \Out of retries, exiting!
error Command failed with exit code 7.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Content of /private/tmp/flow:
❯ pwd
/private/tmp/flow
❯ ls
zSUserszSadamtrzZcinskizSDocumentszSGitHubzSuhc-react-native.lock
zSUserszSadamtrzZcinskizSDocumentszSGitHubzSuhc-react-native.log
zSUserszSadamtrzZcinskizSDocumentszSGitHubzSuhc-react-native.log.old
zSUserszSadamtrzZcinskizSDocumentszSGitHubzSuhc-react-native.monitor_log
zSUserszSadamtrzZcinskizSDocumentszSGitHubzSuhc-react-native.monitor_log.old
zSUserszSadamtrzZcinskizSDocumentszSGitHubzSuhc-react-native.pids
zSUserszSadamtrzZcinskizSDocumentszSGitHubzSuhc-react-native.sock
zSUserszSadamtrzZcinskizSDocumentszSGitHubzSuhc-react-native.sockv2
zSUserszSadamtrzZcinskizSDocumentszSGitHubzSuhc-react-native.sockv3
flowlib_2b16641
flowlib_103dc333								flowlib_2b4beca6
...and 160 more flowlib_... files

Log:
❯ cat zSUserszSadamtrzZcinskizSDocumentszSGitHubzSuhc-react-native.log
[2018-10-17 12:41:04.271] argv=/Users/adamtrzcinski/Documents/GitHub/uhc-react-native/node_modules/flow-bin/flow-osx-v0.81.0/flow start --flowconfig-name .flowconfig --temp-dir /tmp/flow /Users/adamtrzcinski/Documents/GitHub/uhc-react-native
[2018-10-17 12:41:04.284] Initializing Server (This might take some time)
[2018-10-17 12:41:04.284] executable=/Users/adamtrzcinski/Documents/GitHub/uhc-react-native/node_modules/flow-bin/flow-osx-v0.81.0/flow
[2018-10-17 12:41:04.284] version=0.81.0
[2018-10-17 12:41:04.285] Parsing
[2018-10-17 12:41:10.977] Building package heap
[2018-10-17 12:41:11.174] Loading libraries
[2018-10-17 12:41:12.319] Resolving dependencies
[2018-10-17 12:41:14.721] to_merge: Focused: 867, Dependents: 0, Dependencies: 254
[2018-10-17 12:41:14.721] Calculating dependencies
[2018-10-17 12:41:14.726] Merging
[2018-10-17 12:41:23.712] Merge skipped 0 of 1121 modules
[2018-10-17 12:41:23.722] Done
[2018-10-17 12:41:23.722] Checked set: Focused: 867, Dependents: 0, Dependencies: 254
[2018-10-17 12:41:23.725] Server is READY
[2018-10-17 12:41:23.725] Took 19.440583 seconds to initialize.
[2018-10-17 12:41:23.726] Status: Error
[2018-10-17 12:41:23.726] /Users/adamtrzcinski/Documents/GitHub/uhc-react-native/.flowconfig changed in an incompatible way. Exiting.
/Users/adamtrzcinski/Documents/GitHub/uhc-react-native/.flowconfig changed in an incompatible way. Exiting.

Monitor:
❯ cat zSUserszSadamtrzZcinskizSDocumentszSGitHubzSuhc-react-native.monitor_log
Oct 17 12:41:04.241 [info] argv=/Users/adamtrzcinski/Documents/GitHub/uhc-react-native/node_modules/flow-bin/flow-osx-v0.81.0/flow start --flowconfig-name .flowconfig --temp-dir /tmp/flow /Users/adamtrzcinski/Documents/GitHub/uhc-react-native
Oct 17 12:41:04.241 [info] Creating a new Flow server
Oct 17 12:41:16.207 [info] File watcher reported 74854 files changed
Unable to obtain kernel buffer: Operation not permitted
usage: sudo dmesg
Oct 17 12:41:23.767 [error] Flow server (pid 93077) exited with code Flowconfig_changed (16)
Oct 17 12:41:23.768 [info] Monitor is exiting (Dying along with server)
Oct 17 12:41:23.768 [info] Broadcasting to threads and waiting 1 second for them to exit

(Both logs indicate that  flowconfig changed, but as I've mentioned, everyone else who's working on the project don't have those issues.)
Another thing is that sometimes flow creates a directory named Flow inside /Users/Library.
Edit: I've already read https://github.com/flowtype/flow-for-vscode/issues/224, https://github.com/flowtype/flow-bin/issues/104, https://github.com/facebook/flow/issues/5620, https://github.com/facebook/flow/issues/390, https://github.com/flowtype/flow-bin/issues/135, https://github.com/facebook/flow/issues/1428, https://github.com/facebook/flow/issues/6025, https://github.com/flowtype/flow-bin/issues/133, https://github.com/flowtype/flow-bin/issues/98, https://github.com/facebook/flow/issues/6424, https://github.com/facebook/flow/issues/6171.
No success :(

Same here.

Do you happen to be file syncing service like iCloud or dropbox?  I was able to resolve issue once I disabled that.

Any solution to this issue?

After seeing the same error for
[error] Connection 'server #1' was closed from the other side
Unable to obtain kernel buffer: Operation not permitted
usage: sudo dmesg

looking in the log folder linked by the npm run flow output showed:
version=0.141.0
No saved state available
Parsing
[flow serverWorker 4] File node_modules/map-or-similar/map-or-similar.min.gzip.js is malformed
[flow serverWorker 5] File node_modules/memoizerific/memoizerific.min.gzip.js is malformed

doing an npm ls on both of those packages showed them to be used by Storybook packages. Reinstalling or rolling back did not seem to help.
Based on @crotwell's post I figured this was a system problem.
Adding
<EMAIL_ADDRESS>
to my .flowconfig worked around the problem but is obviously not ideal.

The original issue doesn't produce much info for repro, and the issue is likely fixed.


Fix WDL import issues

#2931
There were two problems:

In WDLHandler.processImports, there is map of files that have been processed so that we don't process the same file more than once. The map key was just the filename, so if the same filename exists in more than one directory, the code would only process the first instance of the filename.
Once getting past that, there were issues resolving imports, particularly if a WDL file imported from a sub-directory relatively imported more WDL from the same sub-directory.

For the first issue, the key of the map is now the absolute path, so all files will get processed. The CWL code still works/expects a map with just the filename, so I changed the LanguageHandlerInterface.getContentto take a Set<SourceFile> instead of the Map<String, String>; that way each language implementation can internally construct their own Map for their needs.
For the second issue, MapResolver now has a string to resolve imports relative to.
Other notes

I committed the files from the workflow directly to the repo. It's a big one, but it might be good for other tests, and it simplifies the testing.
One test started to fail with these changes, DAGWorkflowTestIT.testComplexImportWdlWorkflow. However, running WOMTool validate standalone against the workflow also fails, so I think this is the correct behavior, and I updated the test to expect a failure.
There is a circular dependency with the CLI. Some tests are using the CLI which uses WDLBridge, which is in this project. Had to leave some old method signatures in there for the tests to run.

Confirm whether the intention was to review this as a develop fix (for 1.8) or a hotfix.
Proceeding with the former assumption (i.e. less paranoid)

Confirm whether the intention was to review this as a develop fix (for 1.8) or a hotfix.
Proceeding with the former assumption (i.e. less paranoid)

I'm not sure. Feature-wise, I think we'd like it released sooner than later. Risk-wise, it's a big change. I was hoping this review might help make a decision, but for now I went against develop

A few questions, should probably also test and/or check that we sufficiently check the GA4GH endpoints
https://dockstore.org/static/swagger-ui/index.html#/GA4GH/toolsIdVersionsVersionIdTypeFilesGet
and https://dockstore.org/static/swagger-ui/index.html#/workflows/getWorkflowZip in this edge case.

Whoops, overlooked this comment. Removing reviewers until I address

@coverbeck Maybe we test it over the next coming weeks and if it is stable we cherry pick to a hotfix

@coverbeck Maybe we test it over the next coming weeks and if it is stable we cherry pick to a hotfix

Could work, let's get this merged and out to staging

Ready for re-review

Re-requested review, as I have changed unit tests. I was able to run unit tests 4 times in a row without errors with the latest changes, whereas it was failing 50% of the time before.


QtCompat translate.

Hey guys, it's me again.
Think there's a bug when adding the translate function to QtCompat.
    _add(PySide2, "translate", lambda context, sourceText, disambiguation, n: (         QtCore.QCoreApplication(context, sourceText,                                 disambiguation, None, n)))
It should be 'QtCore.QCoreApplication.translate' right? Missing the translate...
If I change it I get an argument type error and I haven't dug into that...
Thanks for your time.

Yes, you ar right. It's really great you are pointing these things out; the --convert feature is in Alpha and will change and improve on exactly this type of feedback.
This looks like a typo to me; fixing it would be a matter of changing QtCore.QCoreApplication... to QtCore.QCoreApplication.translate....
I would be very happy to see a Pull request from you that fixes this, but let me know if you'd rather someone else does it and I'll make it happen.
Thanks again!

@mottosso At the time I cannot do a pull request since I get a an argument type error when adding '.translate'.
Didn't have any time to fix it yet on my side.

@mottosso Got something going on. I'm not setuped to run your tests so could you test it for me? If no I'll test it later this week.
Working in maya 2015 and 2017 (Pyside and Pyside2) Haven't tested it on PyQt4 or 5.
Would need someone to validate QCoreApplication::Encoding::CodecForTr is good. And if we need it for PyQt4.
https://github.com/BoubQC/Qt.py/commit/4435e55d2153a0077391d1563b46a8fb35b6a0be

That sounds great! When you make a pull-request, GitHub will run the tests for us and tell you of the results.


Pixel values inconsistency

I was getting different results by manipulating pixels values cross target.
Investigating it suggests that they actually differ based on target when the alpha value is not 0 or 255 (but lies in between).
Using this test https://gist.github.com/azrafe7/1a7b22f271addf37ce9f/e6feb401d4b3c251fe1b7023ce552f2587d12c95 to dump pixel values of images like this one:

resulted in
// FLASH
bytearray [85248]:  08DFBF9F 1300D7AE 38FAC889 4A00CF8A 6DFCD59D B5FDE2C1 C0FEE6C6 C1FDE4C6 BDFDE6C5 B4FCE4C2 A5FDE0BC 81FDD7A8 7200D4A1 55FCCF90 18F4B560
vector    [21312]:  08DFBF9F 1300D7AE 38FAC889 4A00CF8A 6DFCD59D B5FDE2C1 C0FEE6C6 C1FDE4C6 BDFDE6C5 B4FCE4C2 A5FDE0BC 81FDD7A8 7200D4A1 55FCCF90 18F4B560

// CPP
bytearray [85248]:  08FFDFBF 1304DCB4 38FFCD8D 4A00D08B 6DFED69E B5FFE5C3 C0FFE7C7 C1FFE6C8 BDFFE8C7 B4FEE5C4 A5FFE1BE 81FFDAAA 7200D7A2 55FED192 18FFBF6A
vector    [21312]:  08FFDFBF 1304DCB4 38FFCD8D 4A00D08B 6DFED69E B5FFE5C3 C0FFE7C7 C1FFE6C8 BDFFE8C7 B4FEE5C4 A5FFE1BE 81FFDAAA 7200D7A2 55FED192 18FFBF6A

// NEKO
bytearray [85248]:  FF272625 FF1E2E2B FF514638 FF17533F FF7F6E56 FFBEAC94 FFC8B69E FFC9B69F FFC5B49C FFBDAB94 FFB09D86 FF917E66 FF12725A FF6A5B46 FF352F27
vector    [21312]:  FF272625 FF1E2E2B FF514638 FF17533F FF7F6E56 FFBEAC94 FFC8B69E FFC9B69F FFC5B49C FFBDAB94 FFB09D86 FF917E66 FF12725A FF6A5B46 FF352F27

It seems that neko sets them to full alpha and dims/interpolates the rgb, while cpp is slighlty off in respect to flash, but retains the same alpha.
Maybe this post http://stackoverflow.com/questions/24987165/sdl2-sdl-image-strange-png-behavior-with-rgb-values can lead into the right direction.
EDIT: I must add that another quirk affects how pixel with 0 alpha are treated. For a pixel with value 0x00202020 flash is reporting it as 0x00000000 (masking out the rgb), while neko and cpp will leave the rgb unchanged. This may or may be not what the user expects.
Tested on Win7:
openfl 2.0.0
lime 1.0.1

Original issue resolved, if you have specific cases where pixel manipulation is too slow don't hesitate to open a new issue.
Late, but if you still want to look behind the scene all of openfl's function are coded in lime and a BitmapData uses a lime Image.


Dell.command monitor 10.9.1 dba37 be08 af202

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/112475&drop=dogfoodAlpha

Can you help us elaborate issues in Installer Validation ?

Automatic Validation ended with:

Standard error:  Installation failed with exit code -1978335226
2023-07-19 03:10:32.884 [CLI ] ShellExecute installer failed: 1

Despite the installer query showing /s as the switch to use, it gives a 1 exit code.
Dell Command | Monitor, <IP_ADDRESS>, A00

General Usage:
Dell-Command-Monitor_XYDW7_WIN_<IP_ADDRESS>_A00_02.exe [/<option1>[=<value1>]] [/<option2>[=<value2>]]...
See listing below for <option> and <value> information.

NOTE:If the folder name contains space, double quotes should be given for folder name
EXAMPLE:/s /e="c:\Folder Name"

Option - Description:
---------------------
(none) - Display of graphical user interface for guided installation/update or extraction.

/? or /h - Displays this  Update Package usage information.

/s - Suppresses all graphical user interfaces of the  Update Package.

/e=<path> - Extraction of update contents to a folder.
(NOTE: Requires /s option)

/passthrough ... - (Advanced) Sends all text following the /passthrough option directly to the vendor install software of the  Update Package. This mode suppresses any  provided graphical user interfaces, but not necessarily those of the vendor software.

/factoryinstall /passthrough (vendor command line parameter) - (Advanced) (commnad line parameters) will be passed to vendor installer directly without parsing MUP.xml. Post installation, If the vendor installer returns REBOOT_REQUIRED or REBOOT_UPDATE_PENDING, it will be turned to SUCCESS.

/l=<path> - Define a specific path for the  Update Package log file.
(NOTE: This option can NOT be used in combination with /passthrough)

Example(s):
---------------------
Update the system silently
Dell-Command-Monitor_XYDW7_WIN_<IP_ADDRESS>_A00_02.exe /s

Extract the update contents to the folder C:\mydir\
Dell-Command-Monitor_XYDW7_WIN_<IP_ADDRESS>_A00_02.exe /s /e=C:\mydir

Pass command line arguments directly to vendor installer.
Turn the return code to success if required
Dell-Command-Monitor_XYDW7_WIN_<IP_ADDRESS>_A00_02.exe /factoryinstall /passthrough D:\Sample.xml C:\log\FI.log

Change from the default log location to C:\my path with spaces\log.txt
Dell-Command-Monitor_XYDW7_WIN_<IP_ADDRESS>_A00_02.exe /l="C:\my path with spaces\log.txt"

Can you help us elaborate issues in Installer Validation ?

The silent installer option is removed for this exe, installer GUI will be displayed once exe is triggered.

Automatic Validation ended with:

Added /s for silent installation in manifest and validated locally on my side.

[Policy] Blocking-Issue

Why is this PR in Block state, how can I resolve this Blocking-issue ?


Linux, C++, shared libary: Create shared library using Tesseract

I already posted this on stackoverflow but it was suggested to look here for help.
I want to build a shared object/shared library to be used by an executable later on.
It should be noted, that, provided the exact same files, I can create the shared object via CMake.
However, I want to create it for further use, understanding and expansion, with my own makefile.
I have a directory with my own *.cpp as well as the corresponding *.h files. All the files are located in the same directory as my makefile (-I.):
#makefile to create shared library w/o executable from own headers and tesseract

CC = g++

INCL = -I. -I/usr/include/tesseract/ -I/usr/include/leptonica/

CFLAGS= -Wall -g -c -fPIC

LDFLAGS = -shared

LIBS = libtesseract.a liblept.a

RM = rm -f

TARGET_LIB = libTargetLib.so

SRCS = *.cpp
OBJS = $(SRCS:.cpp=.o)

.PHONY: all
all: ${TARGET_LIB}

$(TARGET_LIB): $(OBJS)
        $(CC) $(LDFLAGS) $(INCL) -Wl,-rpath=/usr/lib/x86_64-linux-gnu/ -o $(TARGET_LIB) $^ -L/usr/lib/x86_64-linux-gnu/ -llept -ltesseract

$(OBJS): $(SRCS)
        $(CC) $(CFLAGS) $(SRCS)

The library files to be linked, libtesseract.a and liblept.a are in the location /usr/lib/x86_64-linux-gnu, I doublechecked.
I am aware of this problem: ambiguous symbol File: tesscallback.h,  so I also commented out the correspondent lines in tesscallback.h (these are lines 275-278):
...
// Specified by TR1 [4.7.2] Reference modifications.
//template <class T> struct remove_reference;
//template<typename T> struct remove_reference { typedef T type; };
//template<typename T> struct remove_reference<T&> { typedef T type; };
...

When I run make, I get this error (tons of lines more):

In file included from /usr/include/tesseract/baseapi.h:34:0, from file1.h:16, from file1.cpp:4: /usr/include/tesseract/tesscallback.h:296:12: error: expected nested-name-specifier before ‘remove_reference’ typename remove_reference::type p1_; ^~~~~~~~~~~~~~~~ /usr/include/tesseract/tesscallback.h:296:12: error: expected ‘;’ at end of member declaration /usr/include/tesseract/tesscallback.h:296:28: error: expected unqualified-id before ‘<’ token typename remove_reference::type p1_; ^ /usr/include/tesseract/tesscallback.h: In constructor ‘ConstTessMemberResultCallback_1_0::ConstTessMemberResultCallback_1_0(const T*, ConstTessMemberResultCallback_1_0::MemberSignature, P1)’: /usr/include/tesseract/tesscallback.h:301:29: error: class ‘ConstTessMemberResultCallback_1_0’ does not have any field named ‘p1’ member(member), p1(p1) { } ^~~ /usr/include/tesseract/tesscallback.h: In member function ‘virtual R ConstTessMemberResultCallback_1_0::Run()’: /usr/include/tesseract/tesscallback.h:305:38: error: ‘p1’ was not declared in this scope R result = (object->*member_)(p1_); ^~~ /usr/include/tesseract/tesscallback.h:308:38: error: ‘p1_’ was not declared in this scope R result = (object_->member_)(p1_); ^~~ /usr/include/tesseract/tesscallback.h: At global scope: /usr/include/tesseract/tesscallback.h:326:12: error: expected nested-name-specifier before ‘remove_reference’ typename remove_reference::type p1_; ^~~~~~~~~~~~~~~~ /usr/include/tesseract/tesscallback.h:326:12: error: expected ‘;’ at end of member declaration /usr/include/tesseract/tesscallback.h:326:28: error: expected unqualified-id before ‘<’ token typename remove_reference::type p1_; ^ /usr/include/tesseract/tesscallback.h: In constructor ‘ConstTessMemberResultCallback_1_0::ConstTessMemberResultCallback_1_0(const T, ConstTessMemberResultCallback_1_0::MemberSignature, P1)’: /usr/include/tesseract/tesscallback.h:331:29: error: class ‘ConstTessMemberResultCallback_1_0’ does not have any field named ‘p1’ member(member), p1(p1) { } ^~~ /usr/include/tesseract/tesscallback.h: In member function ‘virtual void ConstTessMemberResultCallback_1_0::Run()’: /usr/include/tesseract/tesscallback.h:335:27: error: ‘p1’ was not declared in this scope (object->*member_)(p1_); ^~~ /usr/include/tesseract/tesscallback.h:337:27: error: ‘p1_’ was not declared in this scope (object_->*member_)(p1_);

The files file1.h and file1.cpp:
...
#include <tesseract/baseapi.h>
#include <leptonica/allheaders.h>
...

and
...
#include "file1.h"
...

The files file2.h and file2.cpp:
...
#include <tesseract/baseapi.h>
#include <leptonica/allheaders.h>
...

and
...
#include "file2.h"
...

Thank you so much for any help.

Environment

Tesseract Version:  4.00
Commit Number:
Platform: Ubuntu 18

Current Behavior:
Expected Behavior:
Suggested Fix:

Please respect guidelines for posting issue: use tesseract user forum for asking questions/support.


catalog: Remove deprecated EntitySystemDiagramCard - defer merge

Remove deprecated EntitySystemDiagramCard - Defer merging until after 2022-02-10 to allow time for deprecation.
This PR carries out the last task from issue https://github.com/backstage/backstage/issues/9060:

After at least two releases have gone by since the deprecation, completely remove the EntitySystemDiagramCard component. This can be done immediately with a PR that we don't merge until the desired date.

The deprecation itself has been done in PR https://github.com/backstage/backstage/pull/9066
What I've done:

Removed EntitySystemDiagramCard code
Built api report which removed EntitySystemDiagramCard from the api report markdown file.
Built the docs to verify that that the EntitySystemDiagramCard page has been removed in my local docs microsite (http://localhost:3000/docs/reference/plugin-catalog.entitysystemdiagramcard now returns an error as expected:
"Cannot GET /docs/reference/plugin-catalog.entitysystemdiagramcard")
Created a changeset, marked with MINOR and *** BREAKING *** as code has been removed.
Replaced the EntitySystemDiagramCard on docs page https://backstage.io/docs/plugins/integrating-plugin-into-software-catalog with a EntityCatalogGraphCard.

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[x] Added or updated documentation
[x] N/A Tests for new functionality and regression tests for bug fixes
[x] N/A Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Sorry for the force push, I just had to fix the missing DCO sign-off in my last commit message.

Time to :shipit: !


Swarm Mode with Docker for Azure

Met somebody from Microsoft who might be sending a PR on this for the Java workshop


Nutanix Interview Process

Thank you so much for you PR 🥇. It's the first PR of this project 😎
Really Appreciate 👏

@ReverseDev Thank you so much for you PR 🥇. It's the first PR of this project 😎
Really Appreciate 👏

This is a very nice Project @kamleshchandnani . Will help a lot of people for sure.


fix(query): use nil to skip optional parameters when calling the iter_matches method

https://github.com/nvim-neotest/neotest/pull/450 sometimes breaks test parsing behavior after changing directories, because we're passing _ instead of a nil value to the iter_matches function.
This PR fixes the problem.

Thank you :smile:


To Define Viewpoint SPV05a - Physical Interface Definition

Please specify the viewpoint Physical Interface Definition (SPV05a)
Assumed priority: highest
Acceptance Criteria:

viewpoint page (*.md) is available under /GfSE/SAF-Specification/tree/main/developing-saf/viewpoints
page includes at least concern, presentation, concept and profile
maturity is in state released

created https://github.com/GfSE/SAF-Specification/blob/main/developing-saf/viewpoints/Physical-Interface-Definition-Viewpoint.md
Concerns und Stakeholder
Are missing, please elaborate concerns with rationale and stakeholders.
Conzept
Was already available, reviewed it and put it into viewpoint spec. It is similar to the conceptual interface definitions
Example
Added preliminary Example Diagram with some notes to FFDS Model, we'll strip it down when the viewpoint is stable.
Applicability
Is based on SE HB 5. Contains also reference to method chapter.

Parallel interface concept is good (e.g. for several domain specialists). However, increased traceability effort assumed ...
Is there a need for an additional and separat stereotype to highlight an interface identification ("ARDUINO MEGO R3 Interface Design") as per ISO15288? This would avoid the impression that a nesting is recommended ...
Using proxy ports in the physical domain implies that no real-world interfaces such as sockets, valves or mechanical hooks are not part of any BOM? Is the concept to establish separate physical elements with the interfaces assigned (as recommended by MBSE4U)?
Stakeholder: all domain experts w/ Safety Specialist should be mentioned here (assuming specialists for hydraulics etc are covered by hardware ...).

I believe we have 2) covered.
3): we should use only Proxy Ports, and only Blocks for specification of parts.
If one wants to generate BOM from model, they could dump also the ports and types.
We could support this by linking an engineering discipline to ports, but users could get a similar result by superclassing the interface blocks and dumping that selectively to BOM.
The same pattern can be applie to blocks. By that we could get rid of the hardware/ software block stereotypes and leave this classifcation to framework users.
But we should standardize the stereotype the discipline super blocks get.

imo the vp is good enough.
there is a proposal for more concerns in the dev documentation, we can merge that in later.


[DRAFT] onlyoffice-documentserver-bin: init at 6.4.0

Motivation for this change
Adding onlyoffice-documentserver, fixes https://github.com/NixOS/nixpkgs/issues/132815 . Package contains server binaries to run Onlyoffice-Documentserver and all of its components.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

@SuperSandro2000 The binary package contains an executable which is compiled by "pkg" https://github.com/zeit/pkg
I used this fix trying to make it executable on NixOS: https://github.com/brendan-hall/nixpkgs/blob/e3b313bb59f49f10970205aafd44878d35da07e7/pkgs/development/web/now-cli/default.nix
It states:
    # now is a node program packaged using zeit/pkg.
    # thus, it contains hardcoded offsets.
    # patchelf shifts these locations when it expands headers.

When I try to run the onlyoffice file, I get a slightly different error message:
$ docservice
pkg/prelude/bootstrap.js:1
204,"size":325,"isFileValue":true,"isDirectoryValue":false}��������
          ^

SyntaxError: Unexpected token :
    at new Script (vm.js:84:7)
    at readPrelude (internal/bootstrap/node.js:238:17)
    at internal/bootstrap/node.js:245:22
    at internal/bootstrap/node.js:252:8
    at startup (internal/bootstrap/node.js:253:6)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:660:3)

@brendan-hall

@tesq0 Could you help out with patching the docservice binary which is also packaged with zeit/pkg? I haven't success yet with the patch-function unity3d is using :(

Thanks you for the work, but is it possible to build from source? For later patches e.g.


Can't see all compendiums

There is a closed issue about this topic, but despite using find the culprit and disabling all modules except for this one, I still can't scroll to see all compendiums.
https://gyazo.com/5be212fc884cd809f8adeb072eba2e3a

Oops, it seems I somehow broke this again! I will look into it, thanks!

Can you check just in case if you are in fact seen all compendiums ? I tried on my server where I have the latest version deployed and I noticed the last one looks cut, but its Actually the last one.

could you try running this on the console: game.packs.filter(p => p.documentName == "Item").forEach(p => console.log(p.title)) - that should show the names of all the Item packs (and if the last one you see matches the one cut in half in the screenshot, you should be good to go)
Just trying to make sure if this is a fully breaking-bug for someone or its just a visual stuff I can prioritize after V9 migration.

Hey, I took a second look at it, and you're right, it's just the last one being cut off.
Sorry for the misunderstanding, and good luck with the migration! I can totally deal with a little bit of cut off text haha.

Np! thanks for reporting it anyway, it should not look like this after all! hahah

Should be taken care on 1.5.0 release! (just a heads up, 1.5.0 is NOT compatible with foundry 0.8.x, so unless you have a v9 test environment you should not be able to install/update it just yet)


Video on how to add the data pack for fuel configuration

Really confusing trying to get it to work and almost nothing on the internet

Have a file that looks like this
data/createdieselgenerators/diesel_engine_fuel_types/milk.jsonmilk.json
{
  "fluid": "#forge:milk",
  "sound_speed": 8,
  "normal": {
    "speed": 16.0,
    "strength": 1024.0,
    "burn_rate": 2
  },
  "modular": {
    "speed": 16.0,
    "strength": 1024.0,
    "burn_rate": 2
  },
  "huge": {
    "speed": 8.0,
    "strength": 1024.0,
    "burn_rate": 3
  }
}

The data folder is as a datapack or if you have kubejs, their data folder acts as a datapack too so
kubejs/data/createdieselgenerators/diesel_engine_fuel_types/milk.json

The documentation is here
https://github.com/george8188625/Create-Diesel-Generators/wiki/Customization#adding-custom-fuel-types

@george8188625 I added a link to the wiki in the readme if you want
https://github.com/george8188625/Create-Diesel-Generators/pull/57

Thank you for your help kubejs was a big help

How do you tell what the #forge part for different mods

Mainly Create:The Factory Must Grow

#forge:gasoline is a fluid tag, mods should use these tags when they are making stuff like this, tags are like groups of fluids and mods should add their fluids to these tags, createdieselgenerators:gasoline is a specific fluid from a mod

@ChiefEhoy19 if you check the fluid id that they are using, you can put it there without the #

@ChiefEhoy19 if you check the fluid id that they are using, you can put it there without the #

All it was is was tfmg:diesel thanks for the help


Consider Adding Compile Time if / else

This is probably a requirement for supporting code on different platforms. Need to consider if a regular if inside compile time execution context can satisfy all the use cases or it is not enough / too awkward to use.

I can see the following use cases for compile-time ifs:

Conditionally running code at top level. This works thanks to compile time eval:if 1 { do_stuff() }

Changing the value of a definition. Since any static definition also uses compile time eval this works:TEST :: if CONDITION then 42 else 1000

The most tricky case is conditional definition, but it can be achieved using a combination of using and @scope:using if CONDITION then {
  TEST :: 42
  @scope
} else {
  TEST :: 1000
  @scope
}

It might be nice to have better syntax for case 3 but it is good enough and the user can always define a macro.
Given this, closing the issue.