Errors Opening Numbers Panel

Running on unstable branch on Steam, unsure if this is true on live. Make New Game, only Harmony, Core, Royalty, Numbers. The log fills with these three errors.
_Exception filling window for Numbers.MainTabWindow_Numbers: System.MissingFieldException: Field 'Verse.HealthUtility.DarkRedColor' not found.
at (wrapper dynamic-method) RimWorld.PawnTable.DMD<DMD<PawnTableOnGUI_Patch0>?389450368::PawnTableOnGUI_Patch0>(RimWorld.PawnTable,UnityEngine.Vector2)
at RimWorld.MainTabWindow_PawnTable.DoWindowContents (UnityEngine.Rect rect) [0x00027] in <8028161dce2f4d84aceaffcaea7b01ff>:0
at Numbers.MainTabWindow_Numbers.DoWindowContents (UnityEngine.Rect rect) [0x003c1] in <33d2e6fa131c457b96140df2c637cc9e>:0
at Verse.Window.InnerWindowOnGUI (System.Int32 x) [0x00165] in <8028161dce2f4d84aceaffcaea7b01ff>:0
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)
GUI Error: You are pushing more GUIClips than you are popping. Make sure they are balanced.
(Filename: C:\buildslave\unity\build\Modules/IMGUI/GUIClip.cpp Line: 580)_
Mouse position stack is not empty. There were more calls to BeginScrollView than EndScrollView. Fixing.

This was just fixed on unstable.


[feature requests] support utf-8 characters in feature name

Do not support non-ascii characters in feature name ?
Could you please consider backward compatibility ?
I use xgboost and catboost and sklearn at the same time, only lightgbm has encoding compatibility problems...
thx

I guess the feature_name function in xgb/cat is maintained in python-side, so it is easy for utf8 encoding.  But this requires the different implementation in each language package, and different model save/load solution.
In LightGBM, it is maintained in cpp side, and save in model file, and thus is hard for utf8.
If we want to support the utf-8 feature name, the model save/load logic may change, and cause more backward compatibility problems.

A workaround is to save an additional file for features name, and force its name to ,<model_file_name>+".fn". And that the encodnig of that file could be utf-8, and autoload by python/R itself when loading the model file, not by cpp.

Could lightgbm automatically replace and restore utf8 feature names in python/R side, before and after cpp part ?  or maintain feature transformation in python/R, support utf8 indirectly ? transformation dict can also written to model file

@OnlyFor I am not familiar with the string encoding, but I think that is not trivial.
Maybe we can use something like base64 to decode and encode for feature names.

@guolinke Encoding feature names will hurt the model file readability for humans, I guess.

@guolinke Should this issue be included in #2302?

https://github.com/dmlc/xgboost/pull/4937#issuecomment-541330515.

@guolinke WDYT https://github.com/microsoft/LightGBM/issues/2478#issuecomment-540021056?

Closed in favor of being in #2302. We decided to keep all feature requests in one place.
Welcome to contribute this feature! Please re-open this issue (or post a comment if you are not a topic starter) if you are actively working on implementing this feature.

Hello, every one I meet this error below,How can I solve it..
LightGBMError: Do not support non-ascii characters in feature name.

@PointCloudNiphon Hi!
For now, there cannot be any non-ASCII symbols in string model representation. So, you should simply rename your feature names before passing them into LightGBM.

Hello, every one I meet this error below,How can I solve it..
LightGBMError: Do not support non-ascii characters in feature name.
Bellow are my features. I can not find the ASCII character in my feature.
| ID | Name | Age | Photo | Nationality | Flag | Overall | Potential | Club | Club Logo | Value | Wage | Special | Preferred Foot | International Reputation | Weak Foot | Skill Moves | Work Rate | Body Type | Real Face | Position | Jersey Number | Joined | Loaned From | Contract Valid Until | Height | Weight | LS | ST | RS | LW | LF | CF | RF | RW | LAM | CAM | RAM | LM | LCM | CM | RCM | RM | LWB | LDM | CDM | RDM | RWB | LB | LCB | CB | RCB | RB | Crossing | Finishing | HeadingAccuracy | ShortPassing | Volleys | Dribbling | Curve | FKAccuracy | LongPassing | BallControl | Acceleration | SprintSpeed | Agility | Reactions | Balance | ShotPower | Jumping | Stamina | Strength | LongShots | Aggression | Interceptions | Positioning | Vision | Penalties | Composure | Marking | StandingTackle | SlidingTackle | GKDiving | GKHandling | GKKicking | GKPositioning | GKReflexes | Release Clause
How can I solve this?

@rajibrj43 Hi! Indeed, there are no any non-ASCII symbols in your feature names. And I cannot reproduce your issue - LightGBM trains just fine with those feature names.
import numpy as np
import lightgbm as lgb

feature_names_from_comment = "| ID | Name | Age | Photo | Nationality | Flag | Overall | Potential | Club | Club Logo | Value | Wage | Special | Preferred Foot | International Reputation | Weak Foot | Skill Moves | Work Rate | Body Type | Real Face | Position | Jersey Number | Joined | Loaned From | Contract Valid Until | Height | Weight | LS | ST | RS | LW | LF | CF | RF | RW | LAM | CAM | RAM | LM | LCM | CM | RCM | RM | LWB | LDM | CDM | RDM | RWB | LB | LCB | CB | RCB | RB | Crossing | Finishing | HeadingAccuracy | ShortPassing | Volleys | Dribbling | Curve | FKAccuracy | LongPassing | BallControl | Acceleration | SprintSpeed | Agility | Reactions | Balance | ShotPower | Jumping | Stamina | Strength | LongShots | Aggression | Interceptions | Positioning | Vision | Penalties | Composure | Marking | StandingTackle | SlidingTackle | GKDiving | GKHandling | GKKicking | GKPositioning | GKReflexes | Release Clause"
feature_names = [i.strip() for i in feature_names_from_comment.split('|') if i]

X = np.random.random((100, len(feature_names)))
y = np.random.random((100,))

lgb.LGBMRegressor().fit(X, y, feature_name=feature_names)

So for now, I create and put a work-around for Python.
import types

# gbm is an instance of LGBMModel.
# you have feature_names
gbm.booster_._feature_names = feature_names
gbm.booster_.feature_name = types.MethodType(lambda self: self._feature_names, gbm.booster_)
# NOTICE: `pickle` can't dump `lambda`, so you can use `dill` or `cloudpickle`

In the future, I (or someone) will remake python-package to include feature_names in it (outside cpp).

Hello,
I have noticed this issue recently and I think the current behavior is not great,
howerver, I also agree with https://github.com/microsoft/LightGBM/issues/2478#issuecomment-536375659 and https://github.com/microsoft/LightGBM/issues/2226#issuecomment-502113232.
So for now, I create and put a work-around for Python.
import types

# gbm is an instance of LGBMModel.
# you have feature_names
gbm.booster_._feature_names = feature_names
gbm.booster_.feature_name = types.MethodType(lambda self: self._feature_names, gbm.booster_)
# NOTICE: `pickle` can't dump `lambda`, so you can use `dill` or `cloudpickle`

In the future, I (or someone) will remake python-package to include feature_names in it (outside cpp).

ok,I WILL HAVE A TRY,THANKS.
发自我的小米手机
在 OMOTO Tsukasa<EMAIL_ADDRESS>下午3:07写道：
So for now, I create and put a work-around for Python.
import types
gbm is an instance of LGBMModel.
you have feature_names
gbm.booster_.feature_names = feature_names
gbm.booster.feature_name = types.MethodType(lambda self: self.feature_names, gbm.booster)
NOTICE: pickle can't dump lambda, so you can use dill or cloudpickle
In the future, I (or someone) will remake python-package to include feature_names in it (outside cpp).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/LightGBM/issues/2478?email_source=notifications&email_token=AI2M6S7G522XOXGZAMD6Z4DQUI5MLA5CNFSM4I3VEC32YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEJNDYI#issuecomment-554881505, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AI2M6SZ57WGAIKA64FQFLOTQUI5MLANCNFSM4I3VEC3Q.

@henry0312 Can we mark this issue as resolved via #2976 or is it better to wait @jameslamb's PR for R part?

I believe that we can but It's better for us to wait for passing R tests because I'm not an expert in R.

I already created #2983 to capture the R-specific work @henry0312

Thank you @jameslamb ! Sorry, I didn't notice it. Then I'm putting a tick in our feature requests hub for this issue, because model file supports UTF-8 after #2976. R-specific progress will be tracked in your separate issue.

import lightgbm as lgb
train_data = lgb.Dataset(X_train, label=y_train)
test_data = lgb.Dataset(X_cv, label=y_cv)
param = {'objective': 'regression',
'boosting': 'gbdt',
'metric': 'l2_root',
'learning_rate': 0.05,
'num_iterations': 350,
'num_leaves': 31,
'max_depth': -1,
'min_data_in_leaf': 15,
'bagging_fraction': 0.85,
'bagging_freq': 1,
'feature_fraction': 0.55
}
lgbm = lgb.train(params=param,
verbose_eval=50,
train_set=train_data,
valid_sets=[test_data])
y_pred_lgbm = lgbm.predict(X_cv)
print('RMSLE:', sqrt(mean_squared_log_error(np.exp(y_cv), np.exp(y_pred_lgbm))))
i'm getting error:
LightGBMError: Do not support non-ASCII characters in feature name.

@Shubhammishra-21 please use the latest master branch.

Recode variables( names), with tildes, ...
symbols that are not allowed in the American language

I have got the error LightGBMError: Do not support special JSON characters in feature name. when using LightGBM 3.0 on a Windows 10 machine. It seems that issues with special characters were fixed with this release, but perhaps not on windows?

Do not support special JSON characters in feature name: how to use LGBM in columns with Russian names?
I have a train part of a dataframe with Russian names:
shop__56 | sub_type_Сумки, Альбомы, Коврики д/мыши | shop__46 | sub_type_Для дома и офиса (Цифра) | shop__49 | shop__58 | shop__37 | sub_type_Служебные | sub_type_CD локального производства | shop__22 | ... | shop__48 | sub_type_Артбуки, энциклопедии | sub_type_Подарочные издания | sub_type_PSN | shop_id | sub_type_CD фирменного производства | sub_type_DVD | sub_type_PSVita | sub_type_Комиксы, манга | sub_type_Дополнительные издания
-- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | --
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | ... | 0 | 0 | 0 | 0 | 6 | 0 | 0 | 0 | 0 | 0
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | ... | 0 | 0 | 0 | 0 | 41 | 0 | 0 | 0 | 0 | 0

And when I apply LightGBM on it, it rases the same issue:
---------------------------------------------------------------------------
LightGBMError                             Traceback (most recent call last)
<ipython-input-125-711fbc08b2b9> in <module>
     11                            min_split_gain=0.0222415,
     12                            min_child_weight=40)
