ValueError: cannot copy sequence with size 840 to array axis with dimension 831

for some reason when I work on Crypto and try to run the following code
env_train, _ = e_train_gym.get_sb_env()
I get this error
 ValueError: cannot copy sequence with size 840 to array axis with dimension 831
I remember solving it but I do not recall exactly why,
the environment used below:
stock_dimension = len(train.tic.unique())
state_space = 1 + 2*stock_dimension + len(config["TECHNICAL_INDICATORS_LIST"])*stock_dimension
print(f"Stock Dimension: {stock_dimension}, State Space: {state_space}")

env_kwargs = {
    "hmax": 100,
    "initial_amount": 1000000,
    "buy_cost_pct": 0.001,
    "sell_cost_pct": 0.001,
    "state_space": state_space,
    "stock_dim": stock_dimension,
    "tech_indicator_list": config["TECHNICAL_INDICATORS_LIST"],
    "action_space": stock_dimension,
    "reward_scaling": 1e-4

}
e_train_gym = StockTradingEnv(df = train, **env_kwargs)

Thanks,

@Youbadawy I believe the cause to be time series mismatch. Can you share snippet or code after fetching the data and before this state space.

@Tarun-Khilani you are absolutely right, I have the issue between my observation_space = (-inf, inf, (state_space,)) and my initial state which receives a value of 673 due to the environment equation.
I am using the env_stocktrading example for multi stock, as shown below,
class StockTradingEnv(gym.Env):
    """A stock trading environment for OpenAI gym"""
    metadata = {'render.modes': ['human']}

    def __init__(self,
                df,
                stock_dim,
                hmax,
                initial_amount,
                buy_cost_pct,
                sell_cost_pct,
                reward_scaling,
                state_space,
                action_space,
                tech_indicator_list,
                turbulence_threshold=None,
                make_plots = False,
                print_verbosity = 10,
                day = 0,
                initial=True,
                previous_state=[],
                model_name = '',
                mode='',
                iteration=''):
        self.day = day
        self.df = df
        self.stock_dim = stock_dim
        self.hmax = hmax
        self.initial_amount = initial_amount
        self.buy_cost_pct = buy_cost_pct
        self.sell_cost_pct = sell_cost_pct
        self.reward_scaling = reward_scaling
        self.state_space = state_space
        self.action_space = action_space
        self.tech_indicator_list = tech_indicator_list
        self.action_space = spaces.Box(low = -1, high = 1,shape = (self.action_space,))
        self.observation_space = spaces.Box(low=-np.inf, high=np.inf, shape = (self.state_space,))
        self.data = self.df.loc[self.day,:]
        self.terminal = False
        self.make_plots = make_plots
        self.print_verbosity = print_verbosity
        self.turbulence_threshold = turbulence_threshold
        self.initial = initial
        self.previous_state = previous_state
        self.model_name=model_name
        self.mode=mode
        self.iteration=iteration
        # initalize state
        self.state = self._initiate_state()

        # initialize reward
        self.reward = 0
        self.turbulence = 0
        self.cost = 0
        self.trades = 0
        self.episode = 0
        # memorize all the total balance change
        self.asset_memory = [self.initial_amount]
        self.rewards_memory = []
        self.actions_memory=[]
        self.date_memory=[self._get_date()]
        #self.reset()
        self._seed()

    def reset(self):
        #initiate state
        self.state = self._initiate_state()

        if self.initial:
            self.asset_memory = [self.initial_amount]
        else:
            previous_total_asset = self.previous_state[0]+ \
            sum(np.array(self.state[1:(self.stock_dim+1)])*np.array(self.previous_state[(self.stock_dim+1):(self.stock_dim*2+1)]))
            self.asset_memory = [previous_total_asset]

        self.day = 0
        self.data = self.df.loc[self.day,:]
        self.turbulence = 0
        self.cost = 0
        self.trades = 0
        self.terminal = False
        # self.iteration=self.iteration
        self.rewards_memory = []
        self.actions_memory=[]
        self.date_memory=[self._get_date()]

        self.episode+=1

        return self.state

    def _initiate_state(self):
        if self.initial:
            # For Initial State
            if len(self.df.tic.unique())>1:
                # for multiple stock
                state = [self.initial_amount] + \
                         self.data.close.values.tolist() + \
                         [0]*self.stock_dim  + \
                         sum([self.data[tech].values.tolist() for tech in self.tech_indicator_list ], [])
            else:
                # for single stock
                state = [self.initial_amount] + \
                        [self.data.close] + \
                        [0]*self.stock_dim  + \
                        sum([[self.data[tech]] for tech in self.tech_indicator_list ], [])
        else:
            #Using Previous State
            if len(self.df.tic.unique())>1:
                # for multiple stock
                state = [self.previous_state[0]] + \
                         self.data.close.values.tolist() + \
                         self.previous_state[(self.stock_dim+1):(self.stock_dim*2+1)]  + \
                         sum([self.data[tech].values.tolist() for tech in self.tech_indicator_list ], [])
            else:
                # for single stock
                state = [self.previous_state[0]] + \
                        [self.data.close] + \
                        self.previous_state[(self.stock_dim+1):(self.stock_dim*2+1)]  + \
                        sum([[self.data[tech]] for tech in self.tech_indicator_list ], [])
        return state

    def get_sb_env(self):
        e = DummyVecEnv([lambda: self])
        obs = e.reset()
        return e, obs`

it is in this part of the code, that I am trying to figure out is why the state is defined as this, a series of lists added together like that?
            state = [self.initial_amount] + \
                      self.data.close.values.tolist() + \
                      [0]*self.stock_dim  + \
                      sum([self.data[tech].values.tolist() for tech in self.tech_indicator_list ], [])

the above state definition is the one with length 673.  What I am currently trying to figure out is do we define the order we input these variables, like how does the agent know what each variable within our list corresponds? and why does my state space give another length then the 673?
All these questions are meant to further explain the way we define our environment, and how the agent interacts with it, As much as I would like to fix the issue, I am seeking revelation so to speak!
for readability purposes I only kept the methods in question, but if you would like to see the rest of the class, it is the same as the one in the repository!

@Tarun-Khilani
So basically to answer my own question about where they identify the variables from the state, we have in the step function the extraction of each piece of information. which in my opinion seems like an error prone way of defining your state, yet I am not an expert in the subject so I don't know the norms in the field.
    def step(self, actions):
        self.terminal = self.day >= len(self.df.index.unique())-1
        if self.terminal:
            # print(f"Episode: {self.episode}")
            if self.make_plots:
                self._make_plot()
            end_total_asset = self.state[0]+ \
                sum(np.array(self.state[1:(self.stock_dim+1)])*np.array(self.state[(self.stock_dim+1):(self.stock_dim*2+1)]))
            df_total_value = pd.DataFrame(self.asset_memory)
            tot_reward = self.state[0]+sum(np.array(self.state[1:(self.stock_dim+1)])*np.array(self.state[(self.stock_dim+1):(self.stock_dim*2+1)]))- self.initial_amount
            df_total_value.columns = ['account_value']
            df_total_value['date'] = self.date_memory
            df_total_value['daily_return']=df_total_value['account_value'].pct_change(1)
            if df_total_value['daily_return'].std() !=0:
                sharpe = (252**0.5)*df_total_value['daily_return'].mean()/ \
                      df_total_value['daily_return'].std()
            df_rewards = pd.DataFrame(self.rewards_memory)
            df_rewards.columns = ['account_rewards']
            df_rewards['date'] = self.date_memory[:-1]
            if self.episode % self.print_verbosity == 0:
                print(f"day: {self.day}, episode: {self.episode}")
                print(f"begin_total_asset: {self.asset_memory[0]:0.2f}")
                print(f"end_total_asset: {end_total_asset:0.2f}")
                print(f"total_reward: {tot_reward:0.2f}")
                print(f"total_cost: {self.cost:0.2f}")
                print(f"total_trades: {self.trades}")
                if df_total_value['daily_return'].std() != 0:
                    print(f"Sharpe: {sharpe:0.3f}")
                print("=================================")

            if (self.model_name!='') and (self.mode!=''):
                df_actions = self.save_action_memory()
                df_actions.to_csv('results/actions_{}_{}_{}.csv'.format(self.mode,self.model_name, self.iteration))
                df_total_value.to_csv('results/account_value_{}_{}_{}.csv'.format(self.mode,self.model_name, self.iteration),index=False)
                df_rewards.to_csv('results/account_rewards_{}_{}_{}.csv'.format(self.mode,self.model_name, self.iteration),index=False)
                plt.plot(self.asset_memory,'r')
                plt.savefig('results/account_value_{}_{}_{}.png'.format(self.mode,self.model_name, self.iteration),index=False)
                plt.close()

            # Add outputs to logger interface
            logger.record("environment/portfolio_value", end_total_asset)
            logger.record("environment/total_reward", tot_reward)
            logger.record("environment/total_reward_pct", (tot_reward / (end_total_asset - tot_reward)) * 100)
            logger.record("environment/total_cost", self.cost)
            logger.record("environment/total_trades", self.trades)

            return self.state, self.reward, self.terminal, {}

        else:

            actions = actions * self.hmax #actions initially is scaled between 0 to 1
            actions = (actions.astype(int)) #convert into integer because we can't by fraction of shares
            if self.turbulence_threshold is not None:
                if self.turbulence>=self.turbulence_threshold:
                    actions=np.array([-self.hmax]*self.stock_dim)
            begin_total_asset = self.state[0]+ \
            sum(np.array(self.state[1:(self.stock_dim+1)])*np.array(self.state[(self.stock_dim+1):(self.stock_dim*2+1)]))
            #print("begin_total_asset:{}".format(begin_total_asset))

            argsort_actions = np.argsort(actions)

            sell_index = argsort_actions[:np.where(actions < 0)[0].shape[0]]
            buy_index = argsort_actions[::-1][:np.where(actions > 0)[0].shape[0]]

            for index in sell_index:
                # print(f"Num shares before: {self.state[index+self.stock_dim+1]}")
                # print(f'take sell action before : {actions[index]}')
                actions[index] = self._sell_stock(index, actions[index]) * (-1)
                # print(f'take sell action after : {actions[index]}')
                # print(f"Num shares after: {self.state[index+self.stock_dim+1]}")

            for index in buy_index:
                # print('take buy action: {}'.format(actions[index]))
                actions[index] = self._buy_stock(index, actions[index])

            self.actions_memory.append(actions)

            self.day += 1
            self.data = self.df.loc[self.day,:]
            if self.turbulence_threshold is not None:
                self.turbulence = self.data['turbulence'].values[0]
            self.state =  self._update_state()

            end_total_asset = self.state[0]+ \
            sum(np.array(self.state[1:(self.stock_dim+1)])*np.array(self.state[(self.stock_dim+1):(self.stock_dim*2+1)]))
            self.asset_memory.append(end_total_asset)
            self.date_memory.append(self._get_date())
            self.reward = end_total_asset - begin_total_asset
            self.rewards_memory.append(self.reward)
            self.reward = self.reward*self.reward_scaling

        return self.state, self.reward, self.terminal, {}

@Tarun-Khilani
So I pinpointed the main issue, is due to the first "day", or in my case should be the first 5 minutes, I don't have the data of the full stock lists I inputted, which is causing the problem,
since my initial state is trying to acquire the list of close prices from all my 78 stocks, while it is only receiving 66.
in the init field I defining my self.data = self.df.loc[self.day,:] which takes into account what day we are in. and since my first day some of the stocks are missing it causes the error!
Thanks for the help @Tarun-Khilani I believe that I shall go on creating a new envrionment for a faster timeframe like the 5min, if you have any advice?

@Youbadawy yeah so I believe you can do some pre-processing to extract only that much common available data, as in ignore the first day for all stocks if that is only missing data for some stocks, rather than new environment.

@Tarun-Khilani absolutely, it was an issue where I dropped all NA features, instead if I fill them with 0 it will work as well,
but wouldnt the increase in 0s affect the training and agent learning,
like a fraud detection system with mostly non fraud training dataset will just focus on predicting non fraud everytime?

@Youbadawy That is why it would be better to drop for other stocks as well or you can fill with previous value rather than 0.

Or a knn imputation would definitely do the trick! ;)

I got a similar error
Successfully added technical indicators
Successfully added turbulence index
Traceback (most recent call last):
File "d:\Dropbox\AIML EDUCATION\FinRL-Library-master\FinRL-Library-master\main.py", line 51, in
main()
File "d:\Dropbox\AIML EDUCATION\FinRL-Library-master\FinRL-Library-master\main.py", line 38, in main
finrl.autotrain.training.train_one()
File "d:\Dropbox\AIML EDUCATION\FinRL-Library-master\FinRL-Library-master\finrl\autotrain\training.py", line 66, in train_one
env_train, _ = e_train_gym.get_sb_env()
File "d:\Dropbox\AIML EDUCATION\FinRL-Library-master\FinRL-Library-master\finrl\env\env_stocktrading.py", line 379, in get_sb_env
obs = e.reset()
File "C:\Users\Denis\AppData\Roaming\Python\Python37\site-packages\stable_baselines3\common\vec_env\dummy_vec_env.py", line 62, in reset
self._save_obs(env_idx, obs)
File "C:\Users\Denis\AppData\Roaming\Python\Python37\site-packages\stable_baselines3\common\vec_env\dummy_vec_env.py", line 92, in _save_obs
self.buf_obs[key][env_idx] = obs
ValueError: cannot copy sequence with size 283 to array axis with dimension 301
What do I do to fix this?

Hello @CodingWookie, you need to make sure of the data inputted, that you have the following items asserted,
1- no values that are NA,
2- no Date values duplicated
this is a preprocessing error, so reprocess the input DF that you have

Does it have

Hello @CodingWookie, you need to make sure of the data inputted, that you have the following items asserted,
1- no values that are NA,
2- no Date values duplicated
this is a preprocessing error, so reprocess the input DF that you have

Does this have anything to do with posts above?
I just ran the main.py file... but do I have to update the config.py file to account for ticker updates  or do I just need to include a statement to ignore NA values?

It would be best if you showcase the error with some snippets of the
DataFrame, code ran, and error code!
On Tue, Mar 2, 2021 at 11:53 AM CodingWookie<EMAIL_ADDRESS>wrote:

Does it have
Hello @CodingWookie https://github.com/CodingWookie, you need to make
sure of the data inputted, that you have the following items asserted,
1- no values that are NA,
2- no Date values duplicated
this is a preprocessing error, so reprocess the input DF that you have
Does this have anything to do with posts above?
I just ran the main.py file... but do I have to update the config.py file
to account for ticker updates or do I just need to include a statement to
ignore NA values?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/AI4Finance-LLC/FinRL-Library/issues/137#issuecomment-788817866,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKU53C7KFLZTCPJ75WXVHBDTBS7S3ANCNFSM4XVB4C5A
.

--
Thank you,
Youssef Badawy,
YBadawy

`
(finrl) PS D:\Dropbox\AIMLEDUCATION\FinRL-Library-master\FinRL-Library-master> python main.py --mode=train
C:\Users\Denis\anaconda3\envs\finrl\lib\site-packages\pyfolio\pos.py:28: UserWarning: Module "zipline.assets" not found; mutltipliers will not be applied to position notionals.
' to position notionals.'
==============Start Fetching Data===========
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
[100%]  1 of 1 completed
Shape of DataFrame:  (156457, 8)
==============Start Feature Engineering===========
Successfully added technical indicators
Successfully added turbulence index
Traceback (most recent call last):
File "main.py", line 51, in
main()
File "main.py", line 38, in main
finrl.autotrain.training.train_one()
File "D:\Dropbox\AIMLEDUCATION\FinRL-Library-master\FinRL-Library-master\finrl\autotrain\training.py", line 66, in train_one
env_train, _ = e_train_gym.get_sb_env()
File "D:\Dropbox\AIMLEDUCATION\FinRL-Library-master\FinRL-Library-master\finrl\env\env_stocktrading.py", line 379, in get_sb_env
obs = e.reset()
File "C:\Users\Denis\anaconda3\envs\finrl\lib\site-packages\stable_baselines3\common\vec_env\dummy_vec_env.py", line 62, in reset
self._save_obs(env_idx, obs)
File "C:\Users\Denis\anaconda3\envs\finrl\lib\site-packages\stable_baselines3\common\vec_env\dummy_vec_env.py", line 92, in _save_obs
self.buf_obs[key][env_idx] = obs
ValueError: cannot copy sequence with size 292 to array axis with dimension 301
(finrl) PS D:\Dropbox\AIMLEDUCATION\FinRL-Library-master\FinRL-Library-master>
`


fix(cwv): window.webVitals[name] is not a function

Please ensure your pull request adheres to the following guidelines:

[x] make sure to link the related issues in this description
[x] when merging / squashing, make sure the fixed issue references are visible in the commits, for easy compilation of release notes

Related Issues
ping:cwv was throwing Uncaught TypeError: window.webVitals[name] is not a function
Thanks for contributing!

@trieloff , could you please review & merge? I don't have permissions to add reviewers etc. in this repo.


Update "Competition" under Analysis section

Make research and write content for the "Competition" article.
Follow the character count.

Issue description:
Competition analysis is the process of identifying and evaluating the strengths and weaknesses of your competitors in the marketplace. It involves gathering and analyzing information about your competitors' products, marketing strategies, target audience, pricing, and other factors that may impact your business.
The outcome of the competition analysis should be a detailed report that provides insights and recommendations for improving our competitive position in the market. We should also consider conducting regular updates to ensure that we stay up-to-date with changes in the market and our competitors' strategies.
Reference Links:
https://silkcorp.org/
https://guide.silkcorp.org/
https://www.joorney.com/samples/

@N-eng66, let's work on it.

https://www.joorney.com/samples/e2-business-plan-sample-hospitality-business/

Create something similar.


EKS upgrades loop without a default AMI list for v1.19 onwards

Spotted in 2.5.9.
Issue description:
When upgrading a downstream EKS cluster (eksv1 provisioned), the AMI list doesn't provide default AMIs for v1.19 and onwards. It's possible to select a version higher than v1.18 in the UI (due to eksv2 dynamic discovery?) and is supported in our matrix.

https://github.com/rancher/rancher/blob/release/v2.5/pkg/kontainer-engine/drivers/eks/eks_driver.go

Business impact:
This causes an update/provisioning loop with any planned upgrade not possible.
Troubleshooting steps:
Repro steps:
Create an eksv1 cluster in the UI:
Either directly as v1.19 or higher (provisioning loop)
OR, as v1.18 or lower and later upgrade (update loop)
Note! v2.5.9 defaults to creating new EKS clusters using the ekvs2 provisioning workflow, the eksv1 workflow can be reached in the UI with: https:///g/clusters/add/launch/amazoneks
Workaround:
Edit the cluster in the API to set the ami field to a valid EKS-Optimized AMI (not possible in the UI) that matches the desired version. Once the request is sent, follow through with another edit/save in the UI to set the client credentials and proceed.

https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html

SURE-3342

Clarification:

That's correct, Rancher will error during provisioning attempting to look up the >=1.19 AMIs in the map. Yes it's the latter, the version is in the list (I assume the same list is presented for eksv1/v2), and if a cluster was provisioned using eksv1 the AMIs aren't defined beyond 1.18.

Error: This cluster is currently Updating. Default ami of region us-east-1 for kubernetes version 1.19 is not set

Note: We need to add in the AMIs for all EKS versions that are supported in the UI for KEv1.
To test: Deploy an older KEv1 cluster in 2.4 and upgrade to 2.5-head and upgrade to a 1.19+ cluster.
AMIs need to be added for 1.19, 1.20, 1.21
https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html
We should also confirm that the UI has support to deploy all 3 versions.

There is a script that @paraglade has written before to help obtain these AMIs but I don't kmow where it's located.

Default AMIs for these versions exist in 2.6, but not in 2.5. This issue will be used to update the AMIs in 2.6.

Validated on v2.6-head (e62e1ae34eca46bd733b7f67d1cea055395ac45d):
Test 1:

Navigate to https://rancherserver/g/clusters/add/launch/amazoneks
Select region us-west-2
Select version 1.19
Accept all other defaults
Result: cluster becomes active :heavy_check_mark:

Test 2:

Navigate to https://rancherserver/g/clusters/add/launch/amazoneks
Select region us-east-2
Select version 1.19
Accept all other defaults
Result: cluster becomes active :heavy_check_mark:

Test 3:

Navigate to https://rancherserver/g/clusters/add/launch/amazoneks
Select region us-east-2
Select version 1.18
Accept all other defaults
Wait for cluster to become active
Upgrade to 1.19
Result: cluster becomes active :heavy_check_mark:

It's possible to bump that AMI lists in 2.5 version ? I can't upgrader to rancher 2.6 for now. I have an issue with applications part...


Refine and add doc for testcase

There is another part which also need to be refined by Jianyu in docs/builder/backends.md.


Hello World Example cargo.toml ?

The hyper hello world example is a .rs file.
Shouldn't it comes with a cargo.toml file so that we can know its dependencies? Just tried that example however service_fn cannot be found in crates.io

Not sure if this answers your question, but the 'examples' directory is a special directory that cargo recognizes for storing examples. To run an example, from the root of the repo, run:
cargo run --example hello

The README is suggesting

See the Hello World example for a toy server using hyper

But IMHO for people who want to have a quick try will be expecting something like  https://github.com/nghenglim/hello-async-hyper , which can give a better idea of setting up a project with Hyper as a dependencies

I agree with @nghenglim, examples should be self contained and copy-paste:able.

Just hit this issue as well. Wanted to try hyper, copied the code from the front page. Missing fn main was a trivial fix, but then finding this service_fn crate was kinda hard since it's not on crates.io.


Enable debugging mode for app invites failures

Within the demo app, with multiple GMail account and the configuration JSON here below, I keep on receiving the red snackbar with saying "Message failed to send". Would it be possible to add a debug flag and understand where is the issue?
{
    "project_info": {
        "project_id": "default-demo-app-799df",
        "project_number": "994265307421",
        "name": "Default Demo App"
    },
    "client": [
        {
            "client_info": {
                "client_id": "android:com.google.android.gms.samples.appinvite",
                "client_type": 1,
                "android_client_info": {
                    "package_name": "com.google.android.gms.samples.appinvite"
                }
            },
            "oauth_client": [
                {
                    "client_id": "994265307421-brmrp11tgmdqo8v6igsj3uuiajtrqa34.apps.googleusercontent.com",
                    "client_type": 1,
                    "android_info": {
                        "package_name": "com.google.android.gms.samples.appinvite",
                        "certificate_hash": "4d9dee66683594516edeec92efb0cd13d658172b"
                    }
                }
            ],
            "services": {
                "analytics_service": {
                    "status": 1
                },
                "cloud_messaging_service": {
                    "status": 1,
                    "apns_config": []
                },
                "appinvite_service": {
                    "status": 2,
                    "other_platform_oauth_client": []
                },
                "google_signin_service": {
                    "status": 1
                },
                "ads_service": {
                    "status": 1
                }
            }
        }
    ]
}

Looks like this is specific to the Android sample - do you have an error code that is being returned?

Closing for inactivity. Please reopen if needed!


minor edits

There was an error while validating job 1f4dca24-7bab-4bbc-90ca-961bc980d1d2 Message:Error clonning repositoryDetails:System.ArgumentException: Error clonning repository ---> System.Exception: Error when trying to initialize shared repository ---> LibGit2Sharp.NotFoundException: Branch 438 not found. Available branches:
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.GetBranch(Repository repo, String name)
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.<>c__DisplayClass3e.b__3d()
at Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.RetryPolicy.<>c__DisplayClass1.b__0()
at Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.RetryPolicy.ExecuteAction[TResult](Func1 func)    at Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.RetryPolicy.ExecuteAction(Action action)    at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.InitializeSharedRepository(String url, IDictionary2 branches, String sharedRepoPath)
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.VerifySharedRepository(String url, IDictionary2 branches, String tempPath)    --- End of inner exception stack trace ---    at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.VerifySharedRepository(String url, IDictionary2 branches, String tempPath)
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.CloneRepository(String url, IDictionary2 branches)    --- End of inner exception stack trace ---    at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.CloneRepository(String url, IDictionary2 branches)
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.CloneRepository()
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.GetTreeAsync(String path, Boolean includeSubDirectories, String excludePath, IList1 extensionWhiteList)    at Microsoft.DPS.Commands.IdentifyDocumentsToPublish.ListSourceControlFilesCommand.Do(IDictionary2 context)
at Microsoft.LightweightJobEngine.Core.Language.JobWorkflow1.RunCommands(Guid jobId, IDictionary2 context, CancellationTokenSource cancelSignal)


Add yyyy() and nemo_yyyymm() date formatters.

This supports Greig's use of Reshapr for his coarsened SalishSeaCast hindcast work.
Also includes a refactoring of dataset paths list calculation.

Unfortunately, this in only part of what is required to handle the coarsened SalishSeaCast files. They are the product of ncrcat applied to a model-month's of day-average files with the file pattern values like
{yyyy}/SalishSea1500-RUN203_1h_grid_V_y{nemo_yyyymm}.nc
That requirement is somewhat related to what is needed to resolve issue #32  .


Needless requirement for ports in Execution service definition

See original issue on GitLab
In GitLab by [Gitlab user @pointswaves] on May 31, 2020, 23:18
Summary
    cat > ~/.config/buildstream.conf << EOF
    remote-execution:
      execution-service:
        url: https://remotebuild.pointswaves.co.uk:443
        client-key: $CLIENT_KEY
        client-cert: $CLIENT_CERT
      storage-service:
        url: https://cache.pointswaves.co.uk:443
        client-key: $CLIENT_KEY
        client-cert: $CLIENT_CERT
      action-cache-service:
        url: https://cache.pointswaves.co.uk:443
        client-key: $CLIENT_KEY
        client-cert: $CLIENT_CERT
    EOF

Missing off the :443 Causes:
[00:00:11][9f42840b][   build:freedesktop-sdk.bst:bootstrap/build/debugedit-build.bst] FAILURE You must supply a protocol and port number in the action-cache-service url, for example: http://buildservice:50051.

This seems very odd when
    cat > ~/.config/buildstream.conf << EOF
    artifacts:
    - url: https://cache.pointswaves.co.uk
      client-key: $CLIENT_KEY
      client-cert: $CLIENT_CERT
      push: true
    EOF

works fine
Please see https://gitlab.com/pointswaves/embbeded-selfy/-/jobs/574850671 for more details

In GitLab by [Gitlab user @willsalmon] on Jun 1, 2020, 08:21
changed the description

In GitLab by [Gitlab user @traveltissues] on Jul 1, 2020, 14:15
i think ports should either be default and overridden when explicit or required to be explicit

This appears to be old and obsolete.
For http remotes, the default port will be 80, and 443 is used by default for https remotes.
See: https://github.com/apache/buildstream/blob/master/src/buildstream/_remotespec.py#L184
This is the same codepath that is used for all grpc connections (for remote execution and also for artifact/source caches).


Importing a OBJ mesh into a MeshInstance2D completely messes its transforms

Tested versions
Reproductible in v4.2.stable.mono.official [46dc27791]
Not Reproductible in v4.1.3.stable.official [f06b6836a]
System information
Godot v4.2.stable.mono - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1080 (NVIDIA; <IP_ADDRESS>5) - Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz (8 Threads)
Issue description
I'm doing a 2D game in a very polygonal/vector style, and I was planning on using 2D Meshes.
However, upon re-importing my meshes in 4.2, I noticed that all of them were incorrectly scaled in the 2D Viewport, despite their actual (Node2D) scale not changing.
The situation in Godot v4.2.stable.mono.official [46dc27791]
What I expected the mesh to look like (screenshot from Blender, the mesh is built on the XZ axis, and exported to use Y as up, so it should be on XY in Godot)

The mesh in Godot's 2D viewport, it was clearly offset to the bottom left, and squished on one axis. Its visual scale is also immensely smaller than the export scale.

The MeshInstance's full hitbox (the model isn't even visible anymore)

Double-checking
Now, to Check that I wasn't just going Insane or doing something wrong, I tried to create a completely new project AND a completely blank blend file with this mesh that I quickly cobbled together.

However, when I imported it to Godot, I was met with this, and to double check that it was also doing what I described above...

... I superposed the blender viewport and Godot viewport, and this mesh seems to also be squished, with no intervention on my part

Checking in Godot 4.1
To be fully sure, I imported the same OBJ meshes in Godot v4.1.3.stable.official [f06b6836a].
Which seems to work as expected

Steps to reproduce

Create a flat mesh in Blender (or any software of your choice)
Export that mesh as a OBJ, so that it should be aligned with the XY plane
Import it in a fresh Godot project
Create a 2D scene, and add a MeshInstance2D to it
Assign your mesh to the MeshInstance2D's mesh field
Verify that its Hitbox matches its bounds, and that it wasn't deformed or moved around by the importer

Minimal reproduction project (MRP)
4.2 and 4.1 Projects used in this report linked below
godot_4.1_bug_hunt.zip
godot_4.2_bug_hunt.zip

This seems to be caused by the new mesh compression option.
You can fix the problem by disabling mesh compression in the import settings:

I can think of two possible engine changes that would help alleviate this issue:

We could detect if the z channel is used in the vertex positions, if z is always 0, we could assume the mesh is 2D and disable compression
We could add a callback that disables compression if the mesh is used in 2D (we do something similar for textures where we enable compression if used in 3D)

This seems to be caused by the new mesh compression option.
You can fix the problem by disabling mesh compression in the import settings:

I can think of two possible engine changes that would help alleviate this issue:
1. We could detect if the z channel is used in the vertex positions, if z is always 0, we could assume the mesh is 2D and disable compression

2. We could add a callback that disables compression if the mesh is used in 2D (we do something similar for textures where we enable compression if used in 3D)

I can confirm that this seems to fix it! I hadn't thought of trying this 😅

This seems to be caused by the new mesh compression option.
You can fix the problem by disabling mesh compression in the import settings:
I can think of two possible engine changes that would help alleviate this issue:
1. We could detect if the z channel is used in the vertex positions, if z is always 0, we could assume the mesh is 2D and disable compression

2. We could add a callback that disables compression if the mesh is used in 2D (we do something similar for textures where we enable compression if used in 3D)

I can confirm that this seems to fix it! I hadn't thought of trying this 😅

To be fair, its a new option and it wasn't needed before. We are still figuring out how to make the option more visible to users as there are cases where it will be needed.
In this case though, I think we can figure out an in-engine fix that won't require you to toggle the option. Its just a workaround for now

I can also confirm this issue in v4.3-dev5 with .glb files.


Name doesn't appear on certificates after updating GitHub profile

I previously received my front end certification and my name didn't appear on it. Since then, I have updated my GitHub profile so that my name is on there. I tried updating my FCC profile from GitHub and didn't see a change. I just received my back end certification and my name doesn't appear on there either. It looks like it isn't actually updating from GitHub.

@BerkeleyTrue Please have a look.

Fixed https://www.freecodecamp.com/duckydisciple/front-end-certification
Happy Coding!

Thanks!

@BerkeleyTrue Thanks!


FC : LinkChangeNotification : to be updated as INVARIANT_PROCESS_SNIPPET

The OperationKeyManagement(OKM) application subscribes to get notified for any update in links through the service /v1/notify-link-updates.
Problem statement:
The Forwarding-construct "LinkChangeNotification" is currently of ForwardingKind FORWARDING_KIND_TYPE_SUBSCRIPTION which implies that more than one application/operation can subscribe to /v1/notify-link-updates (more than one output-port is created and updates are forwarded to all the output-ports)
Proposal:
Since, OKM is only applicable for subscription, can we update the forwarding-construct "LinkChangeNotification" to be an INVARIANT_PROCESS_SNIPPET
Related issue: https://github.com/openBackhaul/ApplicationLayerTopology/issues/59

ALT shall be open for future applications to subscribe for notifications about Link updates (see also comment in ALT issue#59).
Consequently, the ForwardingConstruct LinkChangeNotification shall stay being of type subscription.
This design corresponds to the current specification and implementation.
@IswaryaaS : If you would agree and also see no need for change, please close the issue.

I agree with the clarification provided as per https://github.com/openBackhaul/ApplicationLayerTopology/issues/59, hence closing the issue.


[tabular] Add valid_stacker and use_orig_features options

Issue #, if available:
Description of changes:

Add valid_stacker and use_orig_features options
valid_stacker allows to disable model in L2+ layers
use_orig_features="never" allows to disable model in L1 layer.
Improved exception logging in HPO
Added docstrings

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

The logic seems sound. We should incorporate tests to encompass these newly implemented parameters, if we haven't already done so.

The logic seems sound. We should incorporate tests to encompass these newly implemented parameters, if we haven't already done so.

Thanks! Created a GitHub issue to add tests: https://github.com/autogluon/autogluon/issues/4448
Since this logic is advanced and not enabled by default, I plan to add unit tests as a follow-up.


Error casting user data: Unexpected index

Chasing this bug where INTEGRATION_lidar_visual prints:

[Err] [Ogre2GpuRays.cc:262] Error casting user data: Unexpected index

in stderr which aren't happening in Edifice which ended up not being a rendering bug, I noticed that if I force retroValue = -1 the items from INTEGRATION_lidar_visual still do get rendered using standard PBS shaders in both Edifice (2.1) and Fortress (2.2).
These reveals two possible bugs:

laser_retro is not set anywhere. except ign-gazebo/src/rendering/SceneManager.cc and ign-rendering/test/integration/gpu_rays.cc but neither of them are set during INTEGRATION_lidar_visual test. Due to this change, it appears that previously by default Variant would return int 0, whereas now a default Variant will throw when trying to cast to any type because none is set.

If I force retroValue = -1 the items from INTEGRATION_lidar_visual still do get rendered using standard PBS shaders even though the code later messes with visibility flags:

if (retroValue >= 0)
{
  // set visibility flag so the camera can see it
  item->addVisibilityFlags(0x01000000);
  // ...
}

which suggests that the intended path is that items whose retroValue is not set should not be rendered; however they are being rendered.
Environment

OS Version: Ubuntu 18.04 LTS
Source or binary build?
Source. main branch

Description

Expected behavior: No errors printed on stderr. Likely appropriate objects should switch to use the custom low level material while the rest is not rendered (instead of being rendered using standard PBS).
Actual behavior in main: Errors are printed on stderr and objects are being rendered using PBS shaders
Behavior in Edifice: No stderr. All objects are switched to low level material because laser_retro defaults to 0 when unset. However if an object explicitly sets laser_retro to a negative value, objects will still be rendered using PBS, which is likely a bug.

Steps to reproduce

Run INTEGRATION_lidar_visual in main

Output
Lots of:

[Err] [Ogre2GpuRays.cc:262] Error casting user data: Unexpected index

Test still passes anyway but looks like random chance. Inspecting the RenderTarget shows results are quite different
Reference result (uses custom low level material shader):

Reference wireframe:

Failure result (uses PBS shaders. I don't think this element should be getting rendered at all!):

Failure wireframe:

I noticed the error got fixed and closed but the behavior is still different.

Before #371, not setting laser_retro would result in the material getting swapped
With the current fix, the object will be rendered using PBR shaders which is likely unwanted


Forth tag (topics)

Please create a "Forth" tag and ... for this project. (Label "Manage topic" in open project)

https://cdn1.savepice.ru/uploads/2020/6/28/523f0c8ff3de4787152058d0816e8cd1-full.png
(Topics)
https://cdn1.savepice.ru/uploads/2020/6/28/50b3665206438db7b0d6514586414438-full.png


New collective page initial release

This issue will track the progress for the first iteration of the new collective page.
Files

All components specific to this page will go to components/collective-page
index.js will export the main content component

Tree
└── components
⬜├── collective-page
⬜│⬜├── Hero.js
⬜│⬜├── index.js
⬜│⬜├── NavBar.js
⬜│⬜├── SectionAbout.js
⬜│⬜├── SectionBudget.js
⬜│⬜├── SectionUpdates.js
⬜│⬜├── SectionContributejs
⬜│⬜├── SectionContributors.js
Concepts

The main component (index.js) will be responsible for tracking the scroll position and update children accordingly.
For the first iteration, this page will be mounted on /collective/v2

Don't forget

[x] Migrate the old notification bar

Design

Desktop: https://www.figma.com/file/e71tBo0Sr8J7R5n6iMkqI42d/09.-Collectives?node-id=0%3A7428
Tablet: https://www.figma.com/file/e71tBo0Sr8J7R5n6iMkqI42d/09.-Collectives?node-id=2338%3A36062

The initial release is now ready, we'll use #2225 to collect feedback on it


Error in scp_send to Windows Hosts

I'm hopeful that this is PEBCAK but I can't seem to resolve it no matter what I try.
Any attempts to scp_send a file to a windows host seem to fail on anything other than a relative filepath with no directory structures, all other paths panic at runtime with value: Error { code: Session(-28), msg: "failed to send file" }'.
For example the following code works but it places 'remote' in $HOME of the user and literally includes the single tics in the filename:
    let tcp = TcpStream::connect("IP.ADDR.OF.HOST:22").unwrap();
    let mut sess = Session::new().unwrap();
    sess.set_tcp_stream(tcp);
    sess.handshake().unwrap();

    sess.userauth_password(r"DOMAIN\username", "DomainUserPassword").unwrap();

    let buf = std::path::PathBuf::from("remote");
    let mut remote_file = sess.scp_send(buf.as_path(),
                                       0o644, 10, None).unwrap();

    remote_file.write(b"1234567890").unwrap();
    remote_file.send_eof().unwrap();
    remote_file.wait_eof().unwrap();
    remote_file.close().unwrap();
    remote_file.wait_close().unwrap();

ANY other pattern passed fails with this error including paths expecting that relative path to remain true. Scp to the host works fine from both linux and windows terminals. I see in the Event Viewer logs that there is no authentication issue so I'm kind of at a loss.
Examples of other paths I have attempted and this list is not exhaustive:
/C:/remote
c:/remote
/c/remote
/C/remote
C:\\remote
c:\\remote
c\\remote
C\\remote
Downloads/remote
Downloads\\remote

I'm running into a similar issue where the deposited file's name is surrounded by literal apostrophies.  As a stop-gap measure, I can remotely execute a rename command to remove them; but this is a bandaid at best.


Added ability to download commands

Closes #123

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

43 of 80 (53.75%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.4%) to 67.937%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/krok/providers/handlers/command_handler.go
43
80
53.75%

Totals

Change from base Build<PHONE_NUMBER>:
-0.4%

Covered Lines:
1301

Relevant Lines:
1915

💛  - Coveralls


Evaluation Task not used

Description & Motivation
I want to add this issue in order to keep in "backlog" something we have to deal with sooner or later. Evaluation Task (inside quadra/tasks/base.py) is currently extended only by SegmentationEvaluation.
I recently had the necessity to add a new behavior to the prepare() function of the evaluation tasks and it would have been much easier having a real Evaluation Task class extended by all the evaluations. I already opened the pr but is in draft rn (input_size propagation). Everything would be nicer and tidier if we refactor all the evaluation tasks and make them extend Evaluation.

I opened a pr (it's in draft because i still need to update the documentation)


WebSocket security (auth header)

Would it be possible to use HttpSessionHandshakeInterceptor to get the auth headers?
`
@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
    registry.addHandler(new MyHandler(), "/myHandler")
        .addInterceptors(new HttpSessionHandshakeInterceptor());
}

}
`

Not sure. The major issues I experienced are:

The standard WebSocket implementation (on the client) doesn’t allow setting headers.
When I tried using SocketIO, it didn’t work with Spring WebFlux. Even when I disabled security.

On Oct 12, 2018, at 07:45, Bijan<EMAIL_ADDRESS>wrote:
Would it be possible to use HttpSessionHandshakeInterceptor to get the auth headers?
`
@configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {
@Override
public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
registry.addHandler(new MyHandler(), "/myHandler")
.addInterceptors(new HttpSessionHandshakeInterceptor());
}
}
`
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I guess the client side does not have to send auth info every time since websocket is a connection oriented protocol and so at the time of connection all the headers can be transferred to WebSocketSession through HttpSessionHandshakeInterceptor on the server-side. Then in every call the server-side can get the auth info by calling getPrincipal method.

@BijanVan I tried to get something like this working and discovered this tutorial about Spring Security and WebSockets. It even shows that things can work with OAuth. The only downside is it's all Spring MVC, there's no WebFlux involved.
I tried adding implementations of AbstractSecurityWebSocketMessageBrokerConfigurer and WebSocketMessageBrokerConfigurer to this project, and it doesn't work:
Caused by: java.lang.ClassNotFoundException: org.springframework.web.servlet.handler.SimpleUrlHandlerMapping

I asked the Spring Security team about this. Rob Winch responded:

I'm sorry to say that there currently is no built-in support for WebFlux + WebSocket + Spring Security. We'd love to get to it, but we are at max capacity right now.

Because of this, I'm closing this issue.


Does not divide by zero

My Server does not divide by zero!

first!! hehehe

My Server does not divide by zero!
first!! hehehe

so unfunny

lol, maybe if you dont understand that insider joke


GEOWAVE 833-2

Changed the bootstrap scripts get the geowave-install-lib.sh from a geowave downloads bucket.

Coverage decreased (-0.002%) to 51.865% when pulling 18cf6a7044aae8cda9afe4501b5ca10d3010ed36 on GEOWAVE-833-2 into 490b6c984ae4b181146b982917c2c6885b52a4a9 on master.


Kernel needs a way to represent generic function instantiations

Example Dart code:
T f1<T>(T v) => ...;
class C {
  static T f2<T>(T v) => ...;
  T f3<T>(T v) => ...;
}
C c = ...;
main() {
  T f4<T>(T v) => ...;
  // All of these implicitly instantiate with type arg <int>
  int Function(int) x1 = f1; // (1)
  int Function(int) x2 = C.f2; // (2)
  int Function(int) x3 = c.f3; // (3)
  int Function(int) x4 = f4; // (4)
}

Lines (1) through (4) need to behave as though they had been written as:
  int Function(int) x1 = (int v) => f1<int>(v); // (1)
  int Function(int) x2 = (int v) => C.f2<int>(v); // (2)
  int Function(int) x3 = (int v) => c.f3<int>(v); // (3)
  int Function(int) x4 = (int v) => f4<int>(v); // (4)

But it doesn't make sense to desugar this in the front end because:

There will be problems if the function in question has default parameters
It strongly suggests an implementation strategy; a back end might be able to implement generic function instantiation in a more performant way, but in order to do so it would have to reverse-engineer the desugaring.

My preference would be to add a new type of Expression to kernel, e.g.
class Instantiation extends Expression {
  Expression operand;
  final List<DartType> types;
  ...
}

Marking this as P1 since the related front end issue (#31586, which is blocked on this bug) has now been independently discovered by three different people.

Fixed by bc2560069a2ee33ebe0c4d90cc1b8a1985ec47d4


shallowClone should be public

shallowClone should be public since it's being modified directly from other places(e.g. Cart.php, etc..)

Thanks for this - I came across this one myself the other day, but forgot to commit it!


process_video.py script saves empty masks?

First I just want to complement your project again.
I have now been using it for quite some time and I'm still amazed by Cuties ability to track objects.
By now I have run into an issue I have not so far been able to figure out. And therefore wanted to write here to find out if others have experienced the same or maybe have suggestions how to solve this.
I'm using the process_video.py script to process video data.
Per default running using GPU processing.
Now in two different cases, running on two different PC's, the script is always outputting blank mask images.
And for these two PC setups this happens no matter which data input is used.
Both PC's have been checked to contain valid Nvidia GPU, which are different, but verified to be supported by the PyTorch version used.
But if the scripts device is changed to force the processing to run on CPU, then all is working as expected. With CPU then the processing outputs masks as expected from the input data.
This make me think that, somehow the GPU is incompatible eventhough it should not be. Or something in the PyTorch CUDA implementation goes wrong for these setups without any error or warnings being shown.
Additionally I have tested the datasets with issues on other PC setup, and here the processing using GPU run just fine returning expected output masks.
If anyone have seen something similar or have suggestions to what might be causing this issue, or maybe have ideas of how to troubleshoot this, I will be happy to hear about it.
Thank you!

Thanks a lot for reporting this issue!
Could you try if scripting_demo.py works? process_video.py is provided by a contributor and I am not sure if there are any significant differences that I have missed.
Besides, this reminds me of other issues in similar projects: https://github.com/hkchengrex/XMem/issues/41 and https://github.com/hkchengrex/MiVOS/issues/48 and they were fixed by reinstalling some drivers/libraries. I still do not know what causes these issues.

Hi Rex
I have now tried to run a modified version of the "scripting_demo.py" code.
I need to run it in a package version using PyInstaller and therefore needed to do modifications to exclude the hydra depencency as I cannot get PyInstaller to include this framework. But still this is minor changes.
This is my changed script:
import os
from os import chdir, path
import sys
sys.path.append(path.expanduser('cutie'))

from omegaconf import open_dict, OmegaConf

import torch
from torchvision.transforms.functional import to_tensor
from PIL import Image
import numpy as np

from Cutie.cutie.model.cutie import CUTIE
from Cutie.cutie.inference.inference_core import InferenceCore
from Cutie.cutie.inference.utils.args_utils import get_dataset_cfg
from Cutie.cutie.utils.download_models import download_models_if_needed

from omegaconf import open_dict

def get_default_model() -> CUTIE:
    cfg_base = OmegaConf.load('cutie/config/model/base.yaml')
    cfg_video = OmegaConf.load('cutie/config/eval_config.yaml')
    cfg = cfg_video
    cfg.model = cfg_base

    weight_dir = download_models_if_needed()
    with open_dict(cfg):
        cfg['weights'] = os.path.join(weight_dir, 'cutie-base-mega.pth')
    get_dataset_cfg(cfg)

    # Load the network weights
    cutie = CUTIE(cfg).cuda().eval()
    model_weights = torch.load(cfg.weights)
    cutie.load_weights(model_weights)

    return cutie

@torch.inference_mode()
@torch.cuda.amp.autocast()
def test():
    # obtain the Cutie model with default parameters -- skipping hydra configuration
    cutie = get_default_model()
    # Typically, use one InferenceCore per video
    processor = InferenceCore(cutie, cfg=cutie.cfg)
    # the processor matches the shorter edge of the input to this size
    # you might want to experiment with different sizes, -1 keeps the original size
    processor.max_internal_size = 480

    image_path = './examples/images/bike'
    # ordering is important
    images = sorted(os.listdir(image_path))

    # mask for the first frame
    # NOTE: this should be a grayscale mask or a indexed (with/without palette) mask,
    # and definitely NOT a colored RGB image
    # https://pillow.readthedocs.io/en/stable/handbook/concepts.html: mode "L" or "P"
    mask = Image.open('./examples/masks/bike/00000.png')
    assert mask.mode in ['L', 'P']

    # palette is for visualization
    palette = mask.getpalette()

    # the number of objects is determined by counting the unique values in the mask
    # common mistake: if the mask is resized w/ interpolation, there might be new unique values
    objects = np.unique(np.array(mask))
    # background "0" does not count as an object
    objects = objects[objects != 0].tolist()

    mask = torch.from_numpy(np.array(mask)).cuda()

    for ti, image_name in enumerate(images):
        # load the image as RGB; normalization is done within the model
        image = Image.open(os.path.join(image_path, image_name))
        image = to_tensor(image).cuda().float()

        if ti == 0:
            # if mask is passed in, it is memorized
            # if not all objects are specified, we propagate the unspecified objects using memory
            output_prob = processor.step(image, mask, objects=objects)
        else:
            # otherwise, we propagate the mask from memory
            output_prob = processor.step(image)

        # convert output probabilities to an object mask
        mask = processor.output_prob_to_mask(output_prob)

        # visualize prediction
        mask = Image.fromarray(mask.cpu().numpy().astype(np.uint8))
        mask.putpalette(palette)
        mask.show()  # or use mask.save(...) to save it somewhere

if __name__ == '__main__':
    # detect if running from PyInstaller bundle or not
    if getattr(sys, 'frozen', False) and hasattr(sys, '_MEIPASS'):
        # running in a PyInstaller bundle
        print('running in installer process')
        bundle_cutie_path = sys._MEIPASS + '/cutie'
        chdir(bundle_cutie_path)
    else:
        # running in a normal Python process
        print('running in a normal Python process')
        chdir(path.expanduser('cutie'))

    test()

Still I get the same issue.
Normally the scripting_demo will load the bike images/mask and show one at a time  the four output masks.
But now on this PC with issues, only blank/empty masks are returned.
And still on other PC's the bike masks are returned just fine.
Very anoying and strange.
I tried to look into the other issues you refered to, but have not found any good pointers for me to continue my investigation. They do end with the same case as I see. First output mask is good (but this is also same frame as input mask). All the rest of the output masks are empty.
The PC with issue, is a Windows 11 PC, and does not have any other Python installation, than the packaged version I have installed.
I'm using Python 3.9 with PyTorch 2.2.0 + cu118

Thanks for the update.
Unfortunately, I cannot reproduce this problem (nor could I in the two issues that I have linked).
The "solution" for those two issues was reinstalling the libraries from scratch. I don't know what the mechanism behind that is but I think that is worth a try (I don't see you mentioned it -- sorry if you have already tried this).
For reference, I am using Python 3.11, PyTorch 2.5.1, and CUDA 11.8. But frankly, I have used many different python/pytorch versions to run this project and never had the same issue.
I would love to help more, but this seems difficult since I cannot reproduce the problem. What I would do (if I can reproduce it), is to trace the data from input to output, and see at which step the data misbehave.

Yes this is a tricky issue.
I'm not able to reproduce the problem on my own PC, as this only happens on a remote PC. Also I'm not allowed to run and test thru a regular Python installation. Therefore having to package the project using PyInstaller.
But you are right, I have not tried to reinstall the libraries from scratch yet. I will do that. And if possible also try to update to use Python 3.11, PyTorch 2.5.1, and CUDA 11.8 as you are using.
It would be nice if I somehow could trace data from input to output to narrow down to see which step is misbehaving.
But as I mentioned I cannot debug directly. Therefore I will need to add logging or saving of intermediated data in the inference_core.step(...) method.
I will experiment with this.
As you are the one with the most in-depth understanding of the inner workflow of Cutie, maybe you have some suggestion of which objects in the method will be good to check for mask detection or not and log information about?
(I understand if you do not have time to look into this.)

I would start from https://github.com/hkchengrex/Cutie/blob/ec5cdd4cf16f75c73ad785a2f96fb97dbad4125a/cutie/inference/inference_core.py#L172 and go deeper as I narrow the scope.

I have now had the change run some test where I reinstalled the Cutie dependencies and also updated my version of PyTorch.
Reinstallation did not work and still empty mask was returned when running the scripting_demo.py.
But using the most recent version of PyTorch v.2.5.1, solved the issue it seems.
I am using Python 3.9 and installing PyTorch and CUDA with
pip install torch==2.5.1 torchvision==0.20.1 --extra-index-url https://download.pytorch.org/whl/cu118
Also, for some unknown reason, when setting up my venv for Cutie, I had to reinstall torch last, as some of the Cutie depencencies downgraded my torch version. Just mentioning it here for others refence to double check the correct version being used.
I have not been able to dig deeper into debugging the inference_core.py code. So I still have no explaination of why this happens and only for some in very specific PC configurations.
Therefore it seems this can be closed seen from my side.


Add details on Dialyzer with "make check"

If Dialyzer hasn't been used on an account before, there won't be a PLT
file and "make check" will fail. Added info on that fact to CONTRIBUTING.md.

The 17.x warnings have been fixed in master, and we'll merge #460 soon.

ping?

Thanks for the reminder, @tuncer. I'll take care of this this coming week.

While looking at this, I submitted another PR, for a make check error (after make debug): https://github.com/rebar/rebar/pull/494
With that error prevented, I now see the following from make check:
ERROR: Test erlc_dep_graph_rt failed when invoking erlc_dep_graph_rt:run/1: {'EXIT',
                                                                             {{assertion_failed,
                                                                               [{module,
                                                                                erlc_dep_graph_rt},
                                                                                {line,
                                                                                85},
                                                                                {expression,
                                                                                "Cmp ( Before , After )"},
                                                                                {expected,
                                                                                true},
                                                                                {value,
                                                                                false}]},
                                                                              [{erlc_dep_graph_rt,
                                                                                '-compile_all_and_assert_mtimes/2-fun-0-',
                                                                                3,
                                                                                [{file,
                                                                                "/Users/dbrown/github/forks/rebar/inttest/erlc_dep_graph/erlc_dep_graph_rt.erl"},
                                                                                {line,
                                                                                85}]},
                                                                               {lists,
                                                                                zipwith,
                                                                                3,
                                                                                [{file,
                                                                                "lists.erl"},
                                                                                {line,
                                                                                449}]},
                                                                               {erlc_dep_graph_rt,
                                                                                run,
                                                                                1,
                                                                                [{file,
                                                                                "/Users/dbrown/github/forks/rebar/inttest/erlc_dep_graph/erlc_dep_graph_rt.erl"},
                                                                                {line,
                                                                                44}]},
                                                                               {retest_core,
                                                                                run_test,
                                                                                4,
                                                                                [{file,
                                                                                "src/retest_core.erl"},
                                                                                {line,
                                                                                198}]}]}}

make build_plt worked fine, though, so I could go ahead and update the original change from this PR (in CONTRIBUTING.md), and this new error could be handled separately.

I cannot reproduce the test failure. Please file a separate ticket and cc @kejv.
Regarding this patch, +1.
@ferd, can you merge this and #494?


[Bug]: Certificate Duration configuration not taking into account when creating certificate

Is there an existing issue already for this bug?

[X] I have searched for an existing issue, and could not find anything. I believe this is a new bug.

I have read the troubleshooting guide

[X] I have read the troubleshooting guide and I think this is a new bug.

I am running a supported version of CloudNativePG

[X] I have read the troubleshooting guide and I think this is a new bug.

Contact Details
No response
Version
1.23.2
What version of Kubernetes are you using?
1.27
What is your Kubernetes environment?
Self-managed: RKE
How did you install the operator?
Helm
What happened?
Hello,
I try to change the client certificate duration I generate for my database through kubectl CNPG plugin.
So following documentation on https://cloudnative-pg.io/documentation/1.23/ssl_connections/ and  https://cloudnative-pg.io/documentation/1.23/operator_conf/ I put the CERTIFICATE_DURATION of cnpg-controller-manager-config to 180.
Then I restarted the operator and checked that it is coherent, from the logs at start I see the certificateDuration is changed:
{"level":"info","ts":"2024-07-10T15:35:16Z","logger":"setup","msg":"Operator configuration loaded","configuration":{"webhookCertDir":"","pluginSocketDir":"/plugins","watchNamespace":"","operatorNamespace":"postgres-operator","operatorPullSecretName":"cnpg-pull-secret","operatorImageName":"docker-airbus-virtual.artifactory.2b82.aws.cloud.airbus.corp/cloudnative-pg/cloudnative-pg:1.23.2","postgresImageName":"ghcr.io/cloudnative-pg/postgresql:16.3","inheritedAnnotations":null,"inheritedLabels":null,"monitoringQueriesConfigmap":"cnpg-default-monitoring","monitoringQueriesSecret":"","enableInstanceManagerInplaceUpdates":false,"enableAzurePVCUpdates":false,"certificateDuration":180,"expiringCheckThreshold":7,"createAnyService":false}}

But when I also try to create certificate using Kubectl CNPG plugin using:
k cnpg -n cloudnative-val-db certificate toto-sa --cnpg-cluster db-val --cnpg-user toto

It creates me a certificate for only 90 days:
k -n cloudnative-val-db get secret toto-sa -o jsonpath="{.data['tls\.crt']}" | base64 -d | openssl x509 -text -noout | head -n 11

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            xxx:ca
        Signature Algorithm: ecdsa-with-SHA256
        Issuer: OU = cloudnative-val-db, CN = db-fs
        Validity
            Not Before: Jul 10 15:31:35 2024 GMT
            Not After : Oct  8 15:31:35 2024 GMT
        Subject: CN = toto

I do not understand why the operator certificateDuration does not seem to be taken into account.
My plugin version is also uptodate
k cnpg version
Build: {Version:1.23.2 Commit:4bef8412 Date:2024-06-12}

Thank you for your support
Cluster resource
No response
Relevant log output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hello,
Ok after rethinking of it in the car, it was obvious I needed to put the CERTIFICATE_DURATION as env variable for my bash I launch the kubectl command on...  It works perfectly...
So much time loss for obvious thing...
Thank you !


[dependency update] update to latest btcwallet

Resolves a crash when using neutrino backend.

Done! PTAL @Roasbeef

Allso updated neutrino and btcd deps when at it.


If last Contact in Household Account is removed, set Naming to custom to avoid Anonymous Household

We get frequent reports and frustration with 'Anonymous Households' that happen when an Household Account does not have any contacts. There are a variety of situations that can cause this, including incorrect Record Type default in lead conversion, merging, and now our new Contact Delete Override which gives the option of deleting a Contact and leaving the Account behind.
A possible solution here would be to set _SYSTEM: CUSTOM NAMING to Name when the last Contact is removed. That would preserve the name through any naming updates so the organization can better find and deal with these orphans and understand its original content and intent.

**lurch: add

Tracking W-021110

Salesforce has determined that this issue will not be explored further.


[BUG]: Possible errors in initializing assignment structures

Describe the bug
Problems discovered during the compilation of drivers_test
https://github.com/falcosecurity/libs/tree/master/test/drivers
[ 19%] Building CXX object test/drivers/CMakeFiles/drivers_test.dir/test_suites/syscall_exit_suite/recvmsg_x.cpp.o
/home/yzw/pr/libs/test/drivers/test_suites/syscall_exit_suite/recvmsg_x.cpp: In member function ‘virtual void SyscallExit_recvmsg_ancillary_data_Test::TestBody()’:
/home/yzw/pr/libs/test/drivers/test_suites/syscall_exit_suite/recvmsg_x.cpp:579:3: error: no match for ‘operator=’ (operand types are ‘msghdr’ and ‘<brace-enclosed initializer list>’)
   };
   ^

cmake -DUSE_BUNDLED_DEPS=On -DENABLE_DRIVERS_TESTS=On -DBUILD_LIBSCAP_GVISOR=Off  -DCREATE_TEST_TARGETS=On ..
make drivers_test

How to reproduce
libs/test/drivers/test_suites/syscall_exit_suite/recvmsg_x.cpp :579
                msg.msg_iov = &iov;
                msg.msg_iovlen = 1;
                msg.msg_control = cmsg_buf;
                msg.msg_controllen = sizeof(cmsg_buf);

                msg_controllen = msg.msg_controllen;

I cannot reproduce it...can you provide a simple fix? Something like:
		msg.msg_iov = &iov,
		msg.msg_iovlen = 1,
		msg.msg_control = cmsg_buf,
		msg.msg_controllen = sizeof(cmsg_buf)

                msg.msg_iov = &iov;
                msg.msg_iovlen = 1;
                msg.msg_control = cmsg_buf;
                msg.msg_controllen = sizeof(cmsg_buf);

                msg_controllen = msg.msg_controllen;

I cannot reproduce it...can you provide a simple fix? Something like:
		msg.msg_iov = &iov,
		msg.msg_iovlen = 1,
		msg.msg_control = cmsg_buf,
		msg.msg_controllen = sizeof(cmsg_buf)

like this? https://github.com/falcosecurity/libs/issues/1700#issuecomment-1965893916

yes!

I think this should have been fixed by: https://github.com/falcosecurity/libs/commit/83f152905b5ed714d044d2badf40f335ad7eeb39


GUI Updates

Adds more customizability to the click-action

click-action:
  left: "left click action"
  right: "right click action"

Attempts to fix a SellGUI issue where rescue wasn't attempted on GUI change
Updates the example to match these new changes
Removes an unused method

I just found a dupe. Will fix and then mark this as ready again.


Index column selection with camelCasing

Hello !
Thanks for this tool, it helps us so much in our migration :)
I generated my types with the --cp (and --ce, --cf) options as camel (bc we target GraphQL). I have indices on my table. (EDIT: postgres driver)
The actual output is:
import {Column, Entity, Index, JoinColumn, JoinTable, ManyToMany, ManyToOne, OneToMany, OneToOne, PrimaryColumn, PrimaryGeneratedColumn, RelationId} from "typeorm";

@Entity("token_sessions", {schema: "public"})
@Index("index_token_sessions_on_auth_token", ["auth_token"], {unique: true})
@Index("index_token_sessions_on_user_id", ["user_id"])
export class tokenSessions {

    @PrimaryGeneratedColumn({
        name: "id",
        })
    public id: string;

    @Column("integer", {
        nullable: true,
        name: "user_id",
        })
    public userId: number | null;

    @Column("character varying", {
        nullable: true,
        default: "''::character varying",
        name: "auth_token",
        })
    public authToken: string | null;
}

Expected output:
import {Column, Entity, Index, JoinColumn, JoinTable, ManyToMany, ManyToOne, OneToMany, OneToOne, PrimaryColumn, PrimaryGeneratedColumn, RelationId} from "typeorm";

@Entity("token_sessions", {schema: "public"})
@Index("index_token_sessions_on_auth_token", ["authToken"], {unique: true})
@Index("index_token_sessions_on_user_id", ["userId"])
export class tokenSessions {

    @PrimaryGeneratedColumn({
        name: "id",
        })
    public id: string;

    @Column("integer", {
        nullable: true,
        name: "user_id",
        })
    public userId: number | null;

    @Column("character varying", {
        nullable: true,
        default: "''::character varying",
        name: "auth_token",
        })
    public authToken: string | null;
}

Line 4 and 5, the second argument should be camel cased I think. I am not 100% sure bc I am not familiar with Typeorm, but manually correcting the colmun fix the issue at runtime
Should I open a PR ?
Second question/problem (if it's a problem, I'll open an issue): my PrimaryGeneratedColumn is an Int in my database. Why is it generated as a string ?
Thank you!
Antoine

Ok for the second question, it turns out our ids are big int, which are transformed as string, so it's not not a bug https://github.com/tgriesser/knex/issues/387

@Kononnable here is the fix for the issue:
@Entity("{{EntityName}}"{{#Schema}},{schema:"{{.}}"}{{/Schema}})
{{#Indexes}}{{^isPrimaryKey}}@Index("{{name}}",[{{#columns}}"{{name}}",{{/columns}}]{{#isUnique}},{unique:true}{{/isUnique}})
{{#Indexes}}{{^isPrimaryKey}}@Index("{{name}}",[{{#columns}}"{{toPropertyName name}}",{{/columns}}]{{#isUnique}},{unique:true}{{/isUnique}})
{{/isPrimaryKey}}{{/Indexes}}export class {{toEntityName EntityName}} {
{{#Columns}}
```