---> 13 model_lgb.fit(X_train, y_train)

/opt/conda/lib/python3.7/site-packages/lightgbm/sklearn.py in fit(self, X, y, sample_weight, init_score, eval_set, eval_names, eval_sample_weight, eval_init_score, eval_metric, early_stopping_rounds, verbose, feature_name, categorical_feature, callbacks, init_model)
    777                                        verbose=verbose, feature_name=feature_name,
    778                                        categorical_feature=categorical_feature,
--> 779                                        callbacks=callbacks, init_model=init_model)
    780         return self
    781

/opt/conda/lib/python3.7/site-packages/lightgbm/sklearn.py in fit(self, X, y, sample_weight, init_score, group, eval_set, eval_names, eval_sample_weight, eval_class_weight, eval_init_score, eval_group, eval_metric, early_stopping_rounds, verbose, feature_name, categorical_feature, callbacks, init_model)
    615                               evals_result=evals_result, fobj=self._fobj, feval=eval_metrics_callable,
    616                               verbose_eval=verbose, feature_name=feature_name,
--> 617                               callbacks=callbacks, init_model=init_model)
    618
    619         if evals_result:

/opt/conda/lib/python3.7/site-packages/lightgbm/engine.py in train(params, train_set, num_boost_round, valid_sets, valid_names, fobj, feval, init_model, feature_name, categorical_feature, early_stopping_rounds, evals_result, verbose_eval, learning_rates, keep_training_booster, callbacks)
    229     # construct booster
    230     try:
--> 231         booster = Booster(params=params, train_set=train_set)
    232         if is_valid_contain_train:
    233             booster.set_train_data_name(train_data_name)

/opt/conda/lib/python3.7/site-packages/lightgbm/basic.py in __init__(self, params, train_set, model_file, model_str, silent)
   2051                     break
   2052             # construct booster object
-> 2053             train_set.construct()
   2054             # copy the parameters from train_set
   2055             params.update(train_set.get_params())

/opt/conda/lib/python3.7/site-packages/lightgbm/basic.py in construct(self)
   1323                                 init_score=self.init_score, predictor=self._predictor,
   1324                                 silent=self.silent, feature_name=self.feature_name,
-> 1325                                 categorical_feature=self.categorical_feature, params=self.params)
   1326             if self.free_raw_data:
   1327                 self.data = None

/opt/conda/lib/python3.7/site-packages/lightgbm/basic.py in _lazy_init(self, data, label, reference, weight, group, init_score, predictor, silent, feature_name, categorical_feature, params)
   1149             raise TypeError('Wrong predictor type {}'.format(type(predictor).__name__))
   1150         # set feature names
-> 1151         return self.set_feature_name(feature_name)
   1152
   1153     def __init_from_np2d(self, mat, params_str, ref_dataset):

/opt/conda/lib/python3.7/site-packages/lightgbm/basic.py in set_feature_name(self, feature_name)
   1630                 self.handle,
   1631                 c_array(ctypes.c_char_p, c_feature_name),
-> 1632                 ctypes.c_int(len(feature_name))))
   1633         return self
   1634

/opt/conda/lib/python3.7/site-packages/lightgbm/basic.py in _safe_call(ret)
     53     """
     54     if ret != 0:
---> 55         raise LightGBMError(decode_string(_LIB.LGBM_GetLastError()))
     56
     57

LightGBMError: Do not support special JSON characters in feature name.

So how can I use LightGBM on this kind of features? Do I need to transform them to English column names?


Update honeywell somecomfort

Hmm, I guess I need to either exclude from coverage or test the eu honeywell ...


Unable to connect to mariadb when password contains characters '@#'

Describe the bug
Unable to connect to mariadb when password contains characters '@#'
To Reproduce
Steps to reproduce the behavior:
Connect to mariadb or mysql with a password containing '@#' e.g.
./dblab --driver mysql --host xyz.abc.db.skysql.net --user myuser --pass 5@klkbN#ABC--ssl enable --port 5001
or
./dblab --driver mysql --host xyz.abc.db.skysql.net --user myuser --pass '5@klkbN#ABC'--ssl enable --port 5001
Receive this error:
Error: Error 1045: Access denied for user 'redacted'@'redactedip' (using password: YES)
Expected behavior
Connects
Screenshots
If applicable, add screenshots to help explain your problem.
OS (please complete the following information):

MacOS BigSur 11.2.3

Hi @ManjotS. Sorry for the delayed response. I tried to reproduce the error you get, but I'm gettting another error using a similar set of flags. With the set flags provided, you should get another type of error:
 Error: Error 1046: No database selected

Looks like you're having a problem related to the permissions set on your database.  Can you add the database flag --db, please and see what happens?

I created and defined a table in a mysql docker container I was able to open a connection setting the provided credentials (myuser and 5@klkbN#ABC'). I ran out of ideas, if you have more information, don't hesitate to drop it in this discussion.

I'm clossing this because of the lack of response. If he problem persists, feel free to open a new issue.


Cannot run npm install with latest master branch version

Expected behavior
Sucessfully execution of npm install
Actual behavior
PS D:\Projects\GitHub> cd .\kitematic\
PS D:\Projects\GitHub\kitematic> npm install
npm ERR! Windows_NT 10.0.14352
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "ins
tall"
npm ERR! node v5.9.0
npm ERR! npm  v3.7.3
npm ERR! code EBADPLATFORM

npm ERR! notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>npm ERR! notsup Valid OS:    darwin,linux
npm ERR! notsup Valid Arch:  any
npm ERR! notsup Actual OS:   win32
npm ERR! notsup Actual Arch: x64

npm ERR! Please include the following file with any support request:

Steps to reproduce the behavior

npm install

'grunt-electron-installer-debian' and 'grunt-electron-installer-redhat' will not work with windows, so you can just remove those lines from the devDependencies section of your package.json.
Looks like those were added in the Ubuntu/Debian install merge - #1677 so that the gruntfile can use them.
Some googling reveals three ways to fix:

move the two packages to optional dependencies section in package.json (this already happens in the docker-modem and JSONStream packages - they optionally depend on 'chokidar/fsevents'
use a postinstall script and node 'os' to install the package based on the os type (however node would return 'linux' for both redhat and debian
expect new windows developers to simply delete the -debian and -redhat packages from package.json.

Any thoughts?
I submitted a PR #1723 - with option 1, but need a quick install and build test on debian and redhat to verify the gruntfile will still work.

@alexandrev sorry for breaking it, should've double-checked on windows - I'll fix it tomorrow

I believe most of these to be fixed in the latest Docker for Mac/Windows+Kitematic.


How to use with SwiftUI?

Can somebody tell me if it’s possible to use this library together with SwiftUI?
If yes, I would appreciate a brief example, thanks in advance!
I'm kinda getting stuck, when it comes to things like UIViewControllerRepresentable or to set the player it’s delegate due to the missing override function in a SwiftUI file.

any news?

I was working this week with swiftui and got almost a complete example. Have some stuff to figure it out yet.

would you share it maybe?

Sure, give a couple of hours and I upload to my repo what I have. Still needs work to do and some stuff I need to figure it out, but I think is a good start point.

Awesome, thanks a lot!

This is two screenshots of what I have today (dark and light theme) and the source in a zip file (more fast to share at the moment)
I am figuring out some stuff in SwiftUI yet, so suggestions and fixes are welcome
Maybe @fethica can help us creating a new brach.
Light Theme
https://azrockradio.com/wp-content/uploads/fradio/light.png
Dark Theme
https://azrockradio.com/wp-content/uploads/fradio/dark.png
Source
https://azrockradio.com/wp-content/uploads/fradio/FRadioPlayer-master-SwiftUI.zip

Very cool! I will check the code and add it to a new branch, thanks @urayoanm

Hey @fethica, @jaksatomovi:
I figure it out how to update the album artwork and metadata. Check this example better, I think you are gonna like it more.
It was all about the @ObservableObject and how to pass it around the views.
Check the FRadioPlayer_SwiftUIApp (the substitute of the App and Scene delegate).
The Station and Track model are shared from the main project.
Enjoy!
https://azrockradio.com/wp-content/uploads/fradio/FRadioPlayer-master-SwiftUI_2.zip

Very nice! I'll check the new implementation, thanks again @urayoanm

Your welcome @fethica

Hey @urayoanm, I checked the code, great work! Could you create a PR so we can merge it to the project and you get the credit for your work?
We can improve it more later :) Thanks!

Sure. Will do today. I got other nice changes:)

@fethica the pr id done.
Added forward and back to the controls and AirPlay button

Done! I checked the code everything looks good :) Thanks @urayoanm


Support for immutable structs

Please support immutable structs out of the box.
Today we have mutable struct support:
var result = JsonConvert.DeserializeObject<MutableStruct>("{ \"Value\": \"working\" }");
var test = result.Value; // is "working" as expected

struct MutableStruct
{
    public MutableStruct(string value)
    {
        Value = value;
    }

    public string Value { get; set; }
}

And immutable class support:
var result = JsonConvert.DeserializeObject<ImmutableClass>("{ \"Value\": \"working\" }");
var test = result.Value; // is "working" as expected

class ImmutableClass
{
    public ImmutableClass(string value)
    {
        Value = value;
    }

    public string Value { get; }
}

It would be awesome to have immutable struct support. This currently fails at all levels of an object graph, not just the root:
var result = JsonConvert.DeserializeObject<ImmutableStruct>("{ \"Value\": \"working\" }");
var test = result.Value; // should be "working", but was null

struct ImmutableStruct
{
    public ImmutableStruct(string value)
    {
        Value = value;
    }

    public string Value { get; }
}

There is support but by default Json.NET will call the implicit default constructor on a struct. Adding an attribute to the constructor forces Json.NET to call it instead:
public struct ImmutableStructWithConstructorAttribute
{
    [JsonConstructor]
    public ImmutableStructWithConstructorAttribute(string value)
    {
        Value = value;
    }

    public string Value { get; }
}

So what's my recourse when I can't apply an attribute? I am not willing to reference Newtonsoft.Json or put persistence implementations in the class library where the model is defined.

Here's the most logical way I can think that resolver should work by default:

List each immutable constructor-initialized property. (I.e., properties that are not writable and that appear as a parameter in any constructor.)
List each constructor which initializes all the properties in the list from step 1 and where the remaining constructor parameters (if any) either are optional parameters or map to writable properties.
If there is exactly one constructor in the list from step 2, this is the only constructor that anyone would ever want to use. It is the only constructor which initializes all the immutable properties which could be initialized from any constructor.
If there are more or fewer than 1 candidate in the list, it is not clear which is better to use so no decision should be made.

Here's an implementation of this: https://gist.github.com/jnm2/df1355ad95b4da118c83ee711604cf62
Usage:
var result = JsonConvert.DeserializeObject<ImmutableStruct>("{ \"Value\": \"working\" }", JsonImmutableDeserialization.DefaultSettings());
var test = result.Value; // should be "working", but was null

@JamesNK What do you think? Does this make sense for Newtonsoft.Json in general?

Ok, I've done something similar https://github.com/JamesNK/Newtonsoft.Json/commit/b5f1b8319133ab63dcd155f12922c37a8c9b7185

This is awesome, thank you!

Seems related, don't you think JsonConvert.PopulateObject should have an overload that takes ref object?


help for the musicservice command shows placeholder

The help message for the musicservice command shows "describe the command here" instead of an actual description

That seems to be the description, in the command. Accepting PR 😉
https://github.com/svrooij/sonos-api-docs/blob/150768d6ebfab9159758b29f75f0118c81e8ad3f/generator/sonos-docs/src/commands/musicservices.ts#L8


Closed the bracket line 50

Fixed broken code by closing the bracket in line 50. Please merge

Thank you for submitting this PR, and well-done for completing the Git workshop!


Duplicate message IDs from XMPP can cause unintended edits in other channels

Describe the bug
When an XMPP stanza is received, the id in that message is stored in some fashion. If another message is received that has the same ID, the original message will be edited (if a destination channel supports message editing).
XMPP message IDs are intended to allow clients to tell messages apart, and their uniqueness is not enforced by servers. This allows a malicious XMPP client to edit another client's messages if the message IDs are known or otherwise predictable, or simply a buggy one to cause confusing behavior.
To Reproduce
Steps to reproduce the behavior:

Connect matterbridge to XMPP MUC and Discord
Send a message with chosen ID from XMPP, it appears on discord
Send another message from XMPP with the same ID, the original discord message is edited

Expected behavior
A new message should be created, because XMPP does not support editing messages.
Screenshots/debug logs
If applicable, add screenshots to help explain your problem.
Use logs from running matterbridge -debug if possible.
Environment (please complete the following information):

OS: Linux
Matterbridge version: 1.22.0

Additional context
This does not seem to occur when with version 1.18.3; it seems to have appeared sometime after then, since it only started after an update to 1.22.0 and reverting to the older version seems to prevent the issue from recurring.

Just to be pedantic about the wording: XMPP does support editing messages, but only the last one you sent out. If you want to edit earlier messages, you probably should redact the former one and send it in again. If it was a reply, as a reply to the same predecessor (or the the redacted one even?).


Error with proxy

Hi, we're trying to setup spamassassin with our Mailpit but when we start the container we got this error :
channel 'updates.spamassassin.org': could not find working mirror, channel failed
SpamAssassin rules up-to-date
Jun  5 11:54:49.824 [143] error: config: no rules were found! Do you need to run 'sa-update'?
config: no rules were found!   We're working behind a proxy that is well configured in podman.
Any idea on how we can get this thing running using our proxy ?

Hi @jsayer101. I'm not sure really, but everything here indicates it's a network issue in your podman configuration.
Updated SpamAssassin rules
Jun  5 20:21:45.457 [11] info: rules: meta test PDS_HP_HELO_NORDNS has dependency 'RDNS_NONE' with a zero score
Jun  5 20:21:45.457 [11] info: rules: meta test TO_NO_BRKTS_HTML_ONLY has dependency 'RDNS_NONE' with a zero score
Jun  5 20:21:45.458 [11] info: rules: meta test __TO_NO_BRKTS_NORDNS_HTML has dependency 'RDNS_NONE' with a zero score
Jun  5 20:21:45.459 [11] info: rules: meta test GOOG_REDIR_NORDNS has dependency 'RDNS_NONE' with a zero score
Jun  5 20:21:45.460 [11] info: rules: meta test GOOG_REDIR_HTML_ONLY has dependency 'RDNS_NONE' with a zero score
Jun  5 20:21:45.511 [11] info: spamd: server started on IO::Socket::IP [<IP_ADDRESS>]:783 (running version 3.4.6)
Jun  5 20:21:45.511 [11] info: spamd: server pid: 11
Jun  5 20:21:45.513 [11] info: spamd: server successfully spawned child process, pid 26
Jun  5 20:21:45.515 [11] info: spamd: server successfully spawned child process, pid 27
Jun  5 20:21:45.515 [11] info: prefork: child states: IS
Jun  5 20:21:45.515 [11] info: prefork: child states: II

If you log into your running container can you do any network requests?
$ docker exec -it spamassassin sh
/ # ping google.com
PING google.com (<IP_ADDRESS>): 56 data bytes
64 bytes from <IP_ADDRESS>: seq=0 ttl=110 time=37.432 ms
...

I'm not sure off-hand exactly where the updates come from (it's not the domain updates.spamassassin.org - they are just grouped that way), but that shouldn't matter, your end is telling you it can't find  suitable mirror.

Thanks for your answer, yeah I think that's a misconfiguration on our end. Anyway we ended up installing a spamassassin using yum. We share this spamassassin with multiple mailpit instances. I'll close the issue 😄


Lookup account_id before starting outlier_detection data collection

Cache the account_ids that have been processed within a window (default 24 hours) so that we don't repeat processing an account within a time window.

@tumido @AparnaKarve please help review.

@jameswnl I think you're going more complicated way than necessary.
Two questions:

The caching shouldn't be outlier detection specific. Its should be for all workers. The best way would be to query the cache before even we start the worker thread in workers.py, or even simpler in server.py to let the requester know the job was rejected.
This redis querying and connection handling seems quite confusing, why not to use something like Flask-Caching?

According to their docs, all this workflow can be simplified to:
# server.py
from flask_caching import Cache

cache = Cache(config={'CACHE_TYPE': 'redis', ...})
cache.init_app(app)

DAY_IN_SECONDS = 60*60*24

...
@APP.route(f'{ROUTE_PREFIX}/v{API_VERSION}/collect', methods=['POST'])
def post_collect():
    ...
    if cache.get(f"{ai_service}/{account_id}"):
        return jsonify(status='Rejected', message='Job had already run today')
    cache.set(f"{ai_service}/{account_id}", True, timeout=DAY_IN_SECONDS)
    ...

@tumido that flask_caching looks nice. Looking into it now.
But not sure about why/how other collector type would need the caching. do they have similar requirement to limit once per period of time for each account_id?
I could make the cache available when the server is up, but don't have enough of information about other use cases

@jameswnl Do you think we can make it controllable via env variable? But anyways... I think it's applicable to all pipelines. We don't need to run any of them more than once a day per account.

@jameswnl Thanks for the PR!
This is a great idea to process the pipeline only once a day.
Like @tumido said, this is very much applicable and useful for all pipelines!
For some reason, in my mind I had visualized doing this in incoming-listener, since the incoming-listener is responsible for triggering data collection frequently -- but I suppose doing it in data-collector also works and is probably better!
One question - Should we set the account_id flag in redis only when the account is actually processed, as in, only if the data is collected successfully for that account?
For e.g. - What if there was a failure fetching data for the account, and redis has now marked it as "processed"... we do want to give that account another chance, right?

Codecov Report

Merging #37 into master will increase coverage by 3.37%.
The diff coverage is 88.88%.

@@            Coverage Diff             @@
##           master      #37      +/-   ##
==========================================
+ Coverage   35.78%   39.16%   +3.37%
==========================================
  Files          14       14
  Lines         380      406      +26
==========================================
+ Hits          136      159      +23
- Misses        244      247       +3

Impacted Files
Coverage Δ

collector/host_inventory.py
50.98% <0%> (-3.19%)
:arrow_down:

collector/env.py
100% <100%> (ø)
:arrow_up:

tests/collector/test_host_inventory.py
100% <100%> (ø)
:arrow_up:

collector/utils.py
56.66% <100%> (+15.75%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 992f46f...0d28a88.   For that sake, I've reduced the logic to 5 lines. At this moment I don't quite see the needs to use flask_cache.
@AparnaKarve, I did think about where to put this logic.  The rationale is always trying to keep components as generic as possible.  Initially, this lookup logic was specific to outlier-detection use case and I would prefer to place it there.  However, data-collector retrieving and forwarding of this potential heavy payload is too much waste and so I think here is a better place.
It sounds like now ALL the other cases need this. Then we can move it to server.py. One more question about this: the lookup depends on account_id embedded inside the x-rh-identity header, during my previous PRs, @tumido had a sound reminder about not exploiting this implementation details of the header in logging.  For outlier-detection, the cost is high for each execution and we are kind of forced to use this as a workaround. But for other use cases, do we want to depend on this potentially changeable implementation detail?
In any case, I've moved the logic into utils so that in case we decide it is applicable to all uses cases, we can do that.

FYI in my example, I've prepended the AI service name to the redis key. If you're considering implementing that, I don't think it's needed since the Redis is deployed separately for each pipeline. :) Just move the redis entry check code to the server.py please @jameswnl .

The dependent redis PR has been merged. this can go in now.


Refactor Relation and conditions to fix mutating scopes issues

This PR adresses the same issues as #266, #265, #257, #193 and #261 at once, by adressing the 'root' of the issue - namely the mutating methods on Relation.
While #266 and #265 also adresses this in isolation, this PR is an alternative addressing the kinda messy structure of Relation and WhereChain, by extracting the condition predicate matching to their own Condition class. The conditions are evaluated lazily when filtering on the records of a relation should happen.
By doing it like this, it can open up for supporting more of the Rails scoping API such as #reorder and eg. #invert_where. Both are included here in the PR.

@flavorjones Do you have thoughts on this implementation? (I think you are also pretty familiar with rails internals)
Coming up with the simplest solution that works well is the goal.
Unfortunately, I am not sure that there is a simpler solution that will meet our needs.
I feel comfortable with most of this solution, but I do worry how supportable it will be for the active-hash collaborators

@pfeiffer does this potentially fix #271 as well, or is that different?
(not asking to test, just asking if you think it may overlap that PR]

Yup, that issue would be addressed as well in this PR.

Thanks for taking the time to review this rather aged PR 😀
We've been running this in production for a while now, and I would love to see it merged.
I'll add some more context and reply to the individual review comments tomorrow. I'm aware that it's a major rewrite and not as surgical as the other PRs - I do however believe that it's the way to go and if I remember correctly (on my phone right now), all public interfaces are kept while the buggy and unexpected behaviors are fixed.

@pfeiffer sorry for the delay.
I guess this is a big change, and probably intimidating, BUT...
It feels so similar to what I remember of ActiveRecord internals, so it really isn't so bad.
I do need some feedback from another maintainer. This changes the approach to the problem and want to make sure others are comfortable with this alternate style.
I did notice that people were hoping for the smaller changes (there are a few PRs that all seem to be taking a whack at this issue).

@pfeiffer sorry for the delay. I guess this is a big change, and probably intimidating, BUT... It feels so similar to what I remember of ActiveRecord internals, so it really isn't so bad.

You're right - the patterns are lifted from ActiveRecord and it provides a similar interface for chaining and lazily-evaluating conditions on the scopes. Method names etc. are also lifted from AR to keep the code and patterns similar for developers familiar with Rails.
The general idea is to make relations returned by where(..), order(..), reorder(..), not(..) etc. immutable, which is how AR also works. By doing so, it solves a lot of fundamental issues with the previous code and opens up for supporting the newer AR methods such as invert_where, reorder etc., which would be impossible to support with the existing code, as the scopes mutate the original collection of records.

I do need some feedback from another maintainer. This changes the approach to the problem and want to make sure others are comfortable with this alternate style.

I did notice that people were hoping for the smaller changes (there are a few PRs that all seem to be taking a whack at this issue).

I've seen that as well and contributed a few more surgical PRs as well as I see others have also been doing (#271, #266, #255, #261, #197). However, while these might fix the most obvious issues and bugs, they do not address the underlying issues of mutating scopes, and implementing eg. invert_where would be close to impossible without a refactoring of the scopes like this.
Happy to jump on a chat or call to discuss if needed :-)

Sorry, I've been underwater for a few days. I'll make time to read the code this week. I'm not an expert in Rails internals but I appreciate you asking for a gut check.

@kbrock No objections to merging this, sorry for not doing a more detailed review or getting back to you earlier.


Run on linux

Currently SMBeagle is a Windows only tool as SMB support on Windows is really good and we can leverage the current logon session for authentication.
The core codebase is written in .NET 5 which means it runs on both Windows and Linux so it would be great to get this working, but it needs a good bit of work.
We have begun working on this feature and have a WIP PR in for it #8
It compiles and runs on Linux, and it works up until directory enumeration as UNC paths do not work on Linux.
We need to convert all the UNC logic to Native SMB calls.

https://github.com/TalAloni/SMBLibrary/blob/master/ClientExamples.md may be the answer


Bitcoin Connect: Wrong colors used in light mode

System setting: dark
Hub theme: default, light

This is quite an edge case - maybe it's better to remove bitcoin connect though since it doesn't quite fit with the hub

Remove bitcoin connect instead


Linting error if props contains Array

Version
2.5.17
Reproduction link
https://jsbin.com/casiwowibe/edit?html,js,output
Steps to reproduce
Typescript build   Array props item
export default Vue.extend({
  props: {
    items: {
      type: Array,
    },
  },
  data() { return {hi: 'there'}; },
  methods: {
    boom() {
      this.hi;
    },
  },
});

What is expected?
boom() not contain linting error
What is actually happening?
property hi does not exist on type Vue

I believe this belongs to vetur's repo.

It's not a Vetur bug. I run into a similar problem right now using Vue 2.6 and typescript with a project scaffolded by the CLI. When using foo: {type: Array } in props. Typescript throw a Property 'foo' does not exists on type 'Vue' but if you define the type like foo: { type: Array as Array<YourInterface | number | string | ...> } Inference is working good. An article explain how to use vue with typescript without vue-class-component. I hope this could help.


Update README.md

Summary
Minor changes to readme
Description
fixed version of assembly jar
added text on building assembly and cloning
Additional Reviewers
@jonathanl-bq

 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.You have signed the CLA already but the status is still pending? Let us recheck it.


Json Import: Unexpected end of JSON input

Issue Summary
It is impossible to import Json Backup from 0.11.12.
@4000000059ebc0960339fb2c INFO [2017-10-21 21:47:56] "DELETE /ghost/api/v0.1/db/" 204 1143ms
@4000000059ebc0ac2c2b1f0c Unhandled rejection SyntaxError: Unexpected end of JSON input
@4000000059ebc0ac2c2b26dc     at Object.parse (native)
@4000000059ebc0ac2c2b2ac4     at onSaving (/home/cgmeiner/ghost/core/server/models/post.js:237:67)
@4000000059ebc0ac2c2b2ac4     at onSaving (/home/cgmeiner/ghost/core/server/models/base/index.js:117:50)
@4000000059ebc0ac2c2b2eac     at /home/cgmeiner/ghost/node_modules/bookshelf/lib/base/events.js:176:25
@4000000059ebc0ac2c2b2eac     at tryCatcher (/home/cgmeiner/ghost/node_modules/bluebird/js/release/util.js:16:23)
@4000000059ebc0ac2c2c3c34     at MappingPromiseArray._promiseFulfilled (/home/cgmeiner/ghost/node_modules/bluebird/js/release/map.js:61:38)
@4000000059ebc0ac2c2c401c     at MappingPromiseArray.PromiseArray._iterate (/home/cgmeiner/ghost/node_modules/bluebird/js/release/promise_array.js:114:31)
@4000000059ebc0ac2c2c4404     at MappingPromiseArray.init (/home/cgmeiner/ghost/node_modules/bluebird/js/release/promise_array.js:78:10)
@4000000059ebc0ac2c2c672c     at MappingPromiseArray._asyncInit (/home/cgmeiner/ghost/node_modules/bluebird/js/release/map.js:30:10)
@4000000059ebc0ac2c2c672c     at Async._drainQueue (/home/cgmeiner/ghost/node_modules/bluebird/js/release/async.js:138:12)
@4000000059ebc0ac2c2c6b14     at Async._drainQueues (/home/cgmeiner/ghost/node_modules/bluebird/js/release/async.js:143:10)
@4000000059ebc0ac2c2c9224     at Immediate.Async.drainQueues (/home/cgmeiner/ghost/node_modules/bluebird/js/release/async.js:17:14)
@4000000059ebc0ac2c2c9224     at runCallback (timers.js:672:20)
@4000000059ebc0ac2c2c960c     at tryOnImmediate (timers.js:645:5)
@4000000059ebc0ac2c2c960c     at processImmediate [as _immediateCallback] (timers.js:617:5)
@4000000059ebc0bd2ea4067c INFO [2017-10-21 21:48:35] "POST /ghost/api/v0.1/db/" 200 60120ms
The Json backup looks valid
Steps to Reproduce

Fresh 1.15.0 setup
Try to import https://christian-gmeiner.info/tmp/chaos-computing.ghost.2017-08-26.json

Technical details:

Ghost Version: 1.15.0
Node Version: v6.11.1
Browser/OS: Chrome 62/Linux
Database: MySQL

I am not able to reproduce this. You're json export works fine for me as an import...
@kirrg001 is this something, you've seen before?

Is there any setting to influence the max upload size? I have the feeling that the Json-file is not fully uploaded.

@austriancoder Ghost itself doesn't have an upload size limit. You may have an upload size limit at the web server or proxy level - if you've used Ghost-CLI to configure nginx then the max upload size is set to 50MB

Hmm... not sure if that's really the issue. The file size of the linked export file is only 330kb... That shouldn't usually be an issue, right?

I am not using Ghost-CLI as it is not supported by my hoster. In the end I start ghost like this:
exec /bin/env NODE_ENV=production node /home/cgmeiner/ghost/index.js
I tried to enable extra debug output but there is not much information. Is there a way to debug this?

We're sorry to hear you're having problems, however this looks like a problem with how you're using Ghost rather than a bug. We only keep Github issues open for bugs and in-progress feature work, please read our support guide. You can always use our slack community - https://slack.ghost.org, if you're not able to find the answer in our documentation - https://docs.ghost.org.
Can re-open if there's any indication that this is a bug, but seems like a config/environment issue to me.


Update instructions for steal

Direct user to Can2.2/Steal blog post for current info.

Good call. Once I finished the other articles I will try and incorporate them into the guides but linking them for now makes sense.


[5.2] Fix pagination issue in the latest release

Addressed in https://github.com/laravel/framework/issues/14387
The issue was caused by this change: https://github.com/laravel/framework/pull/14188/files
if $total is evaluated as false, $perPage = $perPage ?: $this->model->getPerPage() will never be executed leaving $perPage equal to null if it wasn't provided in the method call.
So calling ->paginate() without any arguments, if no results found $perPage will be equal to null causing a Division By Zero error in LengthAwarePaginator

@themsaid Thank you for quick fix for my PR :)


Session 3

First version of session 3
Current topics:

Chapter 10
Chapter 13

Some of the slides overflow, should be fixed at some point.


Introduce user dashboard and improve user flow

Introduce a dashboard page where user can see all relevant links.
This will be used to remind users to complete applications, give them
a place to see application status, fill out team applications and
more. This is still not integrated with the databse to tell when
the user has completed their application or not, statuses there
are just dummies.

@varkor @Pinpickle whaddaya reckon?

Overall, it's looking good! What else do we want to have on this page? Perhaps we could have a couple of the FAQ entries that are specific to the application process / reimbursements, etc.?

Improved the UI and got ready for database connection. Added crude FAQs section and resolved some of the comments.


Design import, export, and edit views.

The goal of this ticket is to come up with better designs for the import, export, and edit views. This should probably all take place on paper.

Should also add options view to this list.

I think this is a more refined duplicate of #27

#11 is also needs UI design.


ci/contrib: use separate concurrency group

Run the contrib workflow in its own concurrency group to avoid multiple runs causing conflicting git pushes.
The contrib workflow pushes to the gh-pages branch, and thus is not safe to be run multiple times in parallel. Given that github-actions can stall workflow runs for quite some time, multiple executions can overtake each other. By using concurrency groups, all workflow runs will wait until previous runs completed.
Given that the workflow uses orphan-branches and forced pushes, conflicting workflows will not fail, but might produce outdated data if they overtake each other.
We explicitly disable cancellation to get better diagnostics and more easily find the first possible run that failed. Since these workflow runs are rather fast, and only run on master, cancellation seems not necessary.

@weihanglo was already reviewing my other change to the same workflow. Maybe it makes sense to assign this to them as well? (see #12834)

The best way to override assigned reviewers is using r?, i.e r? weihanglo

I can't recall there was any conflict happened on master, since bors is served as a merge queue manager for rust-lang/cargo and protect from that angle. Could you say more about what you've experienced makes you do this change?

Yeah, this is again mostly about private forks. I sometimes push to master on private forks, which triggers this workflow (even in parallel, since there is no bors), and then I can share links to the generated docs of some proposed changes.
This is not crucial at all, but I thought kinda nice to have and untangles the workflow from bors.

I mean, we could argue that there are better ways to render the docs and share them. But the workflow is already there and works, so I thought why not fix it. No strong opinions on my side, though.

@bors r+

:pushpin: Commit cdc7c1be0256f2d85464ebbf4112e07cab84d132 has been approved by weihanglo
It is now in the queue for this repository.

:hourglass: Testing commit cdc7c1be0256f2d85464ebbf4112e07cab84d132 with merge f806be2dde5f9922cf9e72a90021e5eccb612a85...

:sunny: Test successful - checks-actions
Approved by: weihanglo
Pushing f806be2dde5f9922cf9e72a90021e5eccb612a85 to master...

It doesn't work https://doc.crates.io/contrib/. The tree has one more level of directory https://github.com/rust-lang/cargo/tree/gh-pages.
@dvdhrm could you help fix or revert it?


[QOL] usability of task list

Task list does now automatically open the soft keyboard when being created.
Submitting a task does now open the soft keyboard on the next entry instantly

Expected impact:

Easier, faster and more convenient way to create task lists

ok so, i reviewed every change and the only good one seems to be the last one. From what you said, the first doesnt work as expected and the focus one is not the way to go, so consider opening another pr with only the last commit

Alright will be done


Using router-link without "to" attribute gives unclear error

Version
4.0.14
Reproduction link
codesandbox.io
Steps to reproduce
See line 13 where i have added "Test".
What is expected?
Either, the link can render normally without an error (just like a regular anchor tag without the href attribute), or at least give a more useful error message.
What is actually happening?
The console prints "Uncaught TypeError: right-hand side of 'in' should be an object, got undefined". This may for new Vue users lead to confusion.
By looking closer at the error, it seems to be related to the line "if ('path' in rawLocation) {" in my bundled js.

It seems like the if ('path' in rawLocation) { line appears on line 462 in src/router.ts

Always look at the first error/warning first:
[Vue warn]: Missing required prop: "to"
  at <RouterLink>
  at <App>

Apologies, my bad.
Wouldn't it make more sense to handle the warning a bit better instead of throwing an error?


fix install submit crash caused by xorm log

When starting a fresh installation, it crashed after you submit your installation config in the UI. This will fix that.

Trusted LGTM

LGTM


Has use jdk7 demo?

Now,My many application  run by jdk7, it's difficult to change jdk 8?I need some help.

The last version that supported java 7 was 0.27.0. The usage was still pretty similar to current versions. If there are specific questions I'm happy to try and answer them. For our use-cases we moved off of java 7 about two years ago, so I'm afraid I don't have any examples or environment using that version.


daemon, build_loop, watch: crash on unrecoverable error

Previously, we panic!()’ed in the build_loop, inside of a
forever-Thread, meaning the thread would die but the daemon continues
running.
This is solved by forwarding the message throught the existing channel
and handling it in the main thread.
Tested manually by stubbing out run in builder and verifying that the daemon crashes.
Closes: https://github.com/target/lorri/issues/120
cc @chreekat

I implemented this a bit differently in #156, by using a Drop implementation. The main advantage is even unplanned crashes will still take the daemon down completely, so in the case of major problems a panic still properly kills the daemon.


How can I destroy the connection?

There's a way to destroy the object and close the communication ? I need to communicate with others devices that use another protocol with serial/usb and this protocol is in conflict with another.

I also added some more updates to restore the configuration and attached kernel drivers when disconnected.  Test it out on my fork and let me know if it works.

I also added some more updates to restore the configuration and attached kernel drivers when disconnected.  Test it out on my fork and let me know if it works.

This should be fixed in the latest version.

I moved my code over to using a call to open() and then close(), however if I try running the code twice, after opening the connection the second time, I get:
Traceback (most recent call last):
  File "/home/rwlodarc/Code/scratch-projects/powermeter/usbtmc_test.py", line 44, in <module>
    results = rsnrp.ask(cmd['command'])
  File "/usr/local/lib/python2.7/dist-packages/usbtmc/usbtmc.py", line 576, in ask
    return self.read(num, encoding)
  File "/usr/local/lib/python2.7/dist-packages/usbtmc/usbtmc.py", line 559, in read
    return self.read_raw(num).decode(encoding).rstrip('\r\n')
  File "/usr/local/lib/python2.7/dist-packages/usbtmc/usbtmc.py", line 508, in read_raw
    resp = self.bulk_in_ep.read(read_len+USBTMC_HEADER_SIZE+3, timeout = self.timeout)
  File "/usr/local/lib/python2.7/dist-packages/usb/core.py", line 364, in read
    return self.device.read(self, size_or_buffer, timeout)
  File "/usr/local/lib/python2.7/dist-packages/usb/core.py", line 918, in read
    self.__get_timeout(timeout))
  File "/usr/local/lib/python2.7/dist-packages/usb/backend/libusb1.py", line 769, in bulk_read
    timeout)
  File "/usr/local/lib/python2.7/dist-packages/usb/backend/libusb1.py", line 872, in __read
    _check(retval)
  File "/usr/local/lib/python2.7/dist-packages/usb/backend/libusb1.py", line 552, in _check
    raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 110] Operation timed out

Ah, interesting... I swapped setting the timeout to before the call to open() and this solved the issue:
rsnrp = usbtmc.Instrument("USB::0x0aad::0x00e2::INSTR")
rsnrp.timeout = 10000L
rsnrp.open()

You shouldn't have to call open and close explicitly.  Open will be called on the first access, unless you want to open the connection earlier for some reason.  Close will be called automatically in the destructor, unless you need to release the device before the script terminates or the usbtmc object is not garbage collected.


Stuck in "Scanning for Environmental Sound"

Hey there,
I'm trying to setup the demo of this awesome project but I'm experimenting a bug. I've managed to add my IBM credentials and start up the Flask server, but when I try to complete the enrollment process, after pressing the "Start recording" button, the web app keeps stuck in the "Scanning for Environmental Sound" for quite more than 5 seconds. I'm silent and a I can see sound waves in the web app, but nothing happens. I don't know if I'm suppose to start speaking or anything.
Thanks for your time and hope to get this working!

after scanning for 5 sec stop the recording. It is there to check on base noise and after that start recording again


Fix mesh expansion

This reverts the removal of reading sidecar.env and cluster.env in the startup scripts done in commit 30e0c3f78de7a. The second commit makes sure that the configuration variables become part of the environment and become visible to subprocesses.
This is intended to fix for #16599 (albeit in master).

/test istio-unit-tests-master

/test integ-security-k8s-presubmit-tests-master

/test integ-mixer-k8s-presubmit-tests-master

This change has been merged in release-1.3, shouldn't it be merged in master, too? Or will all changes from release-1.3 be merged back into master?

This change has been merged in release-1.3, shouldn't it be merged in master, too?

Yes.

Or will all changes from release-1.3 be merged back into master?

No.

Reminder, this fix is merged into release-1.3 already. This PR still needs approval from @istio/wg-test-and-release-maintainers to merge into master.

@holgero: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

istio-unit-tests-master
bf13ac9b86c7c943b833a49fed224daea29ec6d4
link
/test istio-unit-tests-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test istio-unit-tests-master

@holgero: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

istio-unit-tests-master
bf13ac9b86c7c943b833a49fed224daea29ec6d4
link
/test istio-unit-tests-master

istio-racetest-master
bf13ac9b86c7c943b833a49fed224daea29ec6d4
link
/test istio-racetest-master

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


Fix pylti for Django behind a TLS termination proxy

Purpose
WSGI servers format their headers by prefixing them with HTTP_, capitalizing all letters and replacing "-" by "_". The Django framework is using this format for its headers.
Pylti is checking the value of the "X-Forwarded-Proto" header with the http syntax and is missing it when the http header is named "HTTP_X_FORWARDED_PROTO" as is the case in Django for example.
Proposal
Look for the header successively with both syntaxes "X-Forwarded-Proto" and "HTTP_X_FORWARDED_PROTO" so we directly support the wsgi syntax for headers.

Coverage increased (+0.02%) to 97.143% when pulling e7ff66441cff204db42ced186afeec6e55e157ec on sampaccoud:fix-pylti-for-wsgi-behind-tls-termination-proxy into 459ab0114111dcf25306009897d23f8ad1bf5476 on mitodl:master.

ah I have the same problem. Would be great if this was merged. thank for the fix!

Hello, I just struggled with the same issue using https://github.com/ccnmtl/django-lti-provider that has pylti as dependency.


throw error out when the key of mount.Options and EncryptOptions is the same

Ⅰ. Describe what this PR does
throw error out when the key of mount.Options and EncryptOptions is the same
Ⅱ. Does this pull request fix one issue?
fixes #2574
Ⅲ. List the added test cases (unit test/integration test) if any, please explain if no tests are needed.
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

@hahchenchen Would you mind providing the documentation about how to use it? thanks!

@hahchenchen Would you mind providing the documentation about how to use it? thanks!
Ok, the docs should be placed in docs/zh/samples and docs/en/samples directory, right?

@hahchenchen Would you mind providing the documentation about how to use it? thanks!
Ok, the docs should be placed in docs/zh/samples and docs/en/samples directory, right?

Yes, thanks.

/lgtm
/approve

/test fluid-e2e

/lgtm
/approve

@hahchenchen thanks for your great contribution!


Code Blocks skeleton v3

Link to the Page
https://next.skeleton.dev/docs/get-started/installation/sveltekit
Describe the Issue (screenshots encouraged!)
Does skeleton v3 provide code blocks?
not yet in the documentation.
if v3 already supports block code where can i get this like v2:
import { CodeBlock } from '@skeletonlabs/skeleton'
and
import { storeHighlightJs } from '@skeletonlabs/skeleton'

@Bimbimz as mentioned previously, Skeleton v3 is in a early pre-release state. This means it's not feature complete. There will be bugs, missing or incomplete features, etc. We're actively updating this to support the new component formats in Svelte and all other adjustments mentioning here:

https://github.com/skeletonlabs/skeleton/discussions/2681

Per code blocks, we're going in a different direction in v3. Rather than a build-in component, we'll provide an integration guide with popular Shiki syntax highlighter:
https://shiki.style/
However there's nothing stopping you from using this today. They provide instructions on their documentation:
https://shiki.style/guide/install
You can track our progress on this here:

https://github.com/skeletonlabs/skeleton/issues/2396

OK.
I hope code block is developed first because I think it is a utility that is widely used in almost all types (blogs, pages, docs, forums, etc.)


atomic git push

Currently, we push via:
run "git push '$repo' 'refs/heads/$branch' 'refs/tags/$tag'"

This is not an atomic operation, apparently. If one is not up to date with $branch, the branch push will fail but the tag push will succeed. This results in the tagged commit not living on $branch (or any other branch).
Perhaps we should do this instead:
run "git push '$repo' 'refs/heads/$branch'"
run "git push '$repo' 'refs/tags/$tag'"

This won't help if the tag already exists, though this is less likely.
Perhaps git push provides an --atomic or --transaction flag. This would be ideal.

How about this?
run "git push '$repo' 'refs/heads/$branch' --follow-tags"

--follow-tags seems perfect!

   --follow-tags
       Push all the refs that would be pushed without this option,
       and also push annotated tags in refs/tags that are missing
       from the remote but are pointing at commit-ish that are
       reachable from the refs being pushed.

I assume the tags aren't pushed if the branch push fails. I'll verify this assumption.

It's what I typically use when manually bumping versions.

I assume the tags aren't pushed if the branch push fails. I'll verify this assumption.

I wrote a test which revealed this to be a false assumption. --follow-tags pushes the tags blindly.
I've posted a question in the hopes of discovering an ideal solution. I suspect we'll end up pushing the branch and the tag in separate git push operations.

@davidchambers The question seems to have been removed, did you ever manage to solve this?

The question was deleted for being "abandoned", though I'd consider it "unanswered" or "unsolved" rather than abandoned. Here it is in full:

atomic git push: don't push tag if branch push fails
I'd like to solve davidchambers/xyz#18. Assuming I have a tagged commit which I'd like to push to a remote repository, this usually works:
git push "$repo" "refs/heads/$branch" "refs/tags/$tag"

A problem arises if the local $branch and remote $branch have diverged. The branch push will fail but the tag push will succeed. This remote will then have the tagged commit but it won't live on any branch.
Instead, I'd like the tag to be pushed only if the branch push succeeds. In fact, I'd like the pushes to be treated as a transaction such that both operations fail unless both operations succeed. Is this possible? The --follow-tags flag does not cause the tag(s) to be pushed conditionally.

It seems there is currently no way to perform these two operations as a transaction. We can at least perform two git push operations to control order. Another option is to query the remote repository before pushing, but this would introduce a race condition.
p.s. I'm sorry for taking three weeks to respond, @LinusU!

I managed to solve this by using the --atomic flag, unfortunately it doesn't work with the --follow-tags flag so you have to specify the branch and tag manually.
git push --atomic "$repo" "refs/heads/$branch" "refs/tags/$tag"

example: pinn3/release-package#3

I managed to solve this by using the --atomic flag

Wait, what?! I had no idea that such a flag exists. It turns out it was added two months before I opened this issue (though it's unlikely my Git version at the time included it).
Anyway, this is excellent news. :)
$ git push --help | grep --after-context=3 -- '--\[no-\]atomic'
       --[no-]atomic
           Use an atomic transaction on the remote side if available. Either
           all refs are updated, or on error, no refs are updated. If the
           server does not support atomic pushes the push will fail.

unfortunately [the --atomic flag] doesn't work with the --follow-tags flag so you have to specify the branch and tag manually

That's no problem at all. We're currently specifying the branch and tag:

run "git push '$repo' 'refs/heads/$branch' 'refs/tags/$tag'"

Thanks for bringing this flag to my attention, @LinusU. Would you like to submit a pull request? I'm happy to do so myself, but you deserve the credit. :)

I'd be happy to, see #22 :)

Excellent. Thank you!


[BUG] Type definitions prevent children for MenuProvider

Trying out kmenu for a small personal project, awesome work!
Describe the bug
Trying to run the example project, as well as import into my own, gives the following error:
Type '{ children: Element; }' has no properties in common with type 'IntrinsicAttributes & Pick<MenuContext, "config" | "dimensions">'.  TS2559

     8 | const App = () => {
     9 |   return (
  > 10 |     <MenuProvider>
       |      ^
    11 |
    12 |
Hello, World!

    13 |

Simple fix:
Update type definition for MenuProvider in kmenu/dist/types.d.ts to:
export declare type MenuProviderProps = Pick<MenuContext, 'config' | 'dimensions'> & {children: JSX.Element};

To Reproduce
Steps to reproduce the behavior:

Clone this repo.
cd example
yarn install && yarn start
Node version: 14.18.1, Typescript version 3.9.10

Out-of-context query
Is there a better way to style the menu other than using the random class names? Appreciate any help!

Hey @hrishioa, thanks for using kmenu. I'm glad you like it.
I don't have this issue, but I will look into it. Which version of kmenu are you using?
Also, for the class names -- thanks for pointing that out. I will come up with something better in the next release.

Thanks! I'm on v1.0.0beta.

@hrishioa try updating to the @1.0.0-beta-dev. That should fix it.

As a side note, I've also removed CSS modules and created more accessible module names for you to style them yourself.

Sounds good - I'll try upgrading.

I've also just released v1-beta-git. You can read the release notes here.


Refactor super call handling to be more local.

Handle the emit() operation in the super call detector itself.

@alexeagle FYI.


bug: code-city kusion apply main.k failed in Konfig codepaces

What happened?
kusion apply failed because of kclvm.
And it seems that the version of kcl installed in KusionStack/devcontainer-features is not consistent with the actual output kcl version.
@niconical ➜ /workspaces/konfig/code-city/dev (main) $ kusion apply main.k
 ✘  Compiling in stack dev...
 ❌  Exception: Internal Error! Please report a bug to us: method=ExecProgram, err=Exception=Expecting value: line 1 column 1 (char 0), warn_json_result=called `Result::unwrap()` on an `Err` value: Timeout, stack trace=Traceback (most recent call last):
        File "/home/vscode/.kusion/kclvm/lib/python3.7/kclvm/program/exec/kclvm_cli.py", line 157, in kclvm_cli_native_run_dylib
          panic_info = json.loads(warn_json_result)
        File "/home/vscode/.kusion/kclvm/lib/python3.7/json/__init__.py", line 348, in loads
          return _default_decoder.decode(s)
        File "/home/vscode/.kusion/kclvm/lib/python3.7/json/decoder.py", line 337, in decode
          obj, end = self.raw_decode(s, idx=_w(s, 0).end())
        File "/home/vscode/.kusion/kclvm/lib/python3.7/json/decoder.py", line 355, in raw_decode
          raise JSONDecodeError("Expecting value", s, err.value) from None
      json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

      During handling of the above exception, another exception occurred:

      Traceback (most recent call last):
        File "/home/vscode/.kusion/kclvm/lib/python3.7/kclvm/internal/gpyrpc/protorpc.py", line 233, in _accept_one_call
          resp = service.call_method(method_name, req)
        File "/home/vscode/.kusion/kclvm/lib/python3.7/kclvm/internal/gpyrpc/gpyrpc_pb_protorpc.py", line 340, in call_method
          return self._instance.ExecProgram(req)
        File "/home/vscode/.kusion/kclvm/lib/python3.7/kclvm/program/rpc-server/__main__.py", line 181, in ExecProgram
          debug=debug,
        File "/home/vscode/.kusion/kclvm/lib/python3.7/kclvm/program/exec/runner.py", line 128, in Run
          return kclvm_cli_native_run_dylib(args)
        File "/home/vscode/.kusion/kclvm/lib/python3.7/kclvm/program/exec/kclvm_cli.py", line 159, in kclvm_cli_native_run_dylib
          raise Exception(f"Exception={e}, warn_json_result={warn_json_result}")
      Exception: Exception=Expecting value: line 1 column 1 (char 0), warn_json_result=called `Result::unwrap()` on an `Err` value: Timeout

What did you expect to happen?
code-city deploy successed.
How can we reproduce it (as minimally and precisely as possible)?

Click Kusion in Codespaces.
kusion init --online and then select code-city
cd code-city/dev && kusion apply main.k

Anything else we need to know?
No response
Kusion version

@niconical ➜ ~/.kusion/kclvm/bin $ kclvm_cli --version
kcl
@niconical ➜ ~/.kusion/kclvm/bin $ kcl --version
kclvm version is 0.4.3; checksum: e07ed7af0d9bd1e86a3131714e4bd20c

@niconical ➜ ~/.kusion/kclvm/bin $ kcl-go --version
kcl-go version (devel)

OS version

Kusion in Codespaces.
@niconical ➜ ~/.kusion/kclvm/bin $ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Install tools

Kusion in Codespaces.

@niconical  hey and by the way, you could use the interactive way to create and run the configurations! For example to create the project using the code-city template:
Open the Command Palatte > type 'kusion: create' > select 'create from template' > select code-city template > click create and select the target folder to store the project
And here's the walkthrough about the kusion vscode extension:
[Command+Shift+P] to open the Command Palette > type 'welcome: walkthrough' > select the kusion walkthrough

@niconical and hey, by the way, you could use the interactive way to create and run the configurations! For example to create the project using the code-city template:
Open the Command Palatte > type 'kusion: create' > select 'create from template' > select code-city template > click create and select the target folder to store the project
if you want a walk through of vscode kusion
[Command+Shift+P] to open the Command Palette > type 'welcome: walkthrough' > select the kusion walkthrough

Thank you so much! I know this method, and I submitted a PR to try to translate this part of the English documentation into Chinese.

@niconical That's really nice and thanks to your productive work 👍


feat(atomic): add pathLimit prop to atomic-breadbox

https://coveord.atlassian.net/browse/KIT-2758
This PR adds a new prop to atomic-breadbox. It's purpose is as follows
/**
 * This prop allows you to control the display of a path by
 * limiting the number of visible values in the path.
 *
 * If the path size is equal to or less than the pathLimit, all values in
 * the path will be displayed without truncation.
 *
 * If the path size exceeds the pathLimit, it will truncate the path by
 * replacing the middle values with ellipses ('...').
 *
 * Minimum: `3`
 * Maximum: `10`
 * @defaultValue `3`
 */

First came from this discuss : https://discuss.coveo.com/t/support-00103676-expose-limitpath-option-in-atomic-breadbox/10067/2
Examples
path size of 4, path limit of 3, it gets truncated

path size of 4, path limit of 4, it doesnt get truncated

NEW EDGE CASE OF 1
path size of 3, path limit of 1 (only last value gets shown)

@olamothe about this PR. Last week, you said that we should maybe change the behaviour if there was breadbox with very big paths. I think it is fine as it is. The client need was to be able to see the whole path and they now can by using this prop. Even if the path is too long so that the value truncates like this :

The client is still able to make the breadbox bigger and allow for more space by using this part :
     atomic-breadbox::part(breadcrumb-value) {
        max-width: 95ch;
      }

result :

What do you think ?

@olamothe about this PR. Last week, you said that we should maybe change the behaviour if there was breadbox with very big paths. I think it is fine as it is. The client need was to be able to see the whole path and they now can by using this prop. Even if the path is too long so that the value truncates like this :
The client is still able to make the breadbox bigger and allow for more space by using this part :
     atomic-breadbox::part(breadcrumb-value) {
        max-width: 95ch;
      }

result :
What do you think ?

Sure !


Iframe screenshot support

Bug reports:

Taking a screenshot of an element that contains an iframe does not work (due to commented and missing code).
Support did exist before the flow -> typescript refactor
Running html2canvas within the iframe does not create correct images either

Debugging of the root cause

In document-cloner the cloneNode method mutates the ownerDocument from the iframe's document to the parent window's document. This causes that all the relative urls stop working as they now point to invalid resources. This makes most of the javascript/css/images to fail loading.

// clone still has correct document attached (check baseURI)
            for (let child = node.firstChild; child; child = child.nextSibling) {
                if (
                    !isElementNode(child) ||
                    (!isScriptElement(child) &&
                        !child.hasAttribute(IGNORE_ATTRIBUTE) &&
                        (typeof this.options.ignoreElements !== 'function' || !this.options.ignoreElements(child)))
                ) {
                    if (!this.options.copyStyles || !isElementNode(child) || !isStyleElement(child)) {
                        // The resulting node of this.cloneNode(child) has the top window document attached
                        // AppendChild call mutates the attached document on clone
                        clone.appendChild(this.cloneNode(child));
                    }
                }
            }
// clone does not have the correct document attached (check baseURI)

Example images produced inside the iframe

Hi @SferaDev  any luck with this?


Instructions in README don't work

Given the following Dockerfile:
FROM ubuntu:18.04

RUN apt-get upgrade
RUN apt-get update

RUN apt-get install -y git && \
    apt-get install -y pkg-config && \
    apt-get install -y cmake && \
    apt-get install -y automake && \
    rm -rf /var/lib/apt/lists/*
WORKDIR /opt/

RUN git clone https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp.git
RUN mkdir -p amazon-kinesis-video-streams-producer-sdk-cpp/build; cd amazon-kinesis-video-streams-producer-sdk-cpp/build; cmake ..

Building results in:
/opt/amazon-kinesis-video-streams-producer-sdk-cpp/open-source/liblog4cplus/build/src/project_log4cplus/missing: line 81: aclocal-1.16: command not found
WARNING: 'aclocal-1.16' is missing on your system.
         You should only need it if you modified 'acinclude.m4' or
         'configure.ac' or m4 files included by 'configure.ac'.
         The 'aclocal' program is part of the GNU Automake package:
         <http://www.gnu.org/software/automake>
         It also requires GNU Autoconf, GNU m4 and Perl in order to run:
         <http://www.gnu.org/software/autoconf>
         <http://www.gnu.org/software/m4/>
         <http://www.perl.org/>
Makefile:934: recipe for target 'aclocal.m4' failed
make[3]: *** [aclocal.m4] Error 127
make[2]: *** [build/src/project_log4cplus-stamp/project_log4cplus-build] Error 2
CMakeFiles/project_log4cplus.dir/build.make:111: recipe for target 'build/src/project_log4cplus-stamp/project_log4cplus-build' failed
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/project_log4cplus.dir/all' failed
make[1]: *** [CMakeFiles/project_log4cplus.dir/all] Error 2
make: *** [all] Error 2
Makefile:83: recipe for target 'all' failed
CMake Error at CMake/Utilities.cmake:55 (message):
  CMake step for liblog4cplus failed: 2
Call Stack (most recent call first):
  CMakeLists.txt:77 (build_dependency)

-- Configuring incomplete, errors occurred!
See also "/opt/amazon-kinesis-video-streams-producer-sdk-cpp/build/CMakeFiles/CMakeOutput.log".
The command '/bin/sh -c mkdir -p amazon-kinesis-video-streams-producer-sdk-cpp/build; cd amazon-kinesis-video-streams-producer-sdk-cpp/build; cmake ..' returned a non-zero code: 1

Is there something I'm missing?

 -DBUILD_GSTREAMER_PLUGIN=ON -DBUILD_DEPENDENCIES=OFF

But this now fails with:
Step 8/8 : RUN mkdir -p amazon-kinesis-video-streams-producer-sdk-cpp/build; cd amazon-kinesis-video-streams-producer-sdk-cpp/build; cmake .. -DBUILD_GSTREAMER_PLUGIN=ON -DBUILD_DEPENDENCIES=OFF
 ---> Running in 75183c63232e
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Kinesis Video PIC path is /opt/amazon-kinesis-video-streams-producer-sdk-cpp/open-source/amazon-kinesis-video-streams-pic/
-- Kinesis Video C Producer path is /opt/amazon-kinesis-video-streams-producer-sdk-cpp/open-source/amazon-kinesis-video-streams-producer-c/
-- Kinesis Video WebRTC Client path is /opt/amazon-kinesis-video-streams-producer-sdk-cpp
-- dependencies install path is /opt/amazon-kinesis-video-streams-producer-sdk-cpp/open-source
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.1.1")
-- Checking for module 'libcurl'
--   Found libcurl, version 7.58.0
CMake Error at CMakeLists.txt:158 (add_subdirectory):
  The source directory

    /opt/amazon-kinesis-video-streams-producer-sdk-cpp/open-source/amazon-kinesis-video-streams-producer-c

  does not contain a CMakeLists.txt file.

-- Checking for module 'gstreamer-app-1.0'
--   Found gstreamer-app-1.0, version 1.14.5
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
Jsmn
    linked by target "KinesisVideoProducer" in directory /opt/amazon-kinesis-video-streams-producer-sdk-cpp

-- Configuring incomplete, errors occurred!
See also "/opt/amazon-kinesis-video-streams-producer-sdk-cpp/build/CMakeFiles/CMakeOutput.log".
See also "/opt/amazon-kinesis-video-streams-producer-sdk-cpp/build/CMakeFiles/CMakeError.log".
The command '/bin/sh -c mkdir -p amazon-kinesis-video-streams-producer-sdk-cpp/build; cd amazon-kinesis-video-streams-producer-sdk-cpp/build; cmake .. -DBUILD_GSTREAMER_PLUGIN=ON -DBUILD_DEPENDENCIES=OFF' returned a non-zero code: 1

Hey @mwildehahn
Can you update the git clone include the --recursive?
For your first Dockerfile I am not sure, does build-essential pull in aclocal-1.16 ?

Yup, that isn't in the README but I realized that was missing from reading it in some other instructions.
 -DBUILD_GSTREAMER_PLUGIN=ON

After everything builds I'm having issues registering the kvssink with gts-launch though:
root@223e9dca3677:/opt/amazon-kinesis-video-streams-producer-sdk-cpp/build# ls
CMakeCache.txt       kinesis_video_gstreamer_audio_video_sample_app  libKinesisVideoProducer.so
CMakeFiles           kinesis_video_gstreamer_sample_app              libgstkvssink.so
Makefile             kinesis_video_gstreamer_sample_multistream_app
cmake_install.cmake  kvscproducer
root@223e9dca3677:/opt/amazon-kinesis-video-streams-producer-sdk-cpp/build# gst-launch-1.0 -v rtmpsrc name=rtmpsrc blocksize=1024 do-timestamp=true location="rtmp://localhost:1935/$app/$name" ! flvdemux name=demux demux.video ! h264parse ! video/x-h264, format=avc,alignment=au ! kvssink stream-name=$name storage-size=512
WARNING: erroneous pipeline: no element "kvssink"

How do I register the kvssink with gstreamer?

Ah I was missing exports from these instructions: https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/examples-gstreamer-plugin.html. Will try that and see.

Hm I adjusted those exports to match the updated directory structure:
export LD_LIBRARY_PATH=/opt/amazon-kinesis-video-streams-producer-sdk-cpp/downloads/local/lib:$LD_LIBRARY_PATH
export PATH=/opt/amazon-kinesis-video-streams-producer-sdk-cpp/downloads/local/bin:$PATH
export GST_PLUGIN_PATH=/opt/amazon-kinesis-video-streams-producer-sdk-cpp/build:$GST_PLUGIN_PATH

and it still isn't able to find it

In your build directory do you have libgstkvssink.so?
If I execute
LD_LIBRARY_PATH=`pwd`/../open-source/local/lib GST_PLUGIN_PATH=`pwd` gst-inspect-1.0 kvssink

I get the plugin details. The plugin may be blacklisted, try removing rm -rf ~/.cache/gstreamer-1.0/
I am working on updating the docs, they are in a PR now. Should be done today!

Thanks for the responses today!
 -DBUILD_GSTREAMER_PLUGIN=ON; make

ENV LD_LIBRARY_PATH=/opt/amazon-kinesis-video-streams-producer-sdk-cpp/open-source/local/lib:$LD_LIBRARY_PATH
ENV PATH=/opt/amazon-kinesis-video-streams-producer-sdk-cpp/open-source/local/bin:$PATH
ENV GST_PLUGIN_PATH=/opt/amazon-kinesis-video-streams-producer-sdk-cpp/build:$GST_PLUGIN_PATH

Happy to help @mwildehahn!
I also pushed a PR that builds autoconf/automake for us. We have been getting lots of PRs that this is a sticking point, so that should make it easier in the future :)
Closing, but if you still have issues please re-open!


Deprecate gulp-react in favor of gulp-babel

As per this post (https://facebook.github.io/react/blog/2015/06/12/deprecating-jstransform-and-react-tools.html), the React dev team is deprecating react-tools and invite developers to migrate to Babel.
The migration is trivial. Since this plugin comes first when you look for a gulp plugin for React, and since we should promote recommended implementation (Babel as of now), it would be nice if the README of this project could mention the deprecation and link to gulp-babel.
What do you think?

Let's hear what Sindre thinks, but that sounds like the right thing to do, yeah :+1:

:+1:

Let's do it.


Add CPUchain support

Thanks, looks good. Should this have an entry in bitcoinjs-extensions.js or is it a segwit-only coin?

@iancoleman We use both segwith and legacy address, should I do something more?

@iancoleman Done!

The test is failing for me, do you know how the value used in this PR was obtained and is it correct?

@iancoleman See our chain spec https://github.com/cpuchain/cpuchain/blob/master/src/chainparams.cpp


az vm nic remove not working

I'm trying the command, "az vm nic remove -g omsagenttesting --vm-name vmname --nics nic" just returns the message, "Virtual machine suse12-clitest must have at least one network interface"

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 44492c80-0c67-be85-468f-61408358305d
Version Independent ID: 1e9b4811-c10d-e29f-7d48-ba07e17bc322
Content: az vm nic
Content Source: src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/_help.py
Service: virtual-machines
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

Please reopen if you in fact have multiple NICs on your VM and are still receiving this message


Tt2 942 gdpr add support for daterange for data retrieval

add cli command retrieve-audit-data to start glacier restore and double decryption
repo organisation to so each cli command gets it own subfolder
eslint updated to support types for testVariadicArgs in scripts/utils/cliUtils.ts

Hi Zayd,
It's crucial to maintain a close alignment between the scope of the ticket and the changes made in the PR. This helps us keep our codebase clean, ensures that we have clear documentation of what changes were made, and makes it easier for everyone to understand the purpose of each PR - not just for our current team but those who will be maintaining this way into the future.
This PR does way more than outlined in the ticket here, and overlaps with CLI work which was documented for this ticket here..
Please either:
a) Write well documented descriptions of ALL the changes you are making unrelated to the ticket, and why.
b) Resubmit this with just the changes related to ticket TT2-942.
Thanks.

Hi Zayd,
It's crucial to maintain a close alignment between the scope of the ticket and the changes made in the PR. This helps us keep our codebase clean, ensures that we have clear documentation of what changes were made, and makes it easier for everyone to understand the purpose of each PR - not just for our current team but those who will be maintaining this way into the future.
This PR does more than outlined in the ticket here, and overlaps with CLI work which was documented for this ticket here..
Please either: a) Write well documented descriptions of ALL the changes you are making unrelated to the ticket, and why. b) Resubmit this with just the changes related to ticket TT2-942, and add other changes to separate tickets.
Thanks.

Hi Zayd,
It's crucial to maintain a close alignment between the scope of the ticket and the changes made in the PR. This helps us keep our codebase clean, ensures that we have clear documentation of what changes were made, and makes it easier for everyone to understand the purpose of each PR - not just for our current team but those who will be maintaining this way into the future.
This PR does more than outlined in the ticket here, and overlaps with CLI work which was documented for this ticket here..
Please either: a) Write well documented descriptions of ALL the changes you are making unrelated to the ticket, and why. b) Resubmit this with just the changes related to ticket TT2-942, and add other changes to separate tickets.
Thanks.

curious to know what you feel went out of scope of the ticket? Any thing in particular?


Fix React Native documentation

Hi,
Fix React Native documentation, because if you write onChangeText={onChange} your input was laggy.
The correct code was onChangeText={(value) => onChange(value)}.

hi,
thanks for the PR.

Fix React Native documentation, because if you write onChangeText={onChange} your input was laggy.

are you sure this is the issue?


Exporting Data

I'm not sure if this has been brought up or addressed...
As a feature request, it would be helpful to have an option to export data into a PDF, Excel or CSV format as is possible on Google Analytics. Before I made the switch to Umami from the dark side, I personally exported to PDF quite regularly.

See #310.
PDF is probably a little more involved to do since that requires formatting and presentational operations that would have to be done and are most likely out of scope for what Mike's trying to achieve. Personally, I'd love to see some sort of CSV export, it's a bit of an involved process to dump from the database, then convert that data to CSV just to be able to get it into something else to categorize further or to migrate into other analytics tools.

@highschooldropout what do you mean by PDF? like summarized reports?
It doesn't really make sense to export to CSV because you already own the data. There are database commands that you can run to accomplish this:
https://www.mysqltutorial.org/mysql-export-table-to-csv/
https://www.postgresqltutorial.com/export-postgresql-table-to-csv-file/

@mikecao I would think the data export & import feature would also come in handy in the following use cases:

Back up the analytics periodically. I believe you could do this by backing up the database as well, but that is probably not easy enough for everyone.
Move the analytics from one instance of umami to another. This would be a case where we are upgrading to Umami with breaking changes and also to support no downtime. When upgrading to a version with breaking changes, folks could install a new version - point the DNS to a new instance - then import the historical data from the older instance.
Move into Umami from a different analytics solution and still keep the historical data as long as the import format is maintined.

Since umami is a self-hosted application, I think exporting & importing is more of a db operation that a feature.
Still, we need some guidance on how to create a SQL file that is capable of adding analytics data from other services.
P.S. I really think this issue should be called "Importing data" :p

This would be very useful as a classic JSON file to also migrate form PostgreSQL to MySQL or vice versa :)

Hi @mikecao
I don’t know if you already have documentation to move from PostGreSQL to MySQL but here is what I’ve made to do it.
Hope it helps!
https://blog.thelazyfox.xyz/script-factory/migrate-umami-from-postgresql-to-mysql/


Unsafe Read/Write over Synchronizer.highestSeen detected

Start harness with race detector
make test-harness-race-alive
Check for races periodically
cat /tmp/localnet-*/node-900*/*stderr | grep -A 40 "DATA RACE"

Detected locally:
==================
WARNING: DATA RACE
Read at 0x00c0001882c8 by goroutine 124:
  github.com/dusk-network/dusk-blockchain/pkg/core/chain.(*Synchronizer).ProcessBlock()
        dusk-blockchain/pkg/core/chain/synchronizer.go:116 +0x16e
  github.com/dusk-network/dusk-blockchain/pkg/core/chain.(*Synchronizer).ProcessBlock-fm()
        dusk-blockchain/pkg/core/chain/synchronizer.go:105 +0x5c
  github.com/dusk-network/dusk-blockchain/pkg/p2p/peer.(*MessageProcessor).process()
        dusk-blockchain/pkg/p2p/peer/processor.go:81 +0x1c7
  github.com/dusk-network/dusk-blockchain/pkg/p2p/peer.(*MessageProcessor).Collect()
        dusk-blockchain/pkg/p2p/peer/processor.go:47 +0x11d
  github.com/dusk-network/dusk-blockchain/pkg/p2p/peer.(*Reader).readLoop.func2()
        dusk-blockchain/pkg/p2p/peer/peer.go:358 +0x138

Previous write at 0x00c0001882c8 by goroutine 125:
  [failed to restore the stack]

Goroutine 124 (running) created at:
  github.com/dusk-network/dusk-blockchain/pkg/p2p/peer.(*Reader).readLoop()
        dusk-blockchain/pkg/p2p/peer/peer.go:354 +0x680
  github.com/dusk-network/dusk-blockchain/pkg/p2p/peer.(*Reader).ReadLoop()
        dusk-blockchain/pkg/p2p/peer/peer.go:301 +0x56

Goroutine 125 (finished) created at:
  github.com/dusk-network/dusk-blockchain/pkg/p2p/peer.(*Reader).readLoop()
        dusk-blockchain/pkg/p2p/peer/peer.go:354 +0x680
  github.com/dusk-network/dusk-blockchain/pkg/p2p/peer.(*Reader).ReadLoop()
        dusk-blockchain/pkg/p2p/peer/peer.go:301 +0x56

As a side note, a network inconsistency is reported when both #846 and #845 are detected by Race detector
 level=info msg="Network at round [78] driven by nodes [ 0, 1, 2, 3, 4, 5, 6, 7,]" process=monitor
 level=info msg="Network at round [0] driven by nodes [ 0,]" process=monitor
 level=error msg="potential network inconsistency detected

As a side note, a network inconsistency is reported when both #846 and #845 are detected by Race detector
 level=info msg="Network at round [78] driven by nodes [ 0, 1, 2, 3, 4, 5, 6, 7,]" process=monitor
 level=info msg="Network at round [0] driven by nodes [ 0,]" process=monitor
 level=error msg="potential network inconsistency detected


Check for computables when generating update types

This PR adds a check for computed fields before generating update types.
This should fix https://github.com/edgedb/edgedb/issues/4230 as empty update types can't be generated anymore.
Unfortunately I'm not able to test it properly as I have issues getting the local development server working...

I just realized, that a similar check should probably be introduced for the Insert types. But I'm a bit confused, as there's not even a check regarding the readonly properties.

We definitely want a test in the test suite that actually reproduces the #4230 bug so that we can be sure that this fixes it as well as that future changed don't break it again.
Whether we need a similar check for insert types depends on whether this bug is reproducible in Insert types.
So @dardanbujupaj, if you feel up to it, you can come back after you figure out what went wrong with your local development server and write a test for this.

@vpetrovykh Finally got the test environment to work.
I updated the PR, but instead of adding explicit tests, I updated tests/schemas/graphql_schema.esdl to contain a type according to the description in https://github.com/edgedb/edgedb/issues/4230.
This leads to all graphql_schema-tests failing and the changes to edb/graphql/types.py resolve this as expected.
You can check the failing tests at commit https://github.com/edgedb/edgedb/pull/4231/commits/5db40e0fa6a1e0a0d0ab996f73676ef7bb6c9d5a with  edb test -k test_graphql_schema.

This seems to be fixed in recent releases 👍🏻


PHP SAML - Plugin not visible in the plugin list

Just configured the GLPI v9.5.5 on Ubuntu v20.04, PHP v 7.4.3, the plugin does not appear on plugin list, is there any compatibility issue?. I tried other plugins and its working fine, tried latest 2 new versions of PHP SAML. Any suggestions please.

When you import the "phpsaml" folder into the plugins folder in the glpi directory, did you remove the version number, i.e phpsaml-1.1.2 > phpsaml

@mrgeppetto - Thanks for your support, Yes.. it worked after renaming the folder


Dismissing toasts crashing framework

When trying to dismiss toasts, sometimes this crashes the framework, stopping all further operations from it, forcing the client to do a page-reload to get it to work again.

Expected Behavior
Toasts to be dismissed
Current Behavior
Whole materializecss framework crashing on dismissing too many toasts/or dismissing too often.
Chrome error
Uncaught TypeError: Cannot read property 'removeChild' of null
    at Object.complete (materialize.min.js:6)
    at o (materialize.min.js:6)
    at r (materialize.min.js:6)
    at Object.D.v.tick (materialize.min.js:6)
    at e (materialize.min.js:6)

Firefox error
TypeError: t.el.parentNode is null[Learn More]
materialize.min.js:6:74966
complete
https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-beta/js/materialize.min.js:6:74966
o
https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-beta/js/materialize.min.js:6:25634
r
https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-beta/js/materialize.min.js:6:26182
D/v.tick
https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-beta/js/materialize.min.js:6:26558
e
https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-beta/js/materialize.min.js:6:29747

Steps to Reproduce (for bugs)

Run this code in the console

for(var i = 0; i < 3; i++) {
    var toast = document.querySelector(".toast");
    if(toast != null) {
    var instance = M.Toast.getInstance(toast);
        if(instance.timeRemaining > 0) {
            instance.dismiss();
        }
    }
    M.toast({html: "testing", displayLength: 4000})
}

or this
for(var i = 0; i < 3; i++) {
    M.Toast.dismissAll();
    M.toast({html: "testing", displayLength: 4000})
}

Context

I'm trying to just keep one toast at screen at any given time following the material.io (https://material.io/guidelines/components/snackbars-toasts.html#snackbars-toasts-usage) guidelines.

Your Environment

Version used: 1.0.0-beta and 1.0.0-rc.1
Browser Name and version: Chrome 66.0.3359.139 and Firefox 59.0.2
Operating System and version (desktop or mobile): desktop and mobile

As stated in https://github.com/Dogfalo/materialize/issues/5809 that it is fixed in https://github.com/Dogfalo/materialize/commit/ff6f9fbd8ecd399a409f2ab9e59c4b1b303fd91c, it still persists in 1.0.0-rc.1

I was able to run that code on materializecss.com without problems.

Seems it was fixed after all, I'll close the issue.