tried to write a test but not did not succeed in starting it :(. Lmk if I can help :)

You're right. Column names in indices should also get proper casing.
Writing test for naming changes is hard right now. I plan to add another step in model generation to isolate such changes(and make test for them) but it is put on hold - main typeorm repo looks like it need more love now :)

Fixed in<EMAIL_ADDRESS>


Home Page is Not rendering after Providing Credentials

Where did you get the code?
Followed the tutorial from Microsoft Graph tutorials
Describe the bug
I have followed the steps exactly provided in Graph tutorials, after clicking on Sign on Microsoft login Page is appearing, and i have provided microsoft credentials, then its not rendering the home page, giving Value error , State missing in Auth Code Flow
Environment:
Request Method: GET
Request URL: http://localhost:8000/callback?code=M.R3_BAY.9074896a-0d08-58f3-0241-510fa2fdad5e&state=tCOXIJfsDRejZLPk
Django Version: 3.1.5
Python Version: 3.9.1
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'tutorial']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Traceback (most recent call last):
File "D:\Django_Projects\Projects\venv\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
response = get_response(request)
File "D:\Django_Projects\Projects\venv\lib\site-packages\django\core\handlers\base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "D:\Django_Projects\Projects\graph_tutorial\tutorial\views.py", line 37, in callback
result = get_token_from_code(request)
File "D:\Django_Projects\Projects\graph_tutorial\tutorial\auth_helper.py", line 49, in get_token_from_code
result = auth_app.acquire_token_by_auth_code_flow(flow, request.GET)
File "D:\Django_Projects\Projects\venv\lib\site-packages\msal\application.py", line 513, in acquire_token_by_auth_code_flow
return self.client.obtain_token_by_auth_code_flow(
File "D:\Django_Projects\Projects\venv\lib\site-packages\msal\oauth2cli\oidc.py", line 185, in obtain_token_by_auth_code_flow
result = super(Client, self).obtain_token_by_auth_code_flow(
File "D:\Django_Projects\Projects\venv\lib\site-packages\msal\oauth2cli\oauth2.py", line 538, in obtain_token_by_auth_code_flow
raise ValueError("state missing from auth_code_flow")
Exception Type: ValueError at /callback
Exception Value: state missing from auth_code_flow
Please help here

Works like a gem locally, but got the same issue on production (running on Heroku). If home page is refreshed you can view your calendar though

Works like a gem locally, but got the same issue on production (running on Heroku). If home page is refreshed you can view your calendar though

Yes i have executed migrate command, issue still persists, please check the code
https://github.com/Sunag3/Sunag3/blob/master/graph_tutorial.zip

Yes i have executed migrate command, issue still persists, please check the code
https://github.com/Sunag3/Sunag3/blob/master/graph_tutorial.zip

Hi
PFB URL
https://github.com/Sunag3/Sunag.git

Hi
PFB URL
https://github.com/Sunag3/Sunag.git

@bjornpoort maybe this is relevant? https://stackoverflow.com/questions/52535488/django-sessions-not-working-as-expected-on-heroku

@bjornpoort maybe this is relevant? https://stackoverflow.com/questions/52535488/django-sessions-not-working-as-expected-on-heroku

@Sunag3 - check with your browser developer tools if there is a sessionid in the cookie. I had a colleague that had this same problem - turned out he was browsing to http://<IP_ADDRESS>:8000 instead of http://localhost:8000. Chrome would not set the cookie when using the IP address, which broke sessions. It works if you browse to http://localhost:8000.

@Sunag3 - check with your browser developer tools if there is a sessionid in the cookie. I had a colleague that had this same problem - turned out he was browsing to http://<IP_ADDRESS>:8000 instead of http://localhost:8000. Chrome would not set the cookie when using the IP address, which broke sessions. It works if you browse to http://localhost:8000.

Hi, Thank you so much it works, problem was i was accessing through the ip address, it works fine with the localhost,
Also please suggest on below thing:

How to add organizational tenant id
What may be the changes if we have to do in production, i.e. in https environment and RHEL Server
can we implement authentication for all the views, example it only shows for home view, what if we have more than one view.

Hi, Thank you so much it works, problem was i was accessing through the ip address, it works fine with the localhost,
Also please suggest on below thing:

How to add organizational tenant id
What may be the changes if we have to do in production, i.e. in https environment and RHEL Server
can we implement authentication for all the views, example it only shows for home view, what if we have more than one view.

Got This error after giving microsoft credentials

Got This error after giving microsoft credentials

In oauth_settings.yml replace common in authority: "https://login.microsoftonline.com/common" with your tenant ID.
Theoretically none to the code - you would need to update your app registration with the new URL to your callback in production.
Sure. You really only need to check if the user is authenticated in your views (user.is_authenticated) and do what you want based on this value.

Your error image didn't upload.

In oauth_settings.yml replace common in authority: "https://login.microsoftonline.com/common" with your tenant ID.
Theoretically none to the code - you would need to update your app registration with the new URL to your callback in production.
Sure. You really only need to check if the user is authenticated in your views (user.is_authenticated) and do what you want based on this value.

Your error image didn't upload.

Thanks, currently the code is written in such a way that landing page is loaded and there has been given sign in button explicitly, but my requirement is,  if i hit http://localhost:8000 it automatically redirects to Microsoft login page , then only it has to render my landing page, i have tried by giving login_required decorator to the home view but that doesn't worked

Thanks, currently the code is written in such a way that landing page is loaded and there has been given sign in button explicitly, but my requirement is,  if i hit http://localhost:8000 it automatically redirects to Microsoft login page , then only it has to render my landing page, i have tried by giving login_required decorator to the home view but that doesn't worked

Also i have downloaded your complete project and i tried to run, it gives time zone error
System check identified no issues (0 silenced).
January 16, 2021 - 17:08:43
Django version 3.1.4, using settings 'graph_tutorial.settings'
Starting development server at http://<IP_ADDRESS>:8000/
Quit the server with CTRL-BREAK.
[16/Jan/2021 17:09:00] "GET / HTTP/1.1" 200 2796
[16/Jan/2021 17:09:00] "GET /static/tutorial/app.css HTTP/1.1" 200 224
[16/Jan/2021 17:09:03] "GET /signin HTTP/1.1" 302 0
Sunag SJ
'timeZone'
[16/Jan/2021 17:09:14] "GET /callback?code=M.R3_BAY.b2a3d0e1-6382-192f-79fb-dc457b57d833&state=ydfFCvuEGYZctAiz HTTP/1.1" 302 0
[16/Jan/2021 17:09:15] "GET / HTTP/1.1" 200 2796

Also i have downloaded your complete project and i tried to run, it gives time zone error
System check identified no issues (0 silenced).
January 16, 2021 - 17:08:43
Django version 3.1.4, using settings 'graph_tutorial.settings'
Starting development server at http://<IP_ADDRESS>:8000/
Quit the server with CTRL-BREAK.
[16/Jan/2021 17:09:00] "GET / HTTP/1.1" 200 2796
[16/Jan/2021 17:09:00] "GET /static/tutorial/app.css HTTP/1.1" 200 224
[16/Jan/2021 17:09:03] "GET /signin HTTP/1.1" 302 0
Sunag SJ
'timeZone'
[16/Jan/2021 17:09:14] "GET /callback?code=M.R3_BAY.b2a3d0e1-6382-192f-79fb-dc457b57d833&state=ydfFCvuEGYZctAiz HTTP/1.1" 302 0
[16/Jan/2021 17:09:15] "GET / HTTP/1.1" 200 2796

hi
PFB link for  Project Zip Files, it has 2 projects
https://github.com/Sunag3/AUTH_Projects.git

grap_tutorial : clone downloaded from your repository, its giving timezone key error and sign is not happening
graph_tutorial_old : not used caleder just created till implementation of Sign in -- its redirected to home page with error,

hi
PFB link for  Project Zip Files, it has 2 projects
https://github.com/Sunag3/AUTH_Projects.git

grap_tutorial : clone downloaded from your repository, its giving timezone key error and sign is not happening
graph_tutorial_old : not used caleder just created till implementation of Sign in -- its redirected to home page with error,

Check and see if your user has a timeZone set. You can verify this in Graph Explorer. Do a GET https://graph.microsoft.com/v1.0/me/mailboxsettings and look for a timeZone property.

Check and see if your user has a timeZone set. You can verify this in Graph Explorer. Do a GET https://graph.microsoft.com/v1.0/me/mailboxsettings and look for a timeZone property.

Check and see if your user has a timeZone set. You can verify this in Graph Explorer. Do a GET https://graph.microsoft.com/v1.0/me/mailboxsettings and look for a timeZone property.

Check and see if your user has a timeZone set. You can verify this in Graph Explorer. Do a GET https://graph.microsoft.com/v1.0/me/mailboxsettings and look for a timeZone property.


Add intersphinx links to documentation

Also add sphinx-rtd-theme as an explicit dev dependency

Merged, thanks!


Support for async/await triggers

We have a use case where some triggers need to be async (such as doing tasks before and after builds, the server startup, page rendering, etc.) and others need to be sync (such as editing the YAML schema or registering template engines).
We essentially need support for the following example code snippet in this line:
https://github.com/blinkk/amagaki/blob/main/src/builder.ts#L279
await this.pod.plugins.trigger('beforeBuild', this);

@Zoramite I fiddled with editing the plugins trigger method a bit and couldn't get things working in a satisfactory manner. Could you investigate adding async/await support for triggers? I'm OK with two patterns like await trigger and triggerSync if it helps keep things simple/clean.
This is needed for the Google Sheets and WIP Kintaro plugin, so we can run the downloader at certain times during the lifecycle.


Ability to add new cards

Initially a card will be created in long-form - i.e. A pop-over with fields for completion.  These should include:

Title
Short description
Long description
Leader Name
Due by / before date

Short form cards (as displayed in the POSC board) need only contain:

Title
Short description
Leader Name

Implemented and deployed to http://posc.meteor.com


signed config-files to avoid plain text passwords?

Output of restic version
always latest?
What should restic do differently? Which functionality do you think we should add?
It would be nice to have signed config-files for backup and maintenance tasks.
Config files should contain the folders to backup, excludes and so on but of course NOT the repository password.
-> maybe just a list of command line args.
Because the file is signed (with something from the repo so it can be validated against it) there should be no need to expose the password in environment variables and files.
Also there would be no issue if everyone can read the config file because if someone changes it the signature does not match the content and therefore the file is invalid.
What are you trying to do? What problem would this solve?
I'm thinking about using restic to backup my files (currently only using robocopy without versioning, deduplication, ...)
But I don't like to expose the plain password somewhere.
Config files would also make wrapper scripts obsolte (hopefully).
With the mentioned idea (if it's possible) we could have a backup_host1.restic, backup_host2-user_foo.restic, forget_and_prune.restic and so on but no one would be able to restore data without the password (but would be possible with a restore.restic)
And if a file is not signed restic can simply ask for the password.
[edit]
After watching an older ccc video it serms that the password is needed to en-/decrypt the data.
But adding the plain password to the environment or a file "feels" wrong. ;-)
To be clear: I'm not talking about asymetric encryption.
My "problem" is just the plain-text password that allows the access to the whole repo.
[/edit]

And if a file is not signed restic can simply ask for the password.

I don't understand what you're proposing. A signature does not encrypt data, it merely prevents unauthorized modifications of data. Thus, this cannot work.
It sounds like you suggest that restic could use a signed config file and then extract enough information from it such that it can access the repository. However, this would make that config file the equivalent of a plain text password. In fact, if you use a modified restic binary, then that would be able to just extract all encryption keys from it. In other word, that config file would just be another case of security by obscurity.
The usual solution is to have a password file only readable by the user running the backup. Or to request the password from a password manager using the password-command. The ideal solution would be #187, but that is more of a long term goal.

@MichaelEischer the idea was to have a config file with fixed parameters that can be executed without password
e.g. -r /mnt/backup backup --one-file-system /
-> or some other fomat (xml, yaml, json, ...)
with this only the configured command can be executed and the password is not exposed.
In my opinion a plain text password is a security risk in case your system is compromised because it gives you full access to the repository.
but you are right - with a modified restic executable an attacker could workaround al restrictions.
But as an attacker I would do something like grep -Ri password / on a compromised system.

But as an attacker I would do something like grep -Ri password / on a compromised system.

Please have a look at the --password-command  option, that would allow you to e.g. retrieve the password from a password manager. However, as restic requires access to the password, this means that an attacker on a compromised host will also be able to access it. You can add some obfuscation layers on top of that, which is already possible using the --password-command option. But as I've said that is only security by obscurity and won't prevent any determined attacker from retrieving the password.

Maybe this answer is a longshot, but I've built a restic wrapper that uses config files, and stores the repository URI and password in the config file via AES-256 encryption.
The AES-256 key is still readable in the wrapper source, but the wrapper itself can be compiled into an executable, making the process more complicated.
An attacker would require read access to the config file, access to the executable, and alot of coffee in order to debug that executable, which also uses compile time and execution time obfuscation to make it more difficult to gather the key.
See https://github.com/netinvent/npbackup for more details

An attacker would require read access to the config file, access to the executable, and alot of coffee in order to debug that executable, which also uses compile time and execution time obfuscation to make it more difficult to gather the key.

Did I miss something, or is the wrapper actually calling an external restic binary? In that case, you use strace or whatever debugging tool is available on the platform and then you just watch the wrapper pass the repository URL and password to restic.

Did I miss something, or is the wrapper actually calling an external restic binary? In that case, you use strace or whatever debugging tool is available on the platform and then you just watch the wrapper pass the repository URL and password to restic.

No you did not. Indeed my wrapper launches the restic binary in a subprocess, to which it passes the url & password via env variables, which only reside in said subprocess, and are wiped from memory as soon as restic used them.
The added security here comes from the fact that the repo URL and password aren't stored in clear text at rest, and will only be decrypted when needed.
So yes, an attacker with full access to the machine will end up finding the environment variables that are used, but an attacker that can read and steal copy files / scripts won't.


Support uploading attachments

Is your feature request related to a problem? Please describe.
As a user, I want to attach an arbitrary file to my post when creating a new post, so that I can share my ideas in a wider variety of ways.
Describe the solution you'd like
To be further discussed before approving this issue.
Attachments should be downloadable.
Describe alternatives you've considered
To do
Additional context
This was one of the features discussed in the initial meeting.
Related to #97 and #98

UI Mockup by @JamesUOA for attachment icons:


Editing custom domain for dfyn.eth

Hi! What is your PR about?

[ ] Add or edit a skin
[x] Add custom domain for your space
[ ] Add alias for migrate your space
~Add images for your space~ (deprecated) Add the image URL on the space settings directly
~Edit your space with GitHub?~ (deprecated) Please migrate your space to ENS https://docs.snapshot.page/spaces/migrate
~Create your space with GitHub~ (deprecated) Create your space with ENS instead https://docs.snapshot.page/spaces/create

Sorry for creating a new PR for this a short while after the previous was merged. After some discussion with the team, we have decided to go with governance.dfyn.network rather than vote.dfyn.nework.


Persist a user's chosen language and framework for code demos

Summary
Add a functional cookie to local storage that stores a user's chosen language and framework. When the Javascript/Typescript toggle button is added to the ComponentPreview component, users, in particular React users, will have to take additional steps to select their chosen framework and language (depending on the default language). By saving their preference in a cookie, we can improve their user experience and ensure they always see code examples in their chosen framework and language.
💰 User value
This will improve the user experience as users will not have to constantly switch to their preferred coding framework and language.
📝 Acceptance Criteria
Given I am a developer using the ICDS guidance site,
When I select my preferred framework (and language if applicable) in a code demo
Then I should see all future code demos in the framework (and language if applicable)
Given I am a developer using the ICDS guidance site,
And I have previously selected my preferred framework (and language if applicable) in a code demo
When I change my preferred framework (and language if applicable) in a code demo
Then I should see all future code demos in the newly selected framework (and language if applicable)

Consider if we use cookies (but would need to implement a way to have essential cookies in settings) or local storage


Incorrect peer dependency for Webpack v3.0.0

I have received this message during dependencies update:
warning<EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^2.1.0-beta || ^2.2.0-rc".

I've been using the plugin for the while and has worked without problems.
I don't know if there will be a push soon regarding this, but if not, I can prepare a PR.
I'll wait for comments.

Ùff... just checking the PRs I saw that @ruiaraujo had already passed the solution for this issue. I'll wait for it to be merged and close this.


MLeap-spark does not support Spark 2.3

When I try to use MLeap-spark to serialize the pipeline with spark 2.3. It shows error "unsupported Spark version: ".
It seems that MLeap-spark does not support Spark 2.3 yet.
Is there any plan to make MLeap support spark 2.3?

Interested in this as well.  Likely related to my inability to serialize a Spark Pipeline using Spark 2.3 since the above error is being masked by this one after calling serializeToBundle():
Py4JJavaError: An error occurred while calling o2094.serializeToBundle. : java.lang.NoClassDefFoundError: Could not initialize class org.apache.spark.ml.bundle.SparkBundleContext$
I'm interested as well to know what it would take to support Spark v2.3.  Thanks!

In addition, this is a duplicate issue of this one:  https://github.com/combust/mleap/issues/352

#364 merged


Support composition for mobile keyboards

Relevant components:

[ ] Signalling server
[x] Frontend library
[ ] Frontend UI library
[ ] Matchmaker
[ ] Platform scripts
[ ] SFU

Problem statement:
Currently when using mobile keyboards using the suggestion bar or asian keyboards (chinese/japanese) is not supported as this uses the composition event on the keyboard
Solution
added composition event handler on mobile devices
Test Plan and Compatibility
working example of the changes implemented
https://arcanemirage.com/project/394?token=hLVbruBPrnR8
posible fix for #194

Since this PR has been opened this commit was landed: https://github.com/EpicGames/PixelStreamingInfrastructure/commit/8b838f48fee68410c9334dc603ff93c54dfa8f1e
Is there other changes in this PR beyond support for composition events that we should consider? If so, please update the PR to the latest changes and update the description with any other issues it is addressing. However, I believe we support composition on mobile with the above linked commit?

Bump @gunsha for you comments on the above. ^

@lukehb can't find time to do a real test with the repo, but looking at the changes it's kind of the same I implemented, the only difference I see is that the composition and keypress events are always registered, i saw some input duplication when having both at the same time, so i'm only initializing composition on mobile and keypress on desktop

@gunsha Let us know if you do see any duplication using what is in master currently. I am going to close for now as it is likely a new PR would be required if there is any bugfix for duplicated input.


Run CI on Status event

Problem
The current CI runs on push and pull_request. The commits in custom workflows have to use GITHUB_TOKEN to sign the commits and this doesn't trigger the push workflows. The corresponding PR is created with a PAN to trigger the pull_request workflows. The upcoming changes will allow committing to an existing PR #620, which means the pull_request event won't be triggered and CI won't run.
Solution
Use status events to trigger CI.

This feature was reverted because it's enough to use PAN for updateRef call to trigger a push workflow manually.

This feature was reverted because it's enough to use PAN for updateRef call to trigger a push workflow manually.


add jbang

This adds a jbang language but it would make more sense this was used by java
to enable use of dependencies.
i.e. you can run this java code with this:
///usr/bin/env jbang "$0" "$@" ; exit $?
//DEPS com.github.lalyos:jfiglet:0.0.8

import com.github.lalyos.jfiglet.FigletFont;

class hello {

    public static void main(String... args) throws Exception {
        System.out.println(FigletFont.convertOneLine(
               "Hello " + ((args.length>0)?args[0]:"jbang")));  ;;
    }
}

Notice the //DEPS line that is picked up by jbang to build and run with that dependency.
I did try add install steps under manual but for some reason java is not available
within that making it difficult to install jbang using jbang itself.
Is there a way to have java available in the manual section ?
Otherwise I'll need to add more manual steps to install jbang.

mentioned in #117

I've updated jbang w/java and also added a JShell variant which adds repl support..
btw. how does one come back to the repl after having pressed run ?

btw. how does one come back to the repl after having pressed run ?

The contract is described here: https://github.com/raxod502/riju/blob/1c8b0e14529d8b37eead3fd939612b9d518f1985/doc/tutorial/run.md#languages-with-repls
In other words, a repl should always be started automatically after the code is run, for languages that have repls.

also added a JShell variant which adds repl support

These seem like they should be part of the same language, instead of being separate. We generally don't have multiple different variants for a language.

just putting "JBang" means java users wont find it

I think we may have to live with that for now; I'd like to keep the language names canonical for now. A better way to make JBang discoverable for users looking for Java would be to add an explicit language search option which can index on more metadata than just the language name (see https://github.com/raxod502/riju/issues/125).

This thread is being closed automatically by Tidier because it is labeled with "waiting on response" and has not seen any activity for 90 days. But don't worry—if you have any information that might advance the discussion, leave a comment and I will be happy to reopen the thread :